#36853 [Com]: Worker process crashes after application pool recycle
| From: | sdavey at datalink dot com dot au | Date: | Sun, 11 Jan 2009 23:27:37 +0000 |
| Subject: | #36853 [Com]: Worker process crashes after application pool recycle | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-132762@lists.php.net to get a copy of this message | ||
ID: 36853
Comment by: sdavey at datalink dot com dot au
Reported By: kleef84 at hotmail dot com
Status: No Feedback
Bug Type: IIS related
Operating System: Windows Server 2003 SP1
PHP Version: 5CVS-2006-03-24 (CVS)
New Comment:
There have been a few bugs reported for this issue over a few years,
and the most current and active one seems to be Bug #38111. I suggest
everyone head over there and votes for it.
It is also open and awaiting a backtrace. The problem appears that the
crash is not directly the result of PHP code being executed, but rather
the result of IIS cleaning up worker proccesses with PHP ISAPI running
in them and DEP preventing some code execution at that time. This makes
generating a backtrace difficult, and thus the bug has been around for a
number of years.
To help people with this issue, a number of workarounds have been
discovered over the years:
- Add w3wp.exe to DEP exclusion list
- Turn off process recycling in IIS
- Use FastCGI rather than ISAPI
Previous Comments:
------------------------------------------------------------------------
[2007-05-24 17:44:21] linhardt at aol dot com
I have this problem too, but it has nothing to do with PHP as I'm
running ASP.NET.
My environment is:
MS Windows 2003 Server + SP2
IIS 6.0.3790.3959
.NET 2.0.50727
I get both:
Faulting application w3wp.exe, version 6.0.3790.1830, faulting module
unknown, version 0.0.0.0, fault address 0x01bba980.
and
Data Execution Prevention Microsoft Windows
To help protect your computer, Windows has closed this program.
Name: IIS Worker Process
Publisher: program publisher
------------------------------------------------------------------------
[2006-10-18 01:32:46] kamikazie at comcast dot net
I've noticed this error, too, but only after a PHP page has been
loaded.
Same basic setup as most, Server 2003, IIS 6, PHP 5.1.4, painstakingly
followed the setup instructions.
Now a webpage that loads only HTML does not give this error. When I
load a page that calls PHP, it throws this error about 5 to 10 minutes
after the first page is loaded.
------------------------------------------------------------------------
[2006-07-12 14:25:19] ferrante at aracnet dot com
Windows 2003 Server, IIS6, .NET 1.1 & .NET 2.0,
php5.2-win32-200607120630 from the snapshots. (Fully Microsoft patched
Windows 2003 server machine).
Even with all PHP dynamic extensions turned off, crash occurs during
IISreset or w3svc service restart.
Event as it appears in event log:
Event Type: Error
Event Source: Application Error
Event Category: (100)
Event ID: 1000
Date: 07/12/2006
Time: 06:26:45
User: N/A
Computer: COMPUTER-NAME
Description:
Faulting application w3wp.exe, version 6.0.3790.1830, faulting module
unknown, version 0.0.0.0, fault address 0x01bba980.
For more information, see Help and Support Center at
http://go.microsoft.com/fwlink/events.asp.
Data:
0000: 41 70 70 6c 69 63 61 74 Applicat
0008: 69 6f 6e 20 46 61 69 6c ion Fail
0010: 75 72 65 20 20 77 33 77 ure w3w
0018: 70 2e 65 78 65 20 36 2e p.exe 6.
0020: 30 2e 33 37 39 30 2e 31 0.3790.1
0028: 38 33 30 20 69 6e 20 75 830 in u
0030: 6e 6b 6e 6f 77 6e 20 30 nknown 0
0038: 2e 30 2e 30 2e 30 20 61 .0.0.0 a
0040: 74 20 6f 66 66 73 65 74 t offset
0048: 20 30 31 62 62 61 39 38 01bba98
0050: 30 0
Visual Studio 2005 Debugger gives this for the stack trace:
*1 01bba980()
2 msvcrt.dll!__endthread()
3 kernel32.dll!_BaseThreadStart@8()
WinDBG gives this:
<Unloaded_php5ts.dll>+0x26a980
msvcrt!endthread+0xab
kernel32!GetModuleFileNameA+0xeb
the Debug Diagnostic Tool gives this
Function Arg 1 Arg 2 Arg 3 Source
<Unloaded_php5ts.dll>+26a980 01782ee8 00000000 00000000
msvcrt!endthread+ab 02108c80 00000000 00000000
kernel32!GetModuleFileNameA+eb 77bcb35a 02108c80 00000000
------------------------------------------------------------------------
[2006-07-12 09:54:10] ferrante at aracnet dot com
These are related issues that seem to be describing the same problem:
Bug #33373 IIS worker Process continually restarts
Bug #37575 Faulting application w3wp.exe
Bug #35263 Crash during IIS Restart
Adding the w3wp.exe process to the DEP exception list will also mask
the problem.
------------------------------------------------------------------------
[2006-05-28 17:42:23] sschefer at scheferonline dot net
Deeper investigation of the problem indicates that the reason you are
now getting this is because of .NET 2.0. In verison 1.0 and 1.1 it did
not throw this exception because it was set to ignore it. If you don't
have any security issues, you could probably just ignore them and be
O.K. That would not be my choice.
The solution is to recompile the DLL's (all of them) with Visual Studio
8. This will then correctly place them within the scope of the IIS
authorized extension list.
Workaround, back level your server to .NET 1.0 and do not apply any of
the security patches. Once done, test and then start applying the
security patches. Test each one don't just download them all install
them.
In a previous post my suggestion of proper ordering does work but it is
exremely tedious and not something you want to endure everytime you add
or remove functionality.
------------------------------------------------------------------------
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/36853
--
Edit this bug report at http://bugs.php.net/?id=36853&edit=1