[Mono-dev] Process freezes on Windows
Yosi Levy
yosilevy at gmail.com
Wed Oct 5 14:36:30 EDT 2011
Hi all,
We have a weird problem where it seems that threading use and locking is
caused our process to freeze. The weird thing is that it freezes sometimes
after 10 consecutive runs, sometimes after 200.
We're running an EXE bundled with MKBUNDLE on windows. It otherwise works
great.
We've compiled MONO-2.0.dll with debug info to know more.
The info is below. As you'll see there's an int 3 which was probably done by
debugger. Exception analysis just says BREAKPOINT so should we understand
that the process is just dead-locked?
How can we debug this (again - this is a bundled EXE) ?
It seems to be related to threading and locking since if we reduce usage of
C# lock statements, it freezes less.
Please help! Many thanks.
The info:
Thread that raised breakpoint:
Unflagged > 8172 0 Worker Thread
_threadstartex _callthreadstartex Normal 0000000000001111
0
It's disassembly:
__RtlUserThreadStart at 8:
77399E8A mov edi,edi
77399E8C push ebp
77399E8D mov ebp,esp
77399E8F push ecx
77399E90 push ecx
77399E91 lea eax,[ebp-8]
77399E94 push eax
77399E95 call _RtlInitializeExceptionChain at 4 (77399E6Fh)
77399E9A push dword ptr [ebp+0Ch]
77399E9D push dword ptr [ebp+8]
77399EA0 call ___RtlUserThreadStart at 8 (77399EABh)
77399EA5 int 3
77399EA6 nop
77399EA7 nop
77399EA8 nop
77399EA9 nop
77399EAA nop
Its Call-stack:
ntdll.dll!_ZwWaitForSingleObject at 12() + 0x15 bytes
ntdll.dll!_ZwWaitForSingleObject at 12() + 0x15 bytes
kernel32.dll!_WaitForSingleObjectExImplementation at 12() +
0x43 bytes
kernel32.dll!_WaitForSingleObject at 8() + 0x12 bytes
libdispatch.dll!0bec3ecb()
[Frames below may be incorrect and/or missing, no symbols
loaded for libdispatch.dll]
libdispatch.dll!0bec38c3()
libdispatch.dll!0bec3238()
libdispatch.dll!0bec2e6c()
libdispatch.dll!0bec3430()
libdispatch.dll!0bec325f()
pthreadVC2.dll!73714212()
msvcr80.dll!_callthreadstartex() Line 348 + 0x6 bytes C
msvcr80.dll!_threadstartex(void * ptd=0x028a9678) Line 326 +
0x5 bytes C
kernel32.dll!@BaseThreadInitThunk at 12() + 0x12 bytes
ntdll.dll!___RtlUserThreadStart at 8() + 0x27 bytes
> ntdll.dll!__RtlUserThreadStart at 8() + 0x1b bytes
All threads:
Unflagged 888 0 Worker Thread
__endthreadex _NtWaitForMultipleObjects at 20
Highest 0000000000001111 0
Unflagged 1208 0 Worker Thread
thread_start mono_jit_runtime_invoke Normal
0000000000001111 0
Unflagged 1384 0 Worker Thread
_TppWorkerThread at 4 _ZwWaitForWorkViaWorkerFactory at 8 Normal
0000000000001111 0
Unflagged 1440 0 Worker Thread
_TppWorkerThread at 4 _ZwWaitForWorkViaWorkerFactory at 8 Normal
0000000000001111 0
Unflagged 2840 0 Worker Thread
thread_start
ves_icall_System_Threading_WaitHandle_WaitOne_internal Normal
0000000000001111 0
Unflagged 3176 0 Worker Thread
__endthreadex _ZwWaitForSingleObject at 12 Time Critical
0000000000001111 0
Unflagged 3492 0 Worker Thread
_TppWorkerThread at 4 _ZwWaitForWorkViaWorkerFactory at 8 Normal
0000000000001111 0
Unflagged 3648 0 Worker Thread
CDeviceEnumerator::PnpNotificationThreadWrapper
_NtWaitForMultipleObjects at 20 Normal 0000000000001111
0
Unflagged 3772 0 Worker Thread
thread_start mono_sem_timedwait Normal 0000000000001111
0
Unflagged 4188 0 Worker Thread
Win32 Thread _ZwWaitForSingleObject at 12 Normal
0000000000001111 0
Unflagged 4948 0 Worker Thread
thread_start mono_jit_runtime_invoke Normal
0000000000001111 0
Unflagged 5708 0 Worker Thread
thread_start
ves_icall_System_Threading_WaitHandle_WaitOne_internal Normal
0000000000001111 0
Unflagged 5936 0 Worker Thread
Win32 Thread _ZwWaitForSingleObject at 12 Normal
0000000000001111 0
Unflagged 6092 0 Worker Thread
_TppWaiterpThread at 4 _NtWaitForMultipleObjects at 20
Normal 0000000000001111 0
Unflagged 6132 0 Worker Thread
thread_start monitor_thread Normal 0000000000001111
0
Unflagged 6276 0 Main Thread
Main Thread mono_get_lmf_addr Normal 0000000000001111
0
Unflagged 6364 0 Worker Thread
_threadstartex _callthreadstartex Normal 0000000000001111
0
Unflagged 6980 0 Worker Thread
_TppWorkerThread at 4 _ZwWaitForWorkViaWorkerFactory at 8 Normal
0000000000001111 0
Unflagged 7012 0 Worker Thread
__endthread _ZwWaitForSingleObject at 12 Time Critical
0000000000001111 0
Unflagged 7032 0 Worker Thread
thread_start
ves_icall_System_Threading_WaitHandle_WaitOne_internal Normal
0000000000001111 0
Unflagged 7220 0 Worker Thread
thread_start
ves_icall_System_Threading_WaitHandle_WaitOne_internal Normal
0000000000001111 0
Unflagged 7384 0 Worker Thread
CThread::ThreadStartRoutine _NtWaitForMultipleObjects at 20
Time Critical 0000000000001111 0
Unflagged 7520 0 Worker Thread
_TppWorkerThread at 4 _ZwWaitForWorkViaWorkerFactory at 8 Normal
0000000000001111 0
Unflagged 7564 0 Worker Thread
CThread::ThreadStartRoutine _NtWaitForMultipleObjects at 20
Time Critical 0000000000001111 0
Unflagged 7644 0 Worker Thread
thread_start mono_sem_timedwait Normal 0000000000001111
0
Unflagged 7744 0 Worker Thread
_TppWorkerThread at 4 _ZwWaitForWorkViaWorkerFactory at 8 Normal
0000000000001111 0
Unflagged 7896 0 Worker Thread
thread_start
ves_icall_System_Threading_WaitHandle_WaitOne_internal Normal
0000000000001111 0
Unflagged 7904 0 Worker Thread
thread_start
ves_icall_System_Threading_WaitHandle_WaitOne_internal Normal
0000000000001111 0
Unflagged 8040 0 Worker Thread
CThread::ThreadStartRoutine _NtWaitForMultipleObjects at 20
Time Critical 0000000000001111 0
Unflagged 8112 0 Worker Thread
DllRefCountSafeThreadThunk _NtWaitForMultipleObjects at 20
Normal 0000000000001111 0
Unflagged > 8172 0 Worker Thread
_threadstartex _callthreadstartex Normal 0000000000001111
0
Any ideas? I can provide a dump if anyone wants to help. We are releasing
tomorrow L. No choice here.
How can we know reason for this int 3
Thanks,
Jo.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20111005/2e6ff5a8/attachment-0001.html
More information about the Mono-devel-list
mailing list