KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a multi-threaded wpf application built on 3.5. When I look at the running threads through Process Explorer I see 8 threads all with the same start address, ntdll.dll!RtlUserThreadStart and all eight have a CPU value from 3-6+ and have a high Cycles Delta. I can't figure out what these threads are doing. It is always the same threads. It never varies within the same instance of the application. When I debug my application at the same time and pause the debugger, all these threads are showing a single line for the stack either System.Threading.ConcurrencyScheduler.Scheduler.WaitForWork() or System.Threading.Monitor.Wait(). I enabled the symbol files for Visual Studio and I see the following stack on those threads: System.Threading.Monitor.Wait() Normal mscorlib.dll!System.Threading.Monitor.Wait(object obj, int millisecondsTimeout) + 0x19 bytes System.Threading.dll!System.Threading.ConcurrencyScheduler.Scheduler.WaitForWork() + 0xd0 bytes System.Threading.dll!System.Threading.ConcurrencyScheduler.InternalContext.Dispatch() + 0x74a bytes System.Threading.dll!System.Threading.ConcurrencyScheduler.ThreadInternalContext.ThreadStartBridge(System.IntPtr dummy) + 0x9f bytes When I look at the stack provided on the thread within process monitor I see the following as examples: 0 ntoskrnl.exe!KeWaitForMultipleObjects+0xc0a 1 ntoskrnl.exe!KeAcquireSpinLockAtDpcLevel+0x732 2 ntoskrnl.exe!KeWaitForSingleObject+0x19f 3 ntoskrnl.exe!_misaligned_access+0xba4 4 ntoskrnl.exe!_misaligned_access+0x1821 5 ntoskrnl.exe!_misaligned_access+0x1a97 6 mscorwks.dll!InitializeFusion+0x990b 7 mscorwks.dll!DeleteShadowCache+0x31ef or: 0 ntoskrnl.exe!KeWaitForMultipleObjects+0xc0a 1 ntoskrnl.exe!KeAcquireSpinLockAtDpcLevel+0x732 2 ntoskrnl.exe!KeWaitForSingleObject+0x19f 3 ntoskrnl.exe!_misaligned_access+0xba4 4 ntoskrnl.exe!_misaligned_access+0x1821 5 ntoskrnl.exe!KeAcquir
Tags (comma-separated)
Save Edits
Cancel