473,396 Members | 1,726 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

IISState output, hung on critical section?

Friends, this is a longshot...

Our app is done in ASP.NET/C# with calls to legacy DLLs that use MFC/ODBC to
update the database. It's a legacy DB API that we must use.

We're debugging an application hang; w3wp.exe appears to stop servicing all
requests after about an hour. We have run IIState to capture some data
about that process and find that many threads end up waiting on some
"critical "section"; basically eventually everybody is in line for a single
resource that apparently is never freed. Sadly, we don't really use
ciritcal sections or mutexts much in our code, so we think this is an
MFC/ODBC issue. But, what are we waiting on? Why isn't it freed? Etc?

If any of you kind folks have any words to give or any experience with
tsomething similar, I'd gretly appreciate your thoughts. For the bravest
souls, I've pasted some IIState output below.

Thanks in advance for you thoughts!

James
THE BLOCKING THREAD
Thread ID: 21
System Thread ID: 131c
Kernel Time: 0:24:3.687
User Time: 0:15:18.265
Thread Status: Thread is in a WAIT state.
Thread Type: Other
# ChildEBP RetAddr
00 0deef174 7c822124 ntdll!KiFastSystemCallRet
01 0deef178 77e6baa8 ntdll!NtWaitForSingleObject+0xc
WARNING: Stack unwind information not available. Following frames may be
wrong.
02 0deef1e8 77e6ba12 kernel32!WaitForSingleObjectEx+0x88
03 0deef1fc 30198a73 kernel32!WaitForSingleObject+0x12
04 0deef258 00000000
RSSQLAPI!RSSQLDebugLog::RSWebNET::FunctionEntryExi t::FunctionEntryExit+0x1847d4

THE (FIRST OF MANY) BLOCKED THREAD
Thread ID: 10
System Thread ID: 17b4
Kernel Time: 0:0:48.937
User Time: 0:1:31.578
*** WARNING: Unable to verify checksum for C:\Program
Files\RS-SQL\RSSQLAPI.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for
C:\Program Files\RS-SQL\RSSQLAPI.dll -
*** WARNING: Unable to verify checksum for
c:\windows\assembly\nativeimages1_v1.1.4322\mscorl ib\1.0.5000.0__b77a5c561934e089_1423085c\mscorlib. dll
*** ERROR: Module load completed but symbols could not be loaded for
c:\windows\assembly\nativeimages1_v1.1.4322\mscorl ib\1.0.5000.0__b77a5c561934e089_1423085c\mscorlib. dll
Thread Status: Thread is in a WAIT state.
Other information: Thread is waiting for a lock to be released. Looking for
lock owner.
Owning thread System ID: 131c
Thread Type: Managed Thread. Possible ASP.Net page or other .Net worker
PDB symbol for mscorsvr.dll not loaded
succeeded
Loaded Son of Strike data table version 5 from
"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\msco rsvr.dll"
Thread 10
ESP EIP
0196f714 7c82ed54 [FRAME: NDirectMethodFrameStandalone] [DEFAULT] CMOD_OPT
System.Runtime.CompilerServices.CallConvThiscall Boolean
RSSQLTempRecordset.GetMarkSummary(CMOD_OPT Microsoft.VisualC.IsConstModifier
CMOD_OPT Microsoft.VisualC.IsConstModifier Ptr ValueClass
RSSQLTempRecordset,Ptr I4,Ptr I4)
0196f728 0d775e07 [DEFAULT] [hasThis] Void
ONeilSoft.RSSQLAPINET.TempRecordset.GetMarkSummary (ByRef I4,ByRef I4)
0196f73c 0d775d55 [FRAME: InlinedCallFrame]
0196f7dc 0d775d55 [DEFAULT] [hasThis] Boolean
ONeilSoft.RSWeb.RSWebGridForm.IsGridEmpty()
0196f7e8 0d775731 [DEFAULT] [hasThis] Void RSWEBNET.OSCart.InitMenu()

Nov 19 '05 #1
1 1713
if your DLL is STA, then asp.net has to use a single thread to access it. it
uses mutexes to control access to this thread. if this is the case, a single
hang in a method call, will hang all requests. you will have to fix the dll.

if your dll is not STA, then it is probably hanging internally. this would
lead me to believe it not thread safe under load. in this case you serialize
access your self with a mutex, and get around it. you could also update the
registry to say its STA.

-- bruce (sqlwork.com)
"James Hunter Ross" <ja********@oneilsoft.com> wrote in message
news:OF**************@TK2MSFTNGP10.phx.gbl...
Friends, this is a longshot...

Our app is done in ASP.NET/C# with calls to legacy DLLs that use MFC/ODBC
to update the database. It's a legacy DB API that we must use.

We're debugging an application hang; w3wp.exe appears to stop servicing
all requests after about an hour. We have run IIState to capture some
data about that process and find that many threads end up waiting on some
"critical "section"; basically eventually everybody is in line for a
single resource that apparently is never freed. Sadly, we don't really
use ciritcal sections or mutexts much in our code, so we think this is an
MFC/ODBC issue. But, what are we waiting on? Why isn't it freed? Etc?

