|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2009-03-31 07:49 UTC] jani@php.net
[2009-04-08 01:00 UTC] php-bugs at lists dot php dot net
[2012-06-11 14:14 UTC] moriyoshi@php.net
-Status: No Feedback
+Status: Open
[2012-06-11 14:14 UTC] moriyoshi@php.net
[2018-01-13 11:34 UTC] nikic@php.net
-Status: Open
+Status: Closed
-Assigned To:
+Assigned To: nikic
[2018-01-13 11:34 UTC] nikic@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 07:00:01 2025 UTC |
Description: ------------ httpd ( Apache 2.2 ) crashes below messages. > httpd in free(): error: recursive call > [notice] child pid XXXXX exit signal Abort trap (6) XXXXX is process id of a httpd child process. Reproduce code: --------------- sorry, I could't repro this bug in another environment. Actual result: -------------- this is backtrace. Program received signal SIGABRT, Aborted. 0x2836b56f in kill () from /lib/libc.so.6 (gdb) bt #0 0x2836b56f in kill () from /lib/libc.so.6 #1 0x2828d27b in raise () from /usr/lib/libpthread.so.2 #2 0x2836a2ab in abort () from /lib/libc.so.6 : #6 0x2830662c in free () from /lib/libc.so.6 #7 0x28617828 in php_error_cb (type=1, error_filename=0x86b1e38 "/usr/home/hossy/public_html/test.php", error_lineno=391, format=0x2874febc "Maximum execution time of %d second%s exceeded", args=0xbfbf7898 "\n") at /usr/ports/lang/php5/work/php-5.2.9/main/main.c:824 : #10 0x282920d3 in sigaction () from /usr/lib/libpthread.so.2 #11 <signal handler called> : #15 0x2830662c in free () from /lib/libc.so.6 #16 0x28644cb5 in zend_mm_mem_malloc_free (storage=0x80a1690, ptr=0xa81c000) at /usr/ports/lang/php5/work/php-5.2.9/Zend/zend_alloc.c:276 : 1. httpd cought SIGPROF in free() because of `max_execution_time' parameter. 2. php_error_cb() called free() 3. free() detected as `recursive call.' in zend_mm_mem_malloc_free(), signal is blocked from HANDLE_BLOCK_INTERRUPTIONS macro. but, apache2handler does't have the function for it. (gdb) p zend_block_interruptions $1 = (void (*)(void)) 0 (gdb) p sapi_module $2 = {name = 0x28759d5d "apache2handler", pretty_name = 0x28759d6c "Apache 2.0 Handler", : block_interruptions = 0, unblock_interruptions = 0, : (gdb) p apache2_sapi_module $3 = {name = 0x28759d5d "apache2handler", pretty_name = 0x28759d6c "Apache 2.0 Handler", : block_interruptions = 0, unblock_interruptions = 0, : in japanese mailing list, I got a patch for this problem. http://ml.php.gr.jp/pipermail/php-dev/2009-March/001453.html