Author |
|
bagu

Joined: 06 Jan 2011 Posts: 193 Location: France
|
Posted: Thu 06 Jan '11 1:05 Post subject: Apache error number 3221225477 |
|
|
Hello,
My apache restart constantly since few days.
I reinstall everythind 3 times now and i can't understand why it restart.
I use apache 2.2.17, php 5.3.4 ts, mysql 5.5.8 and i'm on windows xp pro 32bit.
I use limitipconn and antiloris external modules for apache.
I use php_ice.dll 3.4.1 external module for php.
Here is what happen in logs when it restart :
Code: | [Wed Jan 05 23:51:57 2011] [notice] Parent: child process exited with status 3221225477 -- Restarting.
[Wed Jan 05 23:51:57 2011] [info] mod_unique_id: using ip addr 192.168.1.2
[Wed Jan 05 23:51:58 2011] [notice] mod_antiloris 0.4 started
[Wed Jan 05 23:51:58 2011] [notice] Apache/2.2.17 (Win32) configured -- resuming normal operations
[Wed Jan 05 23:51:58 2011] [notice] Server built: Oct 18 2010 01:58:12
[Wed Jan 05 23:51:58 2011] [notice] Parent: Created child process 1692
[Wed Jan 05 23:51:58 2011] [info] mod_unique_id: using ip addr 192.168.1.2
[Wed Jan 05 23:51:59 2011] [info] mod_unique_id: using ip addr 192.168.1.2
[Wed Jan 05 23:52:00 2011] [notice] mod_antiloris 0.4 started
[Wed Jan 05 23:52:00 2011] [notice] Child 1692: Child process is running
[Wed Jan 05 23:52:00 2011] [info] Parent: Duplicating socket 200 and sending it to child process 1692
[Wed Jan 05 23:52:00 2011] [notice] Child 1692: Acquired the start mutex.
[Wed Jan 05 23:52:00 2011] [notice] Child 1692: Starting 150 worker threads.
[Wed Jan 05 23:52:00 2011] [notice] Child 1692: Starting thread to listen on port 80.
[Wed Jan 05 23:56:26 2011] [notice] Parent: child process exited with status 3221225477 -- Restarting.
[Wed Jan 05 23:56:26 2011] [info] mod_unique_id: using ip addr 192.168.1.2
[Wed Jan 05 23:56:27 2011] [notice] mod_antiloris 0.4 started
[Wed Jan 05 23:56:27 2011] [notice] Apache/2.2.17 (Win32) configured -- resuming normal operations
[Wed Jan 05 23:56:27 2011] [notice] Server built: Oct 18 2010 01:58:12
[Wed Jan 05 23:56:27 2011] [notice] Parent: Created child process 392
[Wed Jan 05 23:56:27 2011] [info] mod_unique_id: using ip addr 192.168.1.2
[Wed Jan 05 23:56:28 2011] [info] mod_unique_id: using ip addr 192.168.1.2
[Wed Jan 05 23:56:29 2011] [notice] mod_antiloris 0.4 started
[Wed Jan 05 23:56:29 2011] [notice] Child 392: Child process is running
[Wed Jan 05 23:56:29 2011] [info] Parent: Duplicating socket 200 and sending it to child process 392
[Wed Jan 05 23:56:29 2011] [notice] Child 392: Acquired the start mutex.
[Wed Jan 05 23:56:29 2011] [notice] Child 392: Starting 150 worker threads.
[Wed Jan 05 23:56:29 2011] [notice] Child 392: Starting thread to listen on port 80.
|
There is no other error message.
I search since 6 day now, can you help me ?
Thanks in advance. |
|
Back to top |
|
glsmith Moderator

Joined: 16 Oct 2007 Posts: 2268 Location: Sun Diego, USA
|
Posted: Thu 06 Jan '11 4:53 Post subject: |
|
|
anything in Windows event log? |
|
Back to top |
|
bagu

Joined: 06 Jan 2011 Posts: 193 Location: France
|
Posted: Thu 06 Jan '11 9:51 Post subject: |
|
|
No, nothing... |
|
Back to top |
|
James Blond Moderator

