ID: 16820 User updated by: wmeler at wp-sa dot pl Reported By: wmeler at wp-sa dot pl Status: Closed Bug Type: Scripting Engine problem Operating System: linux PHP Version: 4.3.3RC2-dev New Comment:
What is --worker=MPM ? Did you mean --mpm=worker ? If so, with php4-STABLE-200307280730 I got in error_log (configure options the same as before): [Mon Jul 28 11:41:58 2003] [notice] Apache/2.0.47 (Unix) PHP/4.3.3RC2-dev configured -- resuming normal operations [Mon Jul 28 11:42:28 2003] [notice] child pid 31209 exit signal Segmentation fault (11) [Mon Jul 28 11:42:30 2003] [notice] child pid 31233 exit signal Segmentation fault (11) [Mon Jul 28 11:42:31 2003] [notice] child pid 31252 exit signal Segmentation fault (11) [Mon Jul 28 11:42:33 2003] [notice] child pid 31271 exit signal Segmentation fault (11) Finally I saw the page I requested, but it was after 4 crashes - mozilla tries to reload page if server disconnects without response. Previous Comments: ------------------------------------------------------------------------ [2003-07-25 09:54:09] [EMAIL PROTECTED] This bug has been fixed in CVS. In case this was a PHP problem, snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. In case this was a documentation problem, the fix will show up soon at http://www.php.net/manual/. In case this was a PHP.net website problem, the change will show up on the PHP.net site and on the mirror sites in short time. Thank you for the report, and for helping us make PHP better. Using the latest CVS on Apache 2 with --worker=MPM the attached script works perfectly. IT times out after 1 second and executes the code inside the shutdown function. ------------------------------------------------------------------------ [2003-07-21 04:18:51] wmeler at wp-sa dot pl patches work together http://strony.wp.pl/wp/wmeler/ ------------------------------------------------------------------------ [2003-07-21 03:12:52] [EMAIL PROTECTED] Yes, a patch is always appreciated.. ------------------------------------------------------------------------ [2003-07-21 02:46:15] wmeler at wp-sa dot pl As I said - heap corrupted. backtrace: #0 0x40393966 in _efree (ptr=0x42671030, __zend_filename=0x403e5840 "/tmp/php4-STABLE-200307081130/Zend/zend_execute_API.c", __zend_lineno=291, __zend_orig_filename=0x403e5ca0 "/tmp/php4-STABLE-200307081130/Zend/zend_variables.c", __zend_orig_lineno=44) at /tmp/php4-STABLE-200307081130/Zend/zend_alloc.c:259 #1 0x403a3e18 in _zval_dtor (zvalue=0x81d6018, __zend_filename=0x403e5840 "/tmp/php4-STABLE-200307081130/Zend/zend_execute_API.c", __zend_lineno=291) at /tmp/php4-STABLE-200307081130/Zend/zend_variables.c:61 #2 0x4039b878 in _zval_ptr_dtor (zval_ptr=0x81d60d4, __zend_filename=0x403e5ca0 "/tmp/php4-STABLE-200307081130/Zend/zend_variables.c", __zend_lineno=167) at /tmp/php4-STABLE-200307081130/Zend/zend_execute_API.c:291 #3 0x403a40d2 in _zval_ptr_dtor_wrapper (zval_ptr=0x81d60d4) at /tmp/php4-STABLE-200307081130/Zend/zend_variables.c:167 #4 0x403aa7a3 in zend_hash_destroy (ht=0x81bfa94) at /tmp/php4-STABLE-200307081130/Zend/zend_hash.c:543 #5 0x4039b361 in shutdown_executor (tsrm_ls=0x81aa7f0) at /tmp/php4-STABLE-200307081130/Zend/zend_execute_API.c:186 #6 0x403a546d in zend_deactivate (tsrm_ls=0x81aa7f0) at /tmp/php4-STABLE-200307081130/Zend/zend.c:666 #7 0x40374772 in php_request_shutdown (dummy=0x0) at /tmp/php4-STABLE-200307081130/main/main.c:995 #8 0x403c4923 in php_apache_request_dtor (r=0x81a6830, tsrm_ls=0x81aa7f0) at /tmp/php4-STABLE-200307081130/sapi/apache2handler/sapi_apache2.c:445 #9 0x403c4c4d in php_handler (r=0x81a6830) at /tmp/php4-STABLE-200307081130/sapi/apache2handler/sapi_apache2.c:541 #10 0x808269e in ap_run_handler (r=0x81a6830) at config.c:194 With my patch there are almost no problems. The problem is that shutdown function won't execute - EG(timeout) flag should be cleared before execution of shutdown function. I can correct it if you want. ------------------------------------------------------------------------ [2003-07-21 02:07:48] wmeler at wp-sa dot pl I took few days off. You know - holidays. My config.nice : './configure' \ '--disable-all' \ '--with-apxs2=/usr/local/apache2/bin/apxs' \ '--with-config-file-path=/usr/local/apache2/conf/' \ '--enable-debug' \ "$@" my script: <? function shutdown() { echo strlen($GLOBALS['a']); } set_time_limit(1); register_shutdown_function('shutdown'); while (true) $a.='a'; I use apache 2.0.47 with config.nice: "./configure" \ "--enable-so" \ "--with-mpm=worker" \ "$@" Now I have SIGSEGVs instead of hangs :) - probably longjump hit in the middle of emalloc/erealloc and memory cache is corrupted. I used my own module before, witch uses shared variables and locks - thats why it hanged. Now - without my module it just crashes :). ------------------------------------------------------------------------ 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/16820 -- Edit this bug report at http://bugs.php.net/?id=16820&edit=1