http://bugzilla.novell.com/show_bug.cgi?id=565159
http://bugzilla.novell.com/show_bug.cgi?id=565159#c0 Summary: deadlock using --compile-all (compute_class_bitmap) on a bad assembly Classification: Mono Product: Mono: Runtime Version: 2.6.x Platform: Other OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: JIT AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] CC: [email protected] Found By: --- Blocker: --- Created an attachment (id=332936) --> (http://bugzilla.novell.com/attachment.cgi?id=332936) assembly to reproduce the deadlock Look like an infinite recursion in compute_class_bitmap cause the deadlock (instead of using all memory and crash). MONO_PATH=/opt/mono/lib/moonlight/plugin/ gdb --args mono --security=core-clr --compile-all System.unknown.50383.dll Program received signal SIGINT, Interrupt. [Switching to Thread 0x7fe9bb0b9730 (LWP 2002)] 0x00007fe9ba1addd9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 (gdb) t a a bt warning: Can't attach LWP 2015: No such process Cannot find new threads: generic error (gdb) call mono_locks_dump(0) Total locks (in 0 array(s)): 0, used: 0, on freelist: 0, to recycle: 0 (gdb) t 0 Thread ID 0 not known. (gdb) bt #0 0x00007fe9ba1addd9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000000000648bd6 in _wapi_handle_timedwait_signal_handle (handle=0x400, timeout=0x0, alertable=1, poll=0) at handles.c:1611 #2 0x00000000006488df in _wapi_handle_wait_signal (poll=0) at handles.c:1540 #3 0x00000000006419e7 in WaitForMultipleObjectsEx (numobjects=2, handles=0xa29250, waitall=0, timeout=4294967295, alertable=0) at wait.c:724 #4 0x00000000005b392c in wait_for_tids_or_state_change (wait=0xa29250, timeout=4294967295) at threads.c:2780 #5 0x00000000005b4263 in mono_thread_manage () at threads.c:2992 #6 0x00000000004a399d in compile_all_methods (ass=0xa28720, verbose=0, opts=55667199) at driver.c:908 #7 0x00000000004a5c6c in mono_main (argc=4, argv=0x7fffc30d9f18) at driver.c:1763 #8 0x0000000000418095 in main (argc=4, argv=0x7fffc30d9f18) at main.c:34 (gdb) t 1 [Switching to thread 1 (Thread 0x7fe9bb0b9730 (LWP 2002))]#0 0x00007fe9ba1addd9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 (gdb) bt #0 0x00007fe9ba1addd9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000000000648bd6 in _wapi_handle_timedwait_signal_handle (handle=0x400, timeout=0x0, alertable=1, poll=0) at handles.c:1611 #2 0x00000000006488df in _wapi_handle_wait_signal (poll=0) at handles.c:1540 #3 0x00000000006419e7 in WaitForMultipleObjectsEx (numobjects=2, handles=0xa29250, waitall=0, timeout=4294967295, alertable=0) at wait.c:724 #4 0x00000000005b392c in wait_for_tids_or_state_change (wait=0xa29250, timeout=4294967295) at threads.c:2780 #5 0x00000000005b4263 in mono_thread_manage () at threads.c:2992 #6 0x00000000004a399d in compile_all_methods (ass=0xa28720, verbose=0, opts=55667199) at driver.c:908 #7 0x00000000004a5c6c in mono_main (argc=4, argv=0x7fffc30d9f18) at driver.c:1763 #8 0x0000000000418095 in main (argc=4, argv=0x7fffc30d9f18) at main.c:34 (gdb) t 3 [Switching to thread 3 (Thread 0x407f7950 (LWP 2006))]#0 0x00007fe9ba1afd01 in sem_wait () from /lib64/libpthread.so.0 (gdb) bt #0 0x00007fe9ba1afd01 in sem_wait () from /lib64/libpthread.so.0 #1 0x000000000055df6c in finalizer_thread (unused=0x0) at gc.c:1022 #2 0x00000000005af431 in start_wrapper (data=0xa28310) at threads.c:662 #3 0x00000000006584b3 in thread_start_routine (args=0x9fba48) at wthreads.c:286 #4 0x00000000006716ce in GC_start_routine (arg=0x7fe9baf6be70) at pthread_support.c:1390 #5 0x00007fe9ba1aa040 in start_thread () from /lib64/libpthread.so.0 #6 0x00007fe9b9cc708d in clone () from /lib64/libc.so.6 #7 0x0000000000000000 in ?? () (gdb) t 4 [Switching to thread 4 (Thread 0x40fff950 (LWP 2007))]#0 0x00007fe9ba1b04c4 in __lll_lock_wait () from /lib64/libpthread.so.0 (gdb) bt #0 0x00007fe9ba1b04c4 in __lll_lock_wait () from /lib64/libpthread.so.0 #1 0x00007fe9ba1abcbb in _L_lock_312 () from /lib64/libpthread.so.0 #2 0x00007fe9ba1ab6e1 in pthread_mutex_lock () from /lib64/libpthread.so.0 #3 0x00000000005ce20b in mono_loader_lock () at loader.c:2005 #4 0x000000000056be2a in mono_class_setup_fields_locking (class=0xa4da10) at class.c:1371 #5 0x0000000000579b98 in mono_class_get_fields (klass=0xa4da10, iter=0x40eb7900) at class.c:7076 #6 0x000000000062af28 in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59650, max_set=0x40ffdce4, static_fields=0) at object.c:636 #7 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59645, max_set=0x40ffdce4, static_fields=0) at object.c:697 #8 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59640, max_set=0x40ffdce4, static_fields=0) at object.c:697 #9 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59635, max_set=0x40ffdce4, static_fields=0) at object.c:697 #10 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59630, max_set=0x40ffdce4, static_fields=0) at object.c:697 #11 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59625, max_set=0x40ffdce4, static_fields=0) at object.c:697 #12 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59620, max_set=0x40ffdce4, static_fields=0) at object.c:697 #13 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59615, max_set=0x40ffdce4, static_fields=0) at object.c:697 #14 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59610, max_set=0x40ffdce4, static_fields=0) at object.c:697 #15 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59605, max_set=0x40ffdce4, static_fields=0) at object.c:697 #16 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59600, max_set=0x40ffdce4, static_fields=0) at object.c:697 #17 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59595, max_set=0x40ffdce4, static_fields=0) at object.c:697 #18 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59590, max_set=0x40ffdce4, static_fields=0) at object.c:697 #19 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59585, max_set=0x40ffdce4, static_fields=0) at object.c:697 #20 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59580, max_set=0x40ffdce4, static_fields=0) at object.c:697 #21 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59575, max_set=0x40ffdce4, static_fields=0) at object.c:697 #22 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59570, max_set=0x40ffdce4, static_fields=0) at object.c:697 #23 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59565, max_set=0x40ffdce4, static_fields=0) at object.c:697 #24 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59560, max_set=0x40ffdce4, static_fields=0) at object.c:697 #25 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59555, max_set=0x40ffdce4, static_fields=0) at object.c:697 #26 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59550, max_set=0x40ffdce4, static_fields=0) at object.c:697 #27 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59545, max_set=0x40ffdce4, static_fields=0) at object.c:697 #28 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59540, max_set=0x40ffdce4, static_fields=0) at object.c:697 #29 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59535, max_set=0x40ffdce4, static_fields=0) at object.c:697 #30 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59530, max_set=0x40ffdce4, static_fields=0) at object.c:697 #31 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59525, max_set=0x40ffdce4, static_fields=0) at object.c:697 #32 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59520, max_set=0x40ffdce4, static_fields=0) at object.c:697 #33 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59515, max_set=0x40ffdce4, static_fields=0) at object.c:697 #34 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59510, max_set=0x40ffdce4, static_fields=0) at object.c:697 #35 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59505, max_set=0x40ffdce4, static_fields=0) at object.c:697 #36 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59500, max_set=0x40ffdce4, static_fields=0) at object.c:697 #37 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59495, max_set=0x40ffdce4, static_fields=0) at object.c:697 #38 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59490, max_set=0x40ffdce4, static_fields=0) at object.c:697 #39 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59485, max_set=0x40ffdce4, static_fields=0) at object.c:697 #40 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59480, max_set=0x40ffdce4, static_fields=0) at object.c:697 #41 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59475, max_set=0x40ffdce4, static_fields=0) at object.c:697 #42 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59470, max_set=0x40ffdce4, static_fields=0) at object.c:697 #43 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59465, max_set=0x40ffdce4, static_fields=0) at object.c:697 #44 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59460, max_set=0x40ffdce4, static_fields=0) at object.c:697 #45 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59455, max_set=0x40ffdce4, static_fields=0) at object.c:697 #46 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59450, max_set=0x40ffdce4, static_fields=0) at object.c:697 #47 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59445, max_set=0x40ffdce4, static_fields=0) at object.c:697 #48 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59440, max_set=0x40ffdce4, static_fields=0) at object.c:697 #49 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59435, max_set=0x40ffdce4, static_fields=0) at object.c:697 #50 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59430, max_set=0x40ffdce4, static_fields=0) at object.c:697 #51 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59425, max_set=0x40ffdce4, static_fields=0) at object.c:697 #52 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59420, max_set=0x40ffdce4, static_fields=0) at object.c:697 #53 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59415, max_set=0x40ffdce4, static_fields=0) at object.c:697 #54 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59410, max_set=0x40ffdce4, static_fields=0) at object.c:697 #55 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59405, max_set=0x40ffdce4, static_fields=0) at object.c:697 #56 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59400, max_set=0x40ffdce4, static_fields=0) at object.c:697 #57 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59395, max_set=0x40ffdce4, static_fields=0) at object.c:697 #58 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59390, max_set=0x40ffdce4, static_fields=0) at object.c:697 #59 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59385, max_set=0x40ffdce4, static_fields=0) at object.c:697 #60 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59380, max_set=0x40ffdce4, static_fields=0) at object.c:697 #61 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59375, max_set=0x40ffdce4, static_fields=0) at object.c:697 #62 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59370, max_set=0x40ffdce4, static_fields=0) at object.c:697 #63 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59365, max_set=0x40ffdce4, static_fields=0) at object.c:697 #64 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59360, max_set=0x40ffdce4, static_fields=0) at object.c:697 #65 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59355, max_set=0x40ffdce4, static_fields=0) at object.c:697 #66 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59350, max_set=0x40ffdce4, static_fields=0) at object.c:697 #67 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59345, max_set=0x40ffdce4, static_fields=0) at object.c:697 #68 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=59340, max_set=0x40ffdce4, static_fields=0) at object.c:697 ---Type <return> to continue, or q <return> to quit--- .. #11936 0x000000000062aefa in compute_class_bitmap (class=0xa4da10, bitmap=0x40ffdcc0, size=256, offset=0, max_set=0x40ffdce4, static_fields=0) at object.c:697 ---Type <return> to continue, or q <return> to quit--- #11937 0x000000000062b1d0 in mono_class_compute_gc_descriptor (class=0xa4da10) at object.c:940 #11938 0xffffffffffffffff in ?? () .. #12860 0xffffffffffffffff in ?? () #12861 0x000007d2000007df in ?? () #12862 0x0000000040fff9f0 in ?? () #12863 0x0000000040fff9f0 in ?? () #12864 0xffffffffffffffe0 in ?? () #12865 0x0000000000000000 in ?? () (gdb) t 5 Thread ID 5 not known. (gdb) up 5 #5 0x0000000000579b98 in mono_class_get_fields (klass=0xa4da10, iter=0x40eb7900) at class.c:7076 7076 mono_class_setup_fields_locking (klass); (gdb) p klass->name $1 = 0x7fe9baf4835f "Regex" (gdb) p klass->name_space $2 = 0x7fe9baf481b9 "System.Text.RegularExpressions" -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
