Hello,

We are running Tomcat 6.0.26 on Windows Server 2008 R2 Enterprise 64 Bit using 
IIS and isapi redirector version 1.2.30 (just upgraded to 1.2.31).  The 6 
months or so we have been using Tomcat  have been plagued with intermittent 
periods crashes and instability.  Specifically, tomcat requests are resulting 
in crashes and the application log shows numerous (over 1200) instances of 
error 1000:
Faulting application name: w3wp.exe, version: 7.5.7600.16385, time stamp: 
0x4a5bd0eb
Faulting module name: ntdll.dll, version: 6.1.7600.16385, time stamp: 0x4a5be02b
Exception code: 0xc0000005
Fault offset: 0x000000000004d174
Faulting process id: 0x1254
Faulting application start time: 0x01cbc19aceedc9cd
Faulting application path: c:\windows\system32\inetsrv\w3wp.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Report Id: 0d413cc2-2d8e-11e0-92d0-005056340288

We installed debug diag on the machine and opened a case with Microsoft since 
it seemed like it was a MS problem.  After opening a case and sending MS 
several dump files for analysis we were told:

We are failing during a call into isapi_redirect64.  It appears to be passing a 
bad value for a critical section to NTDLL (0x00000000`00000003) which in turn 
is causing the Access Violation to occur.


Here is the complete email response from MS with some of the data from the 
dumps:

All of the dumps show the same issue:



Child-SP          RetAddr           Call Site

00000000`019bd040 00000000`7734d0a2 ntdll!RtlpWaitOnCriticalSection+0xb4

00000000`019bd0f0 00000000`6a6d1c41 ntdll!RtlEnterCriticalSection+0xab

00000000`019bd120 00000000`6a6bd40c isapi_redirect64!jk_md5+0x1c1 
00000000`019bd150 00000000`6a6ebbb7 isapi_redirect64!ajp_service+0xb4c

00000000`019bd1e0 00000000`6a6c679a isapi_redirect64!uri_worker_map_open+0x2c7

00000000`019bd240 000007fe`f31bc540 
isapi_redirect64!read_registry_init_data+0x89a

00000000`019be520 000007fe`f31c4007 isapi!ProcessIsapiRequest+0x13c 
00000000`019be580 000007fe`f31bb421 isapi!W3_ISAPI_HANDLER::DoWork+0x4fb

00000000`019be690 000007fe`f31bb964 isapi!RequestDoWork+0x40d 00000000`019be720 
000007fe`f3db2fa7 isapi!CIISHttpModule::OnExecuteRequestHandler+0x1c

00000000`019be760 000007fe`f3db464e 
iiscore!NOTIFICATION_CONTEXT::RequestDoWork+0x233

00000000`019be7a0 000007fe`f3db4465 
iiscore!NOTIFICATION_CONTEXT::CallModulesInternal+0x17f

00000000`019be890 000007fe`f3db5e56 
iiscore!NOTIFICATION_CONTEXT::CallModules+0x25

00000000`019be8e0 000007fe`f3de51bd iiscore!W3_CONTEXT::DoWork+0x3a6 
00000000`019bec00 000007fe`f3de55df 
iiscore!W3_MAIN_CONTEXT::StartNotificationLoop+0x5d

00000000`019bec30 000007fe`f319551e iiscore!W3_CONTEXT::ExecuteRequest+0x2bf

00000000`019becb0 000007fe`f3191060 filter!RequestDoWork+0x40be 
00000000`019bf360 000007fe`f3db6ac1 
filter!CIISHttpModule::OnPostAuthenticateRequest+0x20

00000000`019bf3a0 000007fe`f3db464e 
iiscore!NOTIFICATION_CONTEXT::RequestDoWork+0x20a

00000000`019bf3e0 000007fe`f3db4465 
iiscore!NOTIFICATION_CONTEXT::CallModulesInternal+0x17f

00000000`019bf4d0 000007fe`f3db593d 
iiscore!NOTIFICATION_CONTEXT::CallModules+0x25

00000000`019bf520 000007fe`f3db8ede iiscore!W3_CONTEXT::DoWork+0x326 
00000000`019bf840 000007fe`f3da10d2 iiscore!W3_MAIN_CONTEXT::OnNewRequest+0x1ea

00000000`019bf870 000007fe`f3da109c w3dt!UL_NATIVE_REQUEST::DoWork+0x126

00000000`019bf8d0 000007fe`f4581fba w3dt!OverlappedCompletionRoutine+0x1c

00000000`019bf900 000007fe`f4582024 w3tp!THREAD_POOL_DATA::ThreadPoolThread+0x7a

00000000`019bf950 000007fe`f45820a1 w3tp!THREAD_POOL_DATA::ThreadPoolThread+0x34

00000000`019bf980 00000000`770ff56d 
w3tp!THREAD_MANAGER::ThreadManagerThread+0x61

00000000`019bf9b0 00000000`77333281 kernel32!BaseThreadInitThunk+0xd 
00000000`019bf9e0 00000000`00000000 ntdll!RtlUserThreadStart+0x1d



We are failing during a call into isapi_redirect64.  It appears to be passing a 
bad value for a critical section to NTDLL (0x00000000`00000003) which in turn 
is causing the Access Violation to occur.



This is a TomCat redirector from the Apache Foundation:



0:004> lmvm isapi_redirect64

start             end                 module name

00000000`6a6b0000 00000000`6a714000   isapi_redirect64   (export symbols)       
isapi_redirect64.dll

    Loaded symbol image file: isapi_redirect64.dll

    Image path: D:\isapiRedirect\isapi_redirect64.dll

    Image name: isapi_redirect64.dll

    Timestamp:        Thu Sep 09 18:04:53 2010 (4C895A05)

    CheckSum:         00062701

    ImageSize:        00064000

    File version:     1.2.30.0

    Product version:  1.2.30.0

    File flags:       0 (Mask 3F)

    File OS:          40004 NT Win32

    File type:        1.0 App

    File date:        00000000.00000000

    Translations:     0409.04b0

    CompanyName:      Apache Software Foundation

    ProductName:      Apache Tomcat Connectors project

    InternalName:     isapi_redirect-1.2.30

    OriginalFilename: isapi_redirect-1.2.30.dll

    ProductVersion:   1.2.30

    FileVersion:      1.2.30

    FileDescription:  Apache Tomcat IIS Redirector



You will need to follow up with the vendor of that product for further details 
on what is causing the error.
----end MS response-----------

We have not been able to figure out what is causing this problem.  It is 
intermittent - we have gone as long as a month between incidents and had it 
happen 5 or 6 times in a day.    Searching the list archives we found several 
instances of people with similar problems, but none with solutions.  We also 
found an one issue in ASF Bugzilla which appears similar:
https://issues.apache.org/bugzilla/show_bug.cgi?id=45063
However, we are using the same identity ("ApplicationPoolIdentity") to run all 
of our app pools, so that one doesn't quite match.  We are also on different 
version of windows/IIS.

We have just upgraded the redirector to version 1.2.31.  Based on the change 
log for that version we don't expect that it will fix the problem but we will 
monitor and report if it does.

Any help would be appreciated.

Reply via email to