#26665 [WFx]: php crashes with large files and array work (2MB Script File). win32 works.

From: 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

« previous php.bugs (#54689) next »