From: [EMAIL PROTECTED] Operating system: linux PHP version: 4.2.0 PHP Bug Type: Reproducible crash Bug description: hangs in multithreded environment (ZTS)
If you have bad luck and get termination signal (after exceding max_execution_time limit) in some critical section locks won't be released !!! (because of usage of longjmp function in zend_bailout) eg. when signal come when process is executing malloc in ealloc (Zend/zend_alloc.c) function it won't release internal lock, and shutdown functions that free memory will hang as well as other threads. You probably can prevent it with HANDLE_BLOCK_INTERRUPTIONS macro, but it isn't good solution. I suggest that zend_timeout function should set EG(timed_out) flag, as it is done in windows environment. Flag should be checked in execute function (Zend/zend_execute.c) in main loop. waiting for your patch (my is working, but is ugly coded;-)), Wojtek -- Edit bug report at http://bugs.php.net/?id=16820&edit=1 -- Fixed in CVS: http://bugs.php.net/fix.php?id=16820&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=16820&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=16820&r=needtrace Try newer version: http://bugs.php.net/fix.php?id=16820&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=16820&r=support Expected behavior: http://bugs.php.net/fix.php?id=16820&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=16820&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=16820&r=submittedtwice