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

Reply via email to