Re: Download Attachment Out of Memory Error

Jonathan Angliss <[email protected]>
Newsgroups gmane.mail.squirrelmail.devel
Message-ID <[email protected]>
On Wed, 03 Jun 2009 11:34:22 +0100, Daniel Watts <[email protected]>
wrote:

>Trying to download a 22MB rar file from sqirrelmail results in:
>
>  Fatal error: Allowed memory size of 100663296 bytes exhausted (tried 
>to allocate 71 bytes) in 
>/var/www/localhost/webmail/functions/imap_general.php on line 491
>
>
>We tried at 25MB xls file also - had to increase memory allowance to 
>around 200MB to get it to download.
>
>Any ideas why so much memory for a relatively small file?

Oi, why do people insist on emailing such big files :)

bas64 encoding adds about a 3rd on top of the actual files size in
encoding.  So your 25MB file is now about 32MB in raw encoded data.

Now, the cause of the problem is because of how we are fetching the
data from the IMAP server.  We're telling the IMAP server to give us
the object data back to us in a single call, not much we can do about
that, which means the IMAP server is dumping back to us the ~32MB of
encoded data, which we process in chunks and decode.  The problem is,
we're dumping it into a variable to post back to the browser after
it's done, which is where the memory issue comes up.  

I'm skimming over the code to see if we can stream the decoded data
straight back to the browser instead of dumping it to a variable
first.

-- 
Jonathan Angliss
<[email protected]>


------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises 
looking to deploy the next generation of Solaris that includes the latest 
innovations from Sun and the OpenSource community. Download a copy and 
enjoy capabilities such as Networking, Storage and Virtualization. 
Go to: http://p.sf.net/sfu/opensolaris-get
-----
squirrelmail-devel mailing list
Posting guidelines: http://squirrelmail.org/postingguidelines
List address: [email protected]
List archives: http://news.gmane.org/gmane.mail.squirrelmail.devel
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.