Joined: 19 Jan 2006 Posts: 7404 Location: EU, Germany, Next to Hamburg
|
Posted: Thu 06 Jan '11 11:06 Post subject: |
|
|
My guess is that a php extension causes this. I don't know this php_ice.dll yet. I think a way to debug that is searching in access log that the crashing time which script is called and see if you reproduce that with less code as possible. Than you / we can firegure out what causes that error. You also should turn on the error logging in your php.ini |
|
Back to top |
|
bagu

Joined: 06 Jan 2011 Posts: 193 Location: France
|
Posted: Thu 06 Jan '11 12:26 Post subject: |
|
|
Without php_ice loaded, the problem still appear.
Php_error is already on, and there is no error in.
I have check access.log and apache error.log and restart happen after random access...So i can't say why restart happen. |
|
Back to top |
|
James Blond Moderator

Joined: 19 Jan 2006 Posts: 7404 Location: EU, Germany, Next to Hamburg
|
Posted: Thu 06 Jan '11 18:46 Post subject: |
|
|
Well I meant
php.ini
Code: |
display_startup_errors = On
log_errors = On
report_memleaks = On
error_log = "C:\Apache22\logs\php_errors.log"
|
Which extension did you also enable? |
|
Back to top |
|
bagu

Joined: 06 Jan 2011 Posts: 193 Location: France
|
Posted: Thu 06 Jan '11 18:47 Post subject: |
|
|
Everything execpt display_startup_errors = On is already ok |
|
Back to top |
|
James Blond Moderator

Joined: 19 Jan 2006 Posts: 7404 Location: EU, Germany, Next to Hamburg
|
Posted: Thu 06 Jan '11 18:49 Post subject: |
|
|
Is there a script called when the server crashes?
Mean error log time --> access log time --> script ? |
|
Back to top |
|
bagu

Joined: 06 Jan 2011 Posts: 193 Location: France
|
Posted: Thu 06 Jan '11 19:03 Post subject: |
|
|
As i said before, there isn't a single script called when it crash and sometimes, it crash when nothing is called.
That's why i post here because i have try every solution i know and every solution i have found on the net. |
|
Back to top |
|
James Blond Moderator

Joined: 19 Jan 2006 Posts: 7404 Location: EU, Germany, Next to Hamburg
|
Posted: Thu 06 Jan '11 21:25 Post subject: |
|
|
If you can't find out what it is you might try to run PHP over mod_fcgid. So when PHP crashes it won't crash your apache and the memory of apache don't increase much. |
|
Back to top |
|
bagu

Joined: 06 Jan 2011 Posts: 193 Location: France
|
Posted: Thu 06 Jan '11 21:27 Post subject: |
|
|
I will try this after an other test : i've upgraded php to 5.3.5 refer to http://bugs.php.net/53632 witch may occur on many of my users scripts.
Thanks for your attention. I will try your test after this if the crash still happen. |
|
Back to top |
|
James Blond Moderator

Joined: 19 Jan 2006 Posts: 7404 Location: EU, Germany, Next to Hamburg
|
Posted: Thu 06 Jan '11 21:38 Post subject: |
|
|
That bug is only when you use that very long float (integer). Won't happen in normal life. But it is always good to update your PHP. |
|
Back to top |
|
bagu

Joined: 06 Jan 2011 Posts: 193 Location: France
|
Posted: Fri 07 Jan '11 14:59 Post subject: |
|
|
Since upgrade, error message has changed...
Nowi have :
Code: | zend_mm_heap corrupted
[Fri Jan 07 13:38:26 2011] [notice] Parent: child process exited with status 1 -- Restarting. |
With a bunch of NUL symbol before.
Here are my apache config file :
http://pastebin.com/WeamrEv9
My php config file :
http://pastebin.com/gXhj52Qp
And my my.ini config file :
http://pastebin.com/ngXHqUDS |
|
Back to top |
|
bagu

