ID: 26665 Updated by: [EMAIL PROTECTED] Reported By: fschaper at intux dot org -Status: Open +Status: Wont fix Bug Type: Reproducible crash Operating System: * PHP Version: 4CVS, 5CVS New Comment:
You're hitting the max number of array elements. This is 'fixed' in PHP5 where there can be more elements in an array. It has nothing to do with the file size. Previous Comments: ------------------------------------------------------------------------ [2004-02-05 20:35:13] [EMAIL PROTECTED] Hello, PHP ""should"" not crash in this case. However I missed your conception of a cache. I suggest you to look at a database, ie sqlite. I hope you do not use this kind of """cache""" too much. pierre ------------------------------------------------------------------------ [2004-02-05 16:34:11] [EMAIL PROTECTED] I can reproduce this at will. It is not a memory issue as I can create the array in code with ease and not crash. I can also split the file into several files and all is ok. It is only when I try to load a large file (~2.8MB for me) that PHP crashes. I provide the following test file that is 4MB+ that crashes every time. http://spidey.dealnews.com/~brianm/php_large_file_crash.php.txt As you will see, I have an early call to exit() in that file. That nor the echo ever happens. I ran this with and without my custom php.ini file. My PHP version info: $ php -v PHP 4.3.4 (cli) (built: Feb 5 2004 16:00:45) (DEBUG) Copyright (c) 1997-2003 The PHP Group Zend Engine v1.3.0, Copyright (c) 1998-2003 Zend Technologies gdb did not give me much: (gdb) run Starting program: /usr/local/bin/php php_large_file_crash.php.txt Program received signal SIGSEGV, Segmentation fault. execute (op_array=0x8221834) at /usr/src/apache/php-4.3.4/Zend/zend_execute.c:1071 1071 zend_clean_garbage(TSRMLS_C); We generate large amounts of cached arrays in files. This is the first time this has happened as far as I know. ------------------------------------------------------------------------ [2003-12-30 10:26:38] [EMAIL PROTECTED] Does not crash for me. And the example script is pretty useless anyway, you really should be using error_reporting = E_ALL once.. ------------------------------------------------------------------------ [2003-12-22 07:59:26] fschaper at intux dot org This Bug can be repoduduced under Window's as well, only the file-size has to be larger (will depend on system memory etc.). I have tried it with an 8MB version (might as well take less than that) of the script (the one I added the link to) and PHP crashes under Windows as well. ------------------------------------------------------------------------ [2003-12-19 09:59:05] fschaper at intux dot org This time I ran the script via the shell without apache (gdb) bt #0 0x0811f8f6 in execute (op_array=0x819841c) at /usr/src/debug/php4-STABLE-200312191430/Zend/zend_execute.c:1758 #1 0x0810fa28 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /usr/src/debug/php4-STABLE-200312191430/Zend/zend.c:884 #2 0x080ed1d3 in php_execute_script (primary_file=0xbffffcf8) at /usr/src/debug/php4-STABLE-200312191430/main/main.c:1729 #3 0x08125eb3 in main (argc=2, argv=0xbffffd74) at /usr/src/debug/php4-STABLE-200312191430/sapi/cgi/cgi_main.c:1578 (gdb) frame 0 #0 0x0811f8f6 in execute (op_array=0x819841c) at /usr/src/debug/php4-STABLE-200312191430/Zend/zend_execute.c:1758 1758 ALLOC_ZVAL(valptr); ------------------------------------------------------------------------ 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 http://bugs.php.net/26665 -- Edit this bug report at http://bugs.php.net/?id=26665&edit=1