#26665 [WFx]: php crashes with large files and array work (2MB Script File). win32 works.
| From: | fschaper at intux dot org | Date: | Tue, 10 Feb 2004 14:10:16 +0000 |
| Subject: | #26665 [WFx]: php crashes with large files and array work (2MB Script File). win32 works. | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-54689@lists.php.net to get a copy of this message | ||
ID: 26665
User updated by: fschaper at intux dot org
Reported By: fschaper at intux dot org
Status: Wont fix
Bug Type: Reproducible crash
Operating System: *
PHP Version: 4CVS, 5CVS
New Comment:
When I disable max. stacksize via
ulimit -HSs unlimited
everything works out fine (CLI) - run's in ca. 2s on my machine. That
does not affect apache however (ca. 1m) .. but this should not be an
PHP issue I guess.
Previous Comments:
------------------------------------------------------------------------
[2004-02-06 10:54:36] sniper@php.net
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.
------------------------------------------------------------------------
[2004-02-05 20:35:13] pajoye@php.net
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] brianlmoon@php.net
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] sniper@php.net
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.
------------------------------------------------------------------------
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