Joined: 06 Jan 2011 Posts: 193 Location: France
|
Posted: Thu 17 Feb '11 12:01 Post subject: |
|
|
The problem is still here.
I don't know witch test i can do... |
|
Back to top |
|
James Blond Moderator

Joined: 19 Jan 2006 Posts: 7404 Location: EU, Germany, Next to Hamburg
|
Posted: Fri 18 Feb '11 15:08 Post subject: |
|
|
Sorry for the late reply, hadn't see the other post.
You can disable all extensions in your php.ini, enable one after another and see which apache cashes.
e.g.
from
extension=php_curl.dll
to
;extension=php_curl.dll
Sometimes it is a combination from php modules. it is maybe a bit anoying to enable a module after another and restart apache each time, but it helps to locate the issue.
As told before running PHP over fcgid will prevent apache from crashing even when a script crashes php. |
|
Back to top |
|
bagu

Joined: 06 Jan 2011 Posts: 193 Location: France
|
Posted: Sat 19 Feb '11 12:40 Post subject: |
|
|
Ok, the problem is with php_ice.dll 3.4.1 ( http://www.zeroc.com/ )
And i have no solution for the moment.
Thanks for your help. |
|
Back to top |
|
James Blond Moderator

Joined: 19 Jan 2006 Posts: 7404 Location: EU, Germany, Next to Hamburg
|
Posted: Mon 21 Feb '11 14:48 Post subject: |
|
|
Maybe you ask the guys from zeroc to that problem!?! |
|
Back to top |
|
bagu

Joined: 06 Jan 2011 Posts: 193 Location: France
|
Posted: Mon 21 Feb '11 14:51 Post subject: |
|
|
It will be done after i finished to check if the problem is know by them.
(Their forum is really hard for a beginner) |
|
Back to top |
|
bagu

Joined: 06 Jan 2011 Posts: 193 Location: France
|
Posted: Sun 03 Apr '11 12:01 Post subject: |
|
|
I've done many tests, and i know exactly now where is the problem...
It's related to : http://bugs.php.net/bug.php?id=21613
Because i have this on my script :
Code: | function get_urbanterror_users()
{
$tableau = array();
$magic = "\377\377\377\377";
$pattern = "/$magic" . "print\n/";
$pattern2 = "/$magic" . "statusResponse\n/";
$fp = @fsockopen("udp://192.168.1.2", 27960, $errno, $errstr, 15);
if (!$fp)
{
echo $lang_index['noone'];
} else {
$out = $magic . "getstatus\n";
@fwrite($fp, $out);
$out = fread($fp, 2048);
@fclose($fp);
$out = preg_replace ($pattern, "", $out);
$out = preg_replace ($pattern2, "", $out);
$all = explode( "\n", $out );
for( $i = 1; $i < count($all) - 1; $i++ )
{
$pos = strpos( $all[$i], " " );
$pos2 = strpos( $all[$i], " ", $pos + 1 );
$name = substr( $all[$i], $pos2 + 2 );
$name = substr( $name, 0, strlen( $name ) - 1);
$tableau[] = $name;
}
}
return $tableau;
}
function get_tetrinet_users(){
$tableau=array();
$line = '';
$fp = fsockopen("127.0.0.1", 31457, $errno, $errstr, 15);
if (!$fp)
{
echo $lang_index['noone'];
fclose($fp);
} else {
$out = "listuser".chr(0xFF);
fwrite($fp, $out);
while (true)
{
$char = @fgets($fp, 2);
if ($char != chr(0x0A))
{
$line .= $char;
} else {
if ($line == "+OK")
{
break;
} else {
$chunks = explode(' ', $line, 2);
$tableau[] = substr($chunks[0], 1, strlen($chunks[0])-2);
$line = "";
}
}
}
fclose($fp);
}
return $tableau;
} |
And when i comment their content, apache doesn't restart anymore.
I said that it was php_ice, but it's only because i use it on the same script...And in my tests, i have remove the entire script and dll.
So the only thing i must find (i think), it's a way to use something different than fsockopen. |
|
Back to top |
|