Re: Application hangs in IIS6 not in IIS5 isolation mode

From: Pat [MSFT] (patfilot_at_online.microsoft.com)
Date: 07/10/04


Date: Fri, 9 Jul 2004 23:14:32 -0700

The hang is caused b/c the ASP threads are trying to marshal to thread c40:

Thread ID: 15
System Thread ID: c40
Kernel Time: 0:0:2.31
User Time: 0:0:7.734
*** ERROR: Symbol file could not be found. Defaulted to export symbols for
C:\wopac\DLL\WebbOPAC\430\olgsr430debug_e.dll -
*** ERROR: Symbol file could not be found. Defaulted to export symbols for
C:\wopac\DLL\WebbOPAC\430\web430test.dll -
Thread Type: ASP
Executing Page: Unable to locate ASP page

 # ChildEBP RetAddr
00 025e7004 77f4262b SharedUserData!SystemCallStub+0x4
01 025e7008 77e418ea ntdll!NtDelayExecution+0xc
02 025e7070 0314e2dd kernel32!SleepEx+0x68
WARNING: Stack unwind information not available. Following frames may be
wrong.
03 025e7150 0314e497 olgsr430debug_e!DllCanUnloadNow+0x1cfa77
04 025e7190 0302efbc olgsr430debug_e!DllCanUnloadNow+0x1cfc31
05 025e72f0 02fa8205 olgsr430debug_e!DllCanUnloadNow+0xb0756
06 025e7384 02b5258d olgsr430debug_e!DllCanUnloadNow+0x2999f
07 025e7444 770f6109 web430test!DllCanUnloadNow+0x3ab
08 025e7464 7359a2fb OLEAUT32!DispCallFunc+0x15d
09 025e7dc0 7359a0f4 MSVBVM60!EpiInvokeMethod+0x5a3
0a 025e7e1c 7714d7ac MSVBVM60!BASIC_CLASS_Invoke+0x64
0b 025e7e50 7714c5d4 OLEAUT32!IDispatch_Invoke_Stub+0x50
0c 025e7e88 77ce847b OLEAUT32!IDispatch_RemoteInvoke_Thunk+0x30
0d 025e825c 77ce5862 RPCRT4!NdrStubCall2+0x1a4
0e 025e82b4 77114196 RPCRT4!CStdStubBuffer_Invoke+0xc6
0f 025e82d4 77269ae0 OLEAUT32!CStubWrapper::Invoke+0x9d
10 025e8318 77269a8a ole32!SyncStubInvoke+0x33
11 025e8360 77179c5c ole32!StubInvoke+0xa5
12 025e8438 77179b81 ole32!CCtxComChnl::ContextInvoke+0xe3
13 025e8454 771928d6 ole32!MTAInvoke+0x18
14 025e8484 77269eaf ole32!STAInvoke+0x56
15 025e84b8 77269872 ole32!AppInvoke+0x7c
16 025e8584 77269e66 ole32!ComInvokeWithLockAndIPID+0x29f
17 025e85ac 7719290a ole32!ComInvoke+0x9d
18 025e85bc 7717964b ole32!ThreadDispatch+0x1f
19 025e85d4 77d0612f ole32!ThreadWndProc+0xfc
1a 025e8600 77d069a5 USER32!InternalCallWinProc+0x1b
1b 025e8678 77d06689 USER32!UserCallWinProcCheckWow+0x151
1c 025e86e0 77d0fae4 USER32!DispatchMessageWorker+0x327
1d 025e86ec 73584d53 USER32!DispatchMessageA+0xb
1e 025e872c 73584c8c MSVBVM60!ThunderMsgLoop+0x87
1f 025e8740 73584c2e MSVBVM60!CMsoCMHandler::FPushMessageLoop+0x19
20 025e8770 73584b6a MSVBVM60!SCM::FPushMessageLoop+0xb9
21 025e878c 73584b35 MSVBVM60!SCM_MsoCompMgr::FPushMessageLoop+0x2b
22 025e87b0 73597f50 MSVBVM60!CMsoComponent::PushMsgLoop+0x26
23 025e87c0 73597ee6 MSVBVM60!HostDoEvents+0x41
24 025e87cc 03157a5b MSVBVM60!rtcDoEvents+0x7
25 025e884c 0314cea7 olgsr430debug_e!DllCanUnloadNow+0x1d91f5
26 025e89c8 0302ef1d olgsr430debug_e!DllCanUnloadNow+0x1ce641
27 025e8b30 02fa8205 olgsr430debug_e!DllCanUnloadNow+0xb06b7
28 025e8bc4 02b5258d olgsr430debug_e!DllCanUnloadNow+0x2999f
29 025e8c84 770f6109 web430test!DllCanUnloadNow+0x3ab
2a 025e8ca4 7359a2fb OLEAUT32!DispCallFunc+0x15d
2b 025e9600 7359a0f4 MSVBVM60!EpiInvokeMethod+0x5a3
2c 025e965c 7714d7ac MSVBVM60!BASIC_CLASS_Invoke+0x64
2d 025e9690 7714c5d4 OLEAUT32!IDispatch_Invoke_Stub+0x50
2e 025e96c8 77ce847b OLEAUT32!IDispatch_RemoteInvoke_Thunk+0x30
2f 025e9a9c 77ce5862 RPCRT4!NdrStubCall2+0x1a4
30 025e9af4 77114196 RPCRT4!CStdStubBuffer_Invoke+0xc6
31 025e9b14 77269ae0 OLEAUT32!CStubWrapper::Invoke+0x9d

This thread (which is blocking everyone else) is calling Sleep() from within
the olgsr430debug_e.dll. It appears that the dll is the cause of the hang.