If any of you kind folks have any words to give or any experience with
tsomething similar, I'd gretly appreciate your thoughts. For the bravest
souls, I've pasted some IIState output below.

Thanks in advance for you thoughts!

James
THE BLOCKING THREAD
Thread ID: 21
System Thread ID: 131c
Kernel Time: 0:24:3.687
User Time: 0:15:18.265
Thread Status: Thread is in a WAIT state.
Thread Type: Other
# ChildEBP RetAddr
00 0deef174 7c822124 ntdll!KiFastSystemCallRet
01 0deef178 77e6baa8 ntdll!NtWaitForSingleObject+0xc
WARNING: Stack unwind information not available. Following frames may be
wrong.
02 0deef1e8 77e6ba12 kernel32!WaitForSingleObjectEx+0x88
03 0deef1fc 30198a73 kernel32!WaitForSingleObject+0x12
04 0deef258 00000000
RSSQLAPI!RSSQLDebugLog::RSWebNET::FunctionEntryExi t::FunctionEntryExit+0x1847d4

THE (FIRST OF MANY) BLOCKED THREAD
Thread ID: 10
System Thread ID: 17b4
Kernel Time: 0:0:48.937
User Time: 0:1:31.578
*** WARNING: Unable to verify checksum for C:\Program
Files\RS-SQL\RSSQLAPI.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols
for C:\Program Files\RS-SQL\RSSQLAPI.dll -
*** WARNING: Unable to verify checksum for
c:\windows\assembly\nativeimages1_v1.1.4322\mscorl ib\1.0.5000.0__b77a5c561934e089_1423085c\mscorlib. dll
*** ERROR: Module load completed but symbols could not be loaded for
c:\windows\assembly\nativeimages1_v1.1.4322\mscorl ib\1.0.5000.0__b77a5c561934e089_1423085c\mscorlib. dll
Thread Status: Thread is in a WAIT state.
Other information: Thread is waiting for a lock to be released. Looking
for lock owner.
Owning thread System ID: 131c
Thread Type: Managed Thread. Possible ASP.Net page or other .Net worker
PDB symbol for mscorsvr.dll not loaded
succeeded
Loaded Son of Strike data table version 5 from
"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\msco rsvr.dll"
Thread 10
ESP EIP
0196f714 7c82ed54 [FRAME: NDirectMethodFrameStandalone] [DEFAULT]
CMOD_OPT System.Runtime.CompilerServices.CallConvThiscall Boolean
RSSQLTempRecordset.GetMarkSummary(CMOD_OPT
Microsoft.VisualC.IsConstModifier CMOD_OPT
Microsoft.VisualC.IsConstModifier Ptr ValueClass RSSQLTempRecordset,Ptr
I4,Ptr I4)
0196f728 0d775e07 [DEFAULT] [hasThis] Void
ONeilSoft.RSSQLAPINET.TempRecordset.GetMarkSummary (ByRef I4,ByRef I4)
0196f73c 0d775d55 [FRAME: InlinedCallFrame]
0196f7dc 0d775d55 [DEFAULT] [hasThis] Boolean
ONeilSoft.RSWeb.RSWebGridForm.IsGridEmpty()
0196f7e8 0d775731 [DEFAULT] [hasThis] Void RSWEBNET.OSCart.InitMenu()

Nov 19 '05 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Brian Alexander | last post by:
Hello; I am trying to protect some global data, which may, in the future, be accessed by threads. I'm not sure how to implement a locking mechanism in python. Here is the idea I'm trying to...
0
by: Tim Clark | last post by:
We've been having a lot of event ID 37 with src W3SVC errors popping up. We have 50+ sites in medium isolation, and i ran IISstate on the two instances of DLLHOST and the one of inetinfo. Is there...
4
by: Phil Grimpo | last post by:
I had previously explained this problem in a different thread, but now that I have an IISState log, I figured I'd re-start the thred. My situation and the log are following... I have a very odd...
1
by: Beachcomp | last post by:
Hello, Running a Win2k box. Every few hours, IIS decides to stop serving asp pages. The machine has multiple hosts on it and this occurs with ALL asp pages. Running IISrecycle resolves the...
2
by: Xarky | last post by:
Hi, I am trying to learn Critical Sections. I have written a small program. Source code problem below. What the program is doing is disabling the CRTL-C signal in the critical section. My...
6
by: MPH Computers | last post by:
Hi I am looking for some help on Threading and Critical Sections I have a main thread that controls an event the event handler creates a new thread for carrying out the work because the...
2
by: Christian | last post by:
I have a class named AccessClass to access a legacy system. In a webform i instanciate an AccessClass object named myAccess and i call a method : myAccess.accessmethod() I want to insure that no...
5
by: =?Utf-8?B?VmFubmk=?= | last post by:
Hi, I have a component where I need to have thread-safe access to a list. Operations on the list are done in critical sections (lock (lockObject) { ... } ) in the usual way, to make sure that no...
5
by: amit.uttam | last post by:
Hey everyone, I've recently jumped big time into python and I'm working on a software program for testing automation. I had a question about proper logging of output. What I would like is: 1....
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.