|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2007-08-23 09:42 UTC] jani@php.net
[2007-12-02 14:16 UTC] cbimax at gmail dot com
[2007-12-15 21:37 UTC] cbimax at gmail dot com
[2008-10-28 21:46 UTC] jani@php.net
[2008-11-05 01:00 UTC] php-bugs at lists dot php dot net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Nov 02 19:00:02 2025 UTC |
Description: ------------ Any gmp_* function running on PHP 5.2.2-r1 (compiled with GMP extensions), throws after a few invokes "Fatal error: Allowed memory size of <varies from 7M to 8M> bytes exhausted (tried to allocate 16 bytes) in <file.php>". Reproduce code: --------------- for( $i= 0; $i!= 100000; $i++ ) { $node = gmp_init( $i ); $id = gmp_div( $node, '0x100000000' ); $edge = gmp_and( $node, '0xffffffff' ); $vert = gmp_div( $node, '0x1000' ); $path = gmp_and( $node, '0x00ff' ); $str_edge = gmp_strval( $edge ); $str_vert = gmp_strval( $vert ); $str_path = gmp_strval( $path ); echo "Graph -> ($str_edge, $str_vert, $str_path) \n"; } Expected result: ---------------- The iterated procedure runs on PHP 5.1.x (and PHP 5.0.x) near to 1 million times per call. In this case, it's only runs 500 times and then drop the Fatal error. Actual result: -------------- Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 16 bytes) in quixtor/compute-graph-map.php on line 443 (actually line 443 isn't a gmp related function, but it is called under for() iteration which uses GMP functions).