So, a couple of observations:
1) I can't tell why the threads all try to marshal. Possibly the object is
marked as Single threaded and not Apartment threaded.
2) Calling Sleep() is not a good thing to do, generally speaking, in a
Server side app. There are a very few times when it is OK, but this is not
one of them.

Pat

"Thorsten Jakobsson" <thorsten@axiell.se> wrote in message
news:%234$no0OZEHA.3128@TK2MSFTNGP09.phx.gbl...
> > > You can also use IIS State to capture the state of the w3wp.exe during
> the
> > > "hang" and please post the log here.
> > We will try to use IIS State and post the log tomorrow. The server in
> > question
> > is not available today, so we will do the logging when it is not
occupied.
>
> Hello again, we have now captured the state of the w3wp.exe during the
> "hang". It is attached to this message.
>
> Sincerely,
> Thorsten Jakobsson
>
> "Thorsten Jakobsson" <thorsten@axiell.se> skrev i meddelandet
> news:%23FxASo0YEHA.3476@tk2msftngp13.phx.gbl...
> > Thanks for the answer.
> > > Is this application running in "low isolation" when running in IIS5
> > > Compatibility Mode?
> > It is running in "medium isolation" in IIS5 Compatibility Mode.
> >
> > > What recycling options did you configure for IIS6 Worker Process
> Isolation
> > > Mode?
> > The default recycling options are used.
> >
> > > You can also use IIS State to capture the state of the w3wp.exe during
> the
> > > "hang" and please post the log here.
> > We will try to use IIS State and post the log tomorrow. The server in
> > question
> > is not available today, so we will do the logging when it is not
occupied.
> >
> > /Thorsten
> >
> > "David Wang [Msft]" <someone@online.microsoft.com> skrev i meddelandet
> > news:OG65uB0YEHA.2520@TK2MSFTNGP12.phx.gbl...
> > > If it works on IIS6 set in IIS5 Isolation mode, then the problem is
> likely
> > > NOT with IIS6 but rather with how your application handles the
> difference
> > in
> > > process model between IIS5 Compatibility Mode and IIS6 Worker Process
> > > Isolation Mode. IIS6 runs nearly the same server core for IIS5
> Isolation
> > > Mode, including exactly the same ASP engine, so we know IIS6 works
with
> > your
> > > application.
> > >
> > > Is this application running in "low isolation" when running in IIS5
> > > Compatibility Mode?
> > > What recycling options did you configure for IIS6 Worker Process
> Isolation
> > > Mode?
> > >
> > > You can also use IIS State to capture the state of the w3wp.exe during
> the
> > > "hang" and please post the log here.
> > > http://www.iisfaq.com/default.aspx?view=P197
> > >
> > > --
> > > //David
> > > IIS
> > > This posting is provided "AS IS" with no warranties, and confers no
> > rights.
> > > //
> > > "Thorsten Jakobsson" <thorsten@axiell.se> wrote in message
> > > news:OOyriazYEHA.2972@TK2MSFTNGP12.phx.gbl...
> > > Hello,
> > > we have a problem with an application that hangs after some time in
> > IIS6.
> > > The application worked in IIS5 and also works in IIS6 if we set IIS5
> > > isolation mode.
> > >
> > > Some customers use other applications, so we can not use IIS5
> isolation
> > > mode in IIS6.
> > >
> > > The application uses a VB6-DLL that is called from an ASP-page. The
> DLL
> > > communicates
> > > with another server using TCP/IP. We use the Microsoft Winsock Control
> 6.0
> > > for communication,
> > > MSWINSCK.OCX. We used our own TCP/IP ocx before, but got the same
> problem
> > as
> > > with MS Winsock Control.
> > >
> > > If we remove the tcp/ip-code it does not hang, but we need of course
> the
> > > communication code.
> > > When we test with the Microsoft Webapplication Stress Tool, we get the
> > > problem
> > > after 700 - 1500 calls to the asp-page. The number of calls before it
> > hangs,
> > > varies.
> > > In order to find the problem, we have tried to only use the code that
> does
> > > Connect, exchange a
> > > little data and Close. Still hangs.
> > > Is there a problem with winsock communication in IIS6? Or is there a
> > > problem with
> > > number of open files, or calling DLL/OCXs we cannot figure out where
the
> > > problem is.
> > >
> > > Sincerely,
> > > Thorsten Jakobsson
> > > Axiell Bibliotek
> > >
> > >
> > >
> >
> >
>
>
>



Relevant Pages

  • Re: iisstate output - help with interpretation
    ... > System Thread ID: edc ... > Thread Type: Other ... > Thread Type: Idle ASP thread ... > symbol file not available. ...
    (microsoft.public.inetserver.iis)
  • Re: ASP Thread Scheduling Anomalies
    ... Symbol file could not be found. ... Thread Type: ASP ... > Thanks for the response Pat ... I've always been a bit suspicious of the scheduling ...
    (microsoft.public.inetserver.asp.general)
  • Re: ASP Thread Scheduling Anomalies
    ... Symbol file could not be found. ... Thread Type: ASP ... > Thanks for the response Pat ... I've always been a bit suspicious of the scheduling ...
    (microsoft.public.inetserver.iis)
  • iisstate output - help with interpretation
    ... I have run iisstate 3.4 against ... grateful if someone could please indicate to me what sort of thing it's ... symbol file not available. ... Unable to locate ASP page. ...
    (microsoft.public.inetserver.iis)
  • Re: ASP hang on XP IIS 5.1
    ... Are you using the FSO in these pages that hang? ... > We have ASP application that uses WSC as data access tier ... > to SQL Server, and it runs well on windows 2000 server ... > browser hang from time to time. ...
    (microsoft.public.inetserver.asp.general)