[progress Communities] [progress Openedge Abl] Forum Post: Unable To Allocate Memory For...

Status
Not open for further replies.
J

jbijker

Guest
Hi everyone We're hitting an interesting "Unable to allocate memory for result from BASE64-ENCODE function (12118)" error when doing the following operation: METHOD PUBLIC LOGICAL storeDocument (INPUT ipcDocumentFilename AS CHARACTER) DEFINE VARIABLE mDocument AS MEMPTR NO-UNDO. DEFINE VARIABLE cDocument AS LONGCHAR NO-UNDO. FILE-INFO:FILENAME = ipcDocumentFileName. SET-SIZE(mDocument) = FILE-INFO:FILE-SIZE. COPY-LOB FROM FILE ipcDocumentFilename TO mDocument NO-CONVERT. ASSIGN cDocument = BASE64-ENCODE(mDocument). .... store cDocument somewhere on a repository ... FINALLY: SET-SIZE(mDocument) = 0. END FINALLY. END METHOD. This method normally works without any issue. But we had an interesting case where the input file was almost 600MB and in this case it's failing on the BASE64-ENCODE function with the error as above. We've reproduced this on Unix 64-bit and Windows 32-bit (OE11.3). In both instances there were plenty of memory available, below is for the Unix box: free -m total used free shared buffers cached Mem: 48297 48197 100 0 13 18584 -/+ buffers/cache: 29600 18697 Swap: 16386 16386 0 Any ideas how to get past this?

Continue reading...
 
Status
Not open for further replies.
Top