ID:               25394
 Comment by:       eugene at fsck dot net
 Reported By:      mark dot meredith at shaw dot ca
 Status:           Bogus
 Bug Type:         Reproducible crash
 Operating System: MAC OS 10.2.6
 PHP Version:      4CVS-2003-09-06 (stable)
 New Comment:

I get the same problems with php-4.3.3 built with "--
enable-memory-limit" as recommended, as well as 
"memory_limit = -1" in php.ini.

I ran a simple PHP script that contains 8192 identical 
lines that perform a simple variable assignment:

$x = 1;


My gdb session:
---------------
(gdb) run ~/crash.php
Starting program: /Users/eugene/src/php/php-4.3.3/sapi/cli/
php ~/crash.php
Reading symbols for shared libraries . done

Program received signal EXC_BAD_ACCESS, Could not access 
memory.
execute (op_array=0x134de8) at /Users/eugene/src/php/php-
4.3.3/Zend/zend_execute.c:1027
1027            EX(Ts) = (temp_variable *) 
do_alloca(sizeof(temp_variable)*op_array->T);
(gdb) bt
#0  execute (op_array=0x134de8) at /Users/eugene/src/php/
php-4.3.3/Zend/zend_execute.c:1027
#1  0x000c704c in zend_execute_scripts (type=4231488, 
retval=0x0, file_count=3) at /Users/eugene/src/php/php-
4.3.3/Zend/zend.c:885
#2  0x0009c4ec in php_execute_script (primary_file=0x0) at 
/Users/eugene/src/php/php-4.3.3/main/main.c:1723
#3  0x000d9e34 in main (argc=2, argv=0xbffffc94) at /Users/
eugene/src/php/php-4.3.3/sapi/cli/php_cli.c:818


Mac OS X 10.2.8, build 6R65.

$ uname -v
Darwin Kernel Version 6.8: Wed Sep 10 15:20:55 PDT 2003; 
root:xnu/xnu-344.49.obj~2/RELEASE_PPC 
$ gcc -v
Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs
Thread model: posix
gcc version 3.3 20030304 (Apple Computer, Inc. build 1493)


Previous Comments:
------------------------------------------------------------------------

[2003-09-07 11:28:14] [EMAIL PROTECTED]

[xserver:~/jani/php4] admin% uname -v
Darwin Kernel Version 6.6: Thu May  1 21:48:54 PDT 2003

[xserver:~/jani/php4] admin% sapi/cli/php ../t.php
Allowed memory size of 8388608 bytes exhausted (tried to allocate
14155776 bytes)



------------------------------------------------------------------------

[2003-09-07 01:29:41] mark dot meredith at shaw dot ca

Are you sure you were running this on a Apple Mac OS X box? 
I have tried the memory_limit directive and corresponding 
configure option. Even when set to allow 64MB the script 
still crashes at exactly the same length. I also used no 
memory directive and a memory limit of -1. Everything 
produces the same result at the same point in the script. 
After the report was labeled "Bogus" I got my hands on a 
brand new iBook. Same thing. I have also tried the 
www.serverlogistics.com and www.entropy.ch builds with the 
same crash at the same line.

Thanks again for your time and efforts. I hope this is 
squashable.

------------------------------------------------------------------------

[2003-09-06 19:14:49] [EMAIL PROTECTED]

Can not reproduce with a script that has $x=1 about 500'000 times. Only
thing I get is: 

Allowed memory size of 8388608 bytes exhausted at
/usr/src/web/php/php4_3/Zend/zend_opcode.c:48 (tried to allocate
11796480 bytes)

I suggest you use '--enable-memory-limit' configure option and set the
'memory_limit' directive in php.ini to a reasonable amount. This will
prevent any stupid scripts like this from crashing.



------------------------------------------------------------------------

[2003-09-06 03:50:36] mark dot meredith at shaw dot ca

Description:
------------
I have tested this with the 4.3.2 and 
4.3.3 official releases as well. I have not tried any 
earlier releases. I have tried with the command line or 
as an Apache 1 or Apache 2 module all with the same result.

I used no extensions or modules for the builds in all 
cases.

Apparently the bug does not occur for Windows XP Pro and 
likely 
some other operating systems. I was told this by some users 
of a PHP forum who tried their own test scripts.

The result of memory_get_usage() placed on a script one 
line shorter than the crash length returned around 1MB.

Thank you.

Reproduce code:
---------------
<?php

/*presumably any long script that consumes enough memory will cause the
problem*/

/*this assignment done about 10000 times*/
$x = 1;

?>

Expected result:
----------------
Nothing but a clean run through.

Actual result:
--------------
The backtrace from the STABLE snapshot cli was...

(gdb) bt
#0  0x00183b9c in execute (op_array=0x4e7c58) at /Users/
markmere/Sources/php4-snapshot/Zend/zend_execute.c:1027
#1  0x0016e334 in zend_execute_scripts (type=8, retval=0x0, 
file_count=3) at /Users/markmere/Sources/php4-snapshot/
Zend/zend.c:885
#2  0x001208e0 in php_execute_script 
(primary_file=0xbffff7c0) at /Users/markmere/Sources/php4-
snapshot/main/main.c:1723
#3  0x0018ea84 in main (argc=2, argv=0xbffffd24) at /Users/
markmere/Sources/php4-snapshot/sapi/cli/php_cli.c:819
#4  0x00002564 in _start (argc=2, argv=0xbffffd24, 
envp=0xbffffd30) at /SourceCache/Csu/Csu-45/crt.c:267
#5  0x000023e4 in start ()


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=25394&edit=1

Reply via email to