#26771 [Com]: register_tick_funtions crash under threaded webservers

From: Date: Tue, 18 Apr 2006 19:58:56 +0000
Subject: #26771 [Com]: register_tick_funtions crash under threaded webservers
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-95955@lists.php.net to get a copy of this message
 ID:               26771
 Comment by:       motin at demomusic dot nu
 Reported By:      info at tphnet dot com
 Status:           Suspended
 Bug Type:         *General Issues
 Operating System: * (ZTS only!)
 PHP Version:      6CVS, 5CVS, 4CVS
 Assigned To:      rasmus
 New Comment:

I do not have the skills to dig into the appropriate code,
unfortunately. 

Possible workarounds:

1. Switch to Linux :) - If not wholly, do it by installing the free
VMWare GSX Server and build up a server in there. Recommended because
learning how to configure a Linux server is a great skill that all
php-developers will gain on learning. 

2. PHP in cgi-mode is not affected, only php when running as an
apache_module. I wanted to use ticks only for debugging purposes, and
what I did while on windows was to configure httpd.conf so that
accessing my site on port 85 would run php in cgi-mode instead of as a
module. 

Here is a simplified section of my httpd.conf for this:

# Make sure no modules are loaded before VirtualHost-containers

Listen 80

<VirtualHost *:80>


 LoadFile "/Dev/Server/php5/php5apache2.dll"

 LoadModule php5_module "/Dev/Server/php5/php5apache2.dll"

 AddType application/x-httpd-php .php


 DocumentRoot /path

 ServerName localhost

<IfModule mod_php5.c>

 php_admin_value display_errors 0

 php_admin_value error_reporting 7

</IfModule>


</VirtualHost>



Listen 83


<VirtualHost *:83>

 RemoveType .php 

 Action     php5-script "/php/php-cgi.exe"

 AddHandler php5-script .php


 DocumentRoot /path

 ServerName localhost


 # php_admin_value and php_value is not possible in cgi-mode. These
values has to be entered in php.ini

 # This section I found when trying to configure this myself back then.
Do not know if it is needed
 # <Directory /path/to/php/>

 #  Options +ExecCGI +FollowSymLinks

 #  AllowOverride None

 #  Order allow,deny

 #  Allow from all

 # </Directory>



</VirtualHost>



Cheers!


Previous Comments:
------------------------------------------------------------------------

[2005-08-10 20:02:22] rasmus@php.net

You are probably right that the tick stuff is broken in ZTS mode.  But
I doubt anybody is all that interested in fixing it as it is a very
fringe feature in a very fringe environment.  You can always hope, but
chances are you will need to dig into the code yourself and send us a
patch to get any movement on this.

------------------------------------------------------------------------

[2004-01-02 19:23:33] info at tphnet dot com

Description:
------------
While searching the bug database I found some similar problems, but all
were suspended. I wasn't sure if it was useful to reply to one of those
(Most recent one: http://bugs.php.net/bug.php?id=26286). Well anyways,
here goes:

The problem is very simple. I just copy and paste the 'tick' example
from the php manual into a new php file an try to execute it on my
apache2 server.
The apache child process crashes, restarts, crashes, restarts and
eventually just stops restarting. When I comment out the line
'register_tick_function', everyting works just fine.
Also, when I start the file from the CLI version of PHP it is executed
without any problems.

I'm using PHP 4.3.4 and Apache 2.0.48 (in conjunction with
php4apache2.dll).

Reproduce code:
---------------
http://nl.php.net/manual/en/control-structures.declare.php

See Example 11-1

Actual result:
--------------
[Sat Jan 03 01:11:04 2004] [notice] Parent: child process exited with
status 3221225477 -- Restarting.
[Sat Jan 03 01:11:04 2004] [notice] Parent: Created child process 3036
[Sat Jan 03 01:11:04 2004] [notice] Child 3036: Child process is
running
[Sat Jan 03 01:11:04 2004] [notice] Child 3036: Acquired the start
mutex.
[Sat Jan 03 01:11:04 2004] [notice] Child 3036: Starting 250 worker
threads.

Small snippit from my apache2 error.log. It's filled with the above
lines, the status code is the same for every restart.


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=26771&edit=1


Thread (31 messages)

« previous php.bugs (#95955) next »