Re: Help Debugging Windows Server 2003 Win32 + Apache2.2 + mod_perl + Activestate Pelr 5.8.8 ErrorID 26
André Warnier <[email protected]>
| Newsgroups | gmane.comp.apache.mod-perl |
|---|---|
| Message-ID | <[email protected]> |
Q1 : are you running Apache as a Windows Service ? Q2 : if yes, in the Service properties, is the "allow service to interact with the desktop" checkbox checked ? Q3 : still if yes, under what user-id ? is it "Local System", or another local user, or a domain user ? Q4 : for such an error, there should be some message in the Windows Event Logs. What does it say there ? HappyPerlUser wrote: > Hi I'm trying to debug a persistent error that we've had for a long time, but > has now become acute. > > We always "use strict" and do extensive testing, but this problem has eluded > us so far. > > Every now and again (4 or 5 times per day) a process would error with a > Windows Error 26 generating a Windows Error Reporting Popup on a terminal > server console. The user data and process looks like it has completed > without any error at the Perl and DB level: it's only the garbage collection > that's showing an error. > > In the past this wasn't so bad, as the Apache2 process died and could be > restarted and no harm was done. Now that the code has been moved from a real > to a virtual server (which is allegedly identical but clearly isn't) the > httpd.exe process is hanging awaiting user input to confirm the error popup > window before terminating. > > We have searched high and low and tried all sorts of registry hacks. > > We've also written more watchdog code to regularly fetch pages from the > server and if they time out to call taskkill to recycle the process, which > although it works, isn't ideal. > > Question 1) Does anyone have a reliable way of ignoring this Windows popup > error and letting the httpd.exe process terminate silently so that our > standard process watchdog can restart it? > > > We have also been looking at the output of a crash dump that we triggered > manually with MS userdump.exe. We already have symbols files for Apache2, > other modiles and mod_perl installed. The error is occurring during a string > copy during the general destructor process of mod_perl after our code has > successfully completed. > > Although the Windows error is clearly being triggered by mod_perl, we > suspect that the root cause lies much deeper and is probably something to do > with win32::OLE and not being thread safe. > > We can't find any symbols files for perl itself. > > Question 2) Can anyone tell us how to reliably dump trace information at the > perl level so we can trace precisely which perl program (and hopefully which > subroutine or method) is triggering the problem? > > Again we've searched high and low for a perl58.pdb and perl.pdb symbol table > for the Activestate Perl build but we cannot find one anywhere. Would this > mean we have to recompile our own custom Perl kernel to get this info? If so > that would be a real pain,as then we would have altered something on the > core system. > > So can anyone point me at a ready built version of symbol tables > (perl58.pdb) for Activestate Perl Win32? > > If you have any other constructive tips for how to dig into this further, > please share. > > Thanks