#21040 [Opn->Fbk]: max_execution_time ignored

From: Date: Mon, 16 Dec 2002 16:51:58 +0000
Subject: #21040 [Opn->Fbk]: max_execution_time ignored
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-27865@lists.php.net to get a copy of this message
ID: 21040 Updated by: iliaa@php.net Reported By: alain@cscoms.net -Status: Open +Status: Feedback Bug Type: Apache2 related Operating System: Solaris x86 2.7 PHP Version: 4.4.0-dev New Comment: Sounds like some is taking over the handler for the SIGPROF and it never gets to PHP. Besides PHP, what modules/extensions do you have enabled in your Apache? Previous Comments: ------------------------------------------------------------------------ [2002-12-16 06:44:11] alain@cscoms.net Works on FreeBSD 4.x (with unmodified PHP source). So it's kind of Solaris-specific (will test on Sparc) ------------------------------------------------------------------------ [2002-12-16 05:12:57] alain@cscoms.net [oops, posted this as "add comment" because I hadn't read the direction to use "edit submission" instead yet --sorry] Just out of curiosity, and admittedly not quite understanding what I was doing, I have tried changing the zend_set_timeout code to use SIGALRM instead of SIGPROF and thus pass ITIMER_REAL to setitimer instead of ITIMER_PROF Guess what? It works now. I understand that this can have nasty side effects. I was just wondering why SIGPROF was being used and if this could be the reason. The setitimer man page on Solaris says a lot of things about using it in MT environment which I don't quite catch :-) ------------------------------------------------------------------------ [2002-12-16 05:09:03] alain@cscoms.net Just out of curiosity, and admittedly not quite understanding what I was doing, I have tried changing the zend_set_timeout code to use SIGALRM instead of SIGPROF and thus pass ITIMER_REAL to setitimer instead of ITIMER_PROF Guess what? It works now. I understand that this can have nasty side effects. I was just wondering why SIGPROF was being used and if this could be the reason. The setitimer man page on Solaris says a lot of things about using it in MT environment which I don't quite catch :-) ------------------------------------------------------------------------ [2002-12-16 05:08:07] sniper@php.net reopened..(please don't add comments to your own bug report, use the 'Edit Submission' and change the status to open when you give feedback.) ------------------------------------------------------------------------ [2002-12-16 04:47:49] alain@cscoms.net Just tried with php4-200212160830 (4.4.0-dev): same, the script never exits. I'm compiling this on Solaris 2.7/SPARC and FreeBSD 4.5 to see how much O/S & platform specific this problem is. I've added a zend_printf("zend_timeout<BR>\n"); to zend_timeout() (Zend/zend_execute_API.c). I can see the message in the browser when timeout works (like when running in Apache 1.3) but not when it doesn't (although my loop.php script now exits after a huge for loop so that I can see the page output). So I presume that the signal triggered by setittimer in zend_set_timeout() is never delivered. Thanks for the impressively fast reply! ------------------------------------------------------------------------ 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/21040 -- Edit this bug report at http://bugs.php.net/?id=21040&edit=1

« previous php.bugs (#27865) next »