[RCD] Image resizing - Memory exhaustion

Rosali myroundcube at mail4us.net
Sat May 17 11:59:13 CEST 2014


>>> Allowed memory size of 67108864 bytes exhausted (tried to allocate 
>>> 19276
>>> bytes) in
>>> /var/***masked***/roundcubemail-1.0.1/program/lib/Roundcube/rcube_image.php
>>> on line 164
>>> 
>>> Result: Image display fails.
>>> 
>>> IMO there should be a check/limitation not to pass large images to 
>>> GD.
>>> Do any others have such issues?
>> 
>> Yes. Maybe we could calculate somehow memory requirement of the image
>> and skip conversion or add a configuration option specifying max image
>> size. In both cases if we skip image conversion we should probably
>> display some nice fallback thumbnail image.
>> 
>> ps. You can configure Roundcube to use ImageMagick instead of GD
> 
> the problem is *not* large images, the problem is that some even small
> images compressed with insane algorithms needs a lot of temporary RAM
> 
> there is no way to catch that on the PHP side except raise the limits
> 

May be a workaround is to call resized images by an AJAX request and if 
the request errors out to use a fallback without passing things to GD. 
Another question is what to do with logging. I would prefer to supress 
the error log entry in this case.




More information about the dev mailing list