Troubleshoot problems starting a COM + application

I am trying to troubleshoot a COM + application that interrupts intermittently. The last time it was locked, I was able to take a usermode dump of the dllhost process and analyze it using WinDbg. After checking all the threads and locks it all comes down to a critical section that belongs to this topic:

ChildEBP RetAddr  Args to Child              
0deefd00 7c822114 77e6bb08 000004d4 00000000 ntdll!KiFastSystemCallRet
0deefd04 77e6bb08 000004d4 00000000 0deefd48 ntdll!ZwWaitForSingleObject+0xc
0deefd74 77e6ba72 000004d4 00002710 00000000 kernel32!WaitForSingleObjectEx+0xac
0deefd88 75bb22b9 000004d4 00002710 00000000 kernel32!WaitForSingleObject+0x12
0deeffb8 77e660b9 000a5cc0 00000000 00000000 comsvcs!PingThread+0xf6
0deeffec 00000000 75bb21f1 000a5cc0 00000000 kernel32!BaseThreadStart+0x34

The object that he expects is an event:

0:016> !handle 4d4 f
Handle 000004d4
  Type          Event
  Attributes    0
  GrantedAccess 0x1f0003:
         Delete,ReadControl,WriteDac,WriteOwner,Synch
         QueryState,ModifyState
  HandleCount   2
  PointerCount  4
  Name          <none>
  No object specific information available

As far as I can tell, an event is never signaled, causing a thread to hang and hold several other threads in the process. Anyone have any suggestions for further steps in figuring out what is happening?

Now, seeing that the method is called PingThread, is it possible that it is trying to execute another thread in a process that has already reached an impasse?

UPDATE
​​ Oracle 10.2.0.1. , , , Oracle.

+3

Source: https://habr.com/ru/post/1735311/


All Articles