I am in the process of loading several batches via the CSV import. All was fine until my umpteenth load when I got the following error message:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 4294952715 bytes) in /home/oberlinw/public_html/omeka/application/libraries/Zend/File/Transfer/Adapter/Abstract.php on line 1308
Can you explain what's going on and how can I resolve it? My batches have been various sizes up to as much as 500 items. Now I can only load about 31 records at a time without bumping into that error message. I have lots more records to load and would rather load them hundreds at a time. HELP!
That looks like it is failing trying to upload a very large file. If you have the entire trace of details below that error message, that'll help confirm that (or point to another problem).
If that's the case, it probably isn't a matter of how many items are in the batch, but just the size of a particular file for one of the items. Increasing the memory limit in your php.ini file might help, if your server admin will allow it.
Thank you for responding so quickly. Where do I get the "entire trace of details". I copied all that was there. Is there another place to look? By the way I attempted to load 436 items and got the message; then I attempted two hundred, one hundred and finally 31 items when no error displayed. I have so much more to load (7000 items not all with images)and was hoping to get it all done this week. Any help you can provide is definitely appreciated. Thank you.
That varies a little bit by where the error occurs. If you turn on error logging, there might be additional details in the error.log file if you try it again.
Aside from the increase in memory limit on the server configuration, if it is possible to separate out batches that include images from those that don't, that will likely keep progress uploading moving forward. Big batches without image uploads are less likely to cause this, so more can get in while we figure out if it is a problem image.
The message says "tried to allocate 4294952715 bytes." That's 4 gigabytes of memory, which is going to be excessive under any memory limit setting or size of CSV.
What's likely happening here is that you have one problematic file that's corrupt or otherwise a little "off." The place where this memory is running out is when Zend Framework tries to detect what type of file got uploaded. If you can narrow it down to one file that causes the problem, you should be able to re-save or otherwise "fix" the file.
Thank you John and Patrick. I started to do as Patrick suggested earlier i.e. loaded all the metadata only records -- that went smoothly but there were only 54 of them. Now I am in the process of loading subsets of batch that contain images. At the point when I get the error message I will know where to look for the problem image. Thank you both very much. I will let you know how it turns out.
Hello again John and Patrick,
Here is what took place. When I loaded in smaller batches I no longer received the error message. However, two records were skipped during one of the loads. I attempted to load these two records alone using the CSV and they were skipped again. Ultimately, I uploaded the files manually and that went well. Thank you.
Sometimes it is a struggle, but glad it sounds like it all (all 7000!) got loaded.
A note to others encountering this problem:
It looks like this was caused by a bug in PHP. The bug should be fixed by updates to PHP 5.4, 5.5, and 5.6, versions 5.4.40, 5.5.24, and 5.6.8, respectively.