Author |
|
salmon318
Joined: 01 May 2008 Posts: 14
|
Posted: Thu 01 May '08 15:23 Post subject: An unhandled win32 exception occurred in httpd.exe |
|
|
I have been running Apache 1.3.x for 5 years on Windows without any problem and recently upgraded to 2.2.8 (officialy Release), but after running it for several 1-2 days, and got this in event log:
"An unhandled win32 exception occurred in httpd.exe [1560]. Just-In-Time debugging this exception"
"Unhandled exception at 0x006e9b5d in httpd.exe: 0xC0000005: Access violation reading location 0x0a6bf660"
So I looked everywhere and found that people said that Apache Lounge version of Apache is very stable, so I gave it a try. According to the instructions, I installed VC++ 2008 redist and replaced all files from the zip file. After running for 10 hours, another error showed up in the event log.
"An unhandled win32 exception occurred in httpd.exe [1640]. Just-In-Time debugging this exception failed with the following error: Debugger could not be started because no user is logged on"
The behavior: Although there is an error, it doesn't stop/crash the web server though, and the web sites are still up and running.
Configurations: (on Microsoft Virtual Server R2)
Windows 2003 with SP2
SQL 2005 with SP2 + Reporting Service
Apache Lounge version 2.2.8
MYSQL 5.0.51a
PHP 5.2.5
Visual Studio 2005 (for some odd reason, it was on the Server)
Applications - we haven't changed any code since Apache 1.3.x
Wordpress 2.5.1 (using MYSQL)
Custom Web Site (using SQL 2005)
Coppermine 1.4.13 (using MYSQL)
PHPWCMS to 1.3.3 (using MYSQL)
PHPMYADMIN (using MYSQL)
I have only couple of web sites on the server and don't have too much load, probably most of them are search engine hits.
Any help is really appreciated..
Thanks
- Sa |
|
Back to top |
|
Steffen Moderator
Joined: 15 Oct 2005 Posts: 3092 Location: Hilversum, NL, EU
|
Posted: Thu 01 May '08 16:13 Post subject: |
|
|
Any indication in the Apache error.log and/or php.log ? |
|
Back to top |
|
salmon318
Joined: 01 May 2008 Posts: 14
|
Posted: Thu 01 May '08 17:11 Post subject: |
|
|
I checked Apache raw log, there is nothing seems related to the error at the specific time.
However, I don't have php log enabled, I will do it and let it run for another day. |
|
Back to top |
|
Steffen Moderator
Joined: 15 Oct 2005 Posts: 3092 Location: Hilversum, NL, EU
|
Posted: Thu 01 May '08 18:31 Post subject: |
|
|
Strange, there should be some in the Apache error.log when this happens.
Because you site is still running, I think Apache has restarted.
Also nothing more in the Windows Event viewer ?
Steffen |
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7373 Location: Germany, Next to Hamburg
|
Posted: Thu 01 May '08 18:33 Post subject: |
|
|
With installed Visual Studio I had many trouble to run apache on win2k3 SP1. Only a reinstallation helped. For some unknown reason the debugger changes the system side in a way I don't know. |
|
Back to top |
|
salmon318
Joined: 01 May 2008 Posts: 14
|
Posted: Thu 01 May '08 19:42 Post subject: |
|
|
So... that may be caused by VS 2005? arr... Should I uninstall VS 2005? or should I re-install Vs2005? Honestly speaking, it shouldn't be there in the first place.
For Event Log, and apache error log, there is no sign of Apache restarting at all.
Any suggestions is appreciated. |
|
Back to top |
|
Steffen Moderator
Joined: 15 Oct 2005 Posts: 3092 Location: Hilversum, NL, EU
|
Posted: Thu 01 May '08 19:53 Post subject: |
|
|
Advise is uninstall any Visual Studo on your server.
Only you have to install are the needed VC++ redist.
Steffen |
|
Back to top |
|
salmon318
Joined: 01 May 2008 Posts: 14
|
Posted: Sun 04 May '08 5:46 Post subject: |
|
|
I uninstalled VS 2005 from the server, after running for 20 hours, the win32 httpd.exe problem comes back.
Now, in my Apache error.log, I see something saying "child process exited with status 0 -- Restarting". Does it mean that Apache had restarted? but it is not "restarting" on the NT service level.
So.. how do I further debug this? Any help is appreciated.
[Sat May 03 01:54:16 2008] [notice] Parent: child process exited with status 0 -- Restarting.
[Sat May 03 01:54:18 2008] [notice] Apache/2.2.8 (Win32) configured -- resuming normal operations
[Sat May 03 01:54:18 2008] [notice] Server built: Mar 8 2008 14:15:40
[Sat May 03 01:54:19 2008] [notice] Parent: Created child process 3764
[Sat May 03 01:54:19 2008] [notice] Child 3764: Child process is running
[Sat May 03 01:54:19 2008] [notice] Child 3764: Acquired the start mutex.
[Sat May 03 01:54:19 2008] [notice] Child 3764: Starting 250 worker threads.
[Sat May 03 01:54:20 2008] [notice] Child 3764: Starting thread to listen on port 80. |
|
Back to top |
|
Steffen Moderator
Joined: 15 Oct 2005 Posts: 3092 Location: Hilversum, NL, EU
|
Posted: Sun 04 May '08 10:48 Post subject: |
|
|
It's a well known issue and discussed here more. PHP (special its extension modules) is mostly bloating the server when PHP runs as module.
It is advised to try to run php with mod_fcgid (Fastcgi)
There are advantages to running PHP with FCGI. Separating the PHP code from the web server removes 'bloat' from the main server, and improves the performance of non-PHP requests. Secondly, having one permanent PHP process as opposed to one per apache process means that shared resources like persistent MySQL connections are used more efficiently. And maybe even more important is stability, php is not shutting down or restarting Apache anymore.
You can also try upgrading your php to the latest 5.2.6, there a some memory leak fixes.
Steffen |
|
Back to top |
|
salmon318
Joined: 01 May 2008 Posts: 14
|
Posted: Wed 07 May '08 16:12 Post subject: |
|
|
Running FastCGI + eAccelerator seems to be much more stable now. Thank you very much. But performance wise, it seems slower than running as module. That's okay, I want it to be more stable. |
|
Back to top |
|