Bug #64511 [Com]: Strange memory allocation error message spamming

From: Date: Sat, 26 Apr 2014 10:13:37 +0000
Subject: Bug #64511 [Com]: Strange memory allocation error message spamming
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-185454@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=64511&edit=1 ID: 64511 Comment by: kaido at tradenet dot ee Reported by: psiek at mscgva dot ch Summary: Strange memory allocation error message spamming Status: Open Type: Bug Package: MSSQL related Operating System: ubuntu 12.10 PHP Version: 5.4.13 Block user comment: N Private report: N New Comment: it's most probably caused by https://bugs.php.net/bug.php?id=67130 Previous Comments: ------------------------------------------------------------------------ [2014-04-08 13:54:26] d dot vergini at gameprog dot it same problem here with php 5.4.4-14! false positive, and the query is executed correctly... please note that "tried to allocate 140429927214120 bytes" is something like 127,5 terabytes... usually bytes exhausted errors try to allocate much smaller memory this is weird... ------------------------------------------------------------------------ [2013-11-22 07:29:18] psiek at mscgva dot ch Good morning, We have tested with 5.4.21 and that does not the trick, we still have memory allocation messages. Regards, ------------------------------------------------------------------------ [2013-11-20 21:08:40] gordon dot stratton at gmail dot com We experienced this problem on PHP 5.4.4, but it was fixed by upgrading to 5.4.21. ------------------------------------------------------------------------ [2013-07-31 14:30:42] psiek at mscgva dot ch Hi, I just added memory_get_usage and memory_get_peak_usage to my script and here is the result: [31-Jul-2013 16:20:56 Europe/Zurich] Script start [31-Jul-2013 16:20:56 Europe/Zurich] Memory Get Usage: 524288 [31-Jul-2013 16:20:56 Europe/Zurich] Memory Peak Usage: 524288 [31-Jul-2013 16:20:56 Europe/Zurich] Script end [31-Jul-2013 16:20:56 Europe/Zurich] PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 140188914343656 bytes) in Unknown on line 0 The problem comes after script execution. Perhaps there is a problem with freeing object in memory? Any idea? ------------------------------------------------------------------------ [2013-07-31 01:33:32] yohgaki@php.net [Mon Mar 25 08:53:55 2013] [error] [client x.x.x.x] PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 140429927214120 bytes) in Unknown on line 0, referer: This log indicates that you have been exhausted available memory. (512MB) When you get query result from your db server, records are stored in memory which is not managed by PHP. If you do do { $rowset = $query->fetchAll(PDO::FETCH_ASSOC); if ($rowset) { $RecordsetFields[] = $rowset; } } while ($query->nextRowset()); Then results are stored in PHP managed memory. I wander why your script works(?) even with the memory exhaustion error. Are you sure that query result fit in your PHP managed memory? How many records are there? and what the size of each record? Could you use memory_get_usage() http://jp2.php.net/manual/en/function.memory-get-usage.php in the "do" loop to see memory usage of your script and report the result back? ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=64511 -- Edit this bug report at https://bugs.php.net/bug.php?id=64511&edit=1

« previous php.bugs (#185454) next »