http://bugzilla.novell.com/show_bug.cgi?id=605406
http://bugzilla.novell.com/show_bug.cgi?id=605406#c0 Summary: sending a sig quit deadlocks the GC Classification: Mono Product: Mono: Runtime Version: SVN Platform: Other OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: GC AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: --- Blocker: --- Created an attachment (id=361894) --> (http://bugzilla.novell.com/attachment.cgi?id=361894) testcase If the attached testcase is run (choose option 2, though any should be fine) and then a sigquit is sent to the application, the GC deadlocks as follows: #0 0x00007fab16250049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000000005d80a2 in GC_wait_marker () at pthread_support.c:1785 #2 0x00000000005ccc2a in GC_help_marker (my_mark_no=9610) at mark.c:1116 #3 0x00000000005d6d90 in GC_mark_thread (id=0x0) at pthread_support.c:548 #4 0x00007fab1624b65d in start_thread () from /lib64/libpthread.so.0 #5 0x00007fab15fbae1d in clone () from /lib64/libc.so.6 #6 0x0000000000000000 in ?? () Thread 3 (Thread 0x7fab16b4d910 (LWP 13616)): #0 0x00007fab16253341 in nanosleep () from /lib64/libpthread.so.0 #1 0x000000000059ef32 in collection_thread (unused=<value optimized out>) at collection.c:34 #2 0x00007fab1624b65d in start_thread () from /lib64/libpthread.so.0 #3 0x00007fab15fbae1d in clone () from /lib64/libc.so.6 #4 0x0000000000000000 in ?? () Thread 2 (Thread 0x7fab14f53910 (LWP 13617)): #0 0x00007fab16252624 in __lll_lock_wait () from /lib64/libpthread.so.0 #1 0x00007fab1624df35 in _L_lock_941 () from /lib64/libpthread.so.0 #2 0x00007fab1624dd58 in pthread_mutex_lock () from /lib64/libpthread.so.0 #3 0x00000000005d7fe0 in GC_lock () at pthread_support.c:1679 #4 0x00000000005dd879 in GC_invoke_finalizers () at finalize.c:772 ---Type <return> to continue, or q <return> to quit--- #5 0x00000000004f2098 in finalizer_thread (unused=<value optimized out>) at gc.c:1074 #6 0x000000000058184c in start_wrapper (data=<value optimized out>) at threads.c:747 #7 0x000000000059c8b4 in thread_start_routine (args=0x977ac0) at wthreads.c:285 #8 0x00000000005d7d05 in GC_start_routine (arg=0x7fab16b3bfc0) at pthread_support.c:1390 #9 0x00007fab1624b65d in start_thread () from /lib64/libpthread.so.0 #10 0x00007fab15fbae1d in clone () from /lib64/libc.so.6 #11 0x0000000000000000 in ?? () Thread 1 (Thread 0x7fab16cba730 (LWP 13614)): #0 0x00007fab16252624 in __lll_lock_wait () from /lib64/libpthread.so.0 #1 0x00007fab1624df35 in _L_lock_941 () from /lib64/libpthread.so.0 #2 0x00007fab1624dd58 in pthread_mutex_lock () from /lib64/libpthread.so.0 #3 0x00000000005d7fe0 in GC_lock () at pthread_support.c:1679 #4 0x00000000005cf8c6 in GC_generic_malloc_many (lb=24, k=1, result=0x8db4e0) at mallocx.c:375 #5 0x00000000005d6939 in GC_local_malloc (bytes=24) at pthread_support.c:366 #6 0x00000000005b301a in mono_g_hash_table_insert_replace (hash=0x7fab16b63f40, key=0x948018, value= 0x7fab147b5d20, replace=0) at mono-hash.c:451 #7 0x00000000004fdf24 in mono_type_get_object (domain=0x7fab16b62d48, type=0x948018) at reflection.c:6511 #8 0x000000000058972c in mono_class_create_runtime_vtable (raise_on_error=<value optimized out>, class=<value optimized out>, domain=<value optimized out>) at object.c:2066 #9 mono_class_vtable_full (raise_on_error=<value optimized out>, class=<value optimized out>, domain=<value optimized out>) at object.c:1752 #10 0x000000000058c609 in mono_object_new (domain=0x8db9c0, klass=Traceback (most recent call last): ---Type <return> to continue, or q <return> to quit--- File "/opt/mono/bin/mono-gdb.py", line 165, in to_string class_name = stringify_class_name (klass ["name_space"].string (), klass ["name"].string ()) RuntimeError: Cannot access memory at address 0xc8 ) at object.c:4156 #11 0x000000000058dc83 in mono_method_call_message_new (method="InternalCancelHandler:BeginInvoke ()", params= 0x0, invoke="InternalCancelHandler:Invoke ()", cb=<value optimized out>, state=<value optimized out>) at object.c:5864 #12 0x00000000005df04f in do_console_cancel_event () at console-unix.c:252 #13 sigint_handler () at console-unix.c:268 #14 <signal handler called> #15 0x00000000005cc554 in GC_mark_from (mark_stack_top=0x7fab16b6dff0, mark_stack=0x7fab16b6e000, mark_stack_limit=0x7fab16b7e000) at mark.c:634 #16 0x00000000005dd4ad in GC_finalize () at finalize.c:639 #17 0x00000000005d3e53 in GC_finish_collection () at alloc.c:696 #18 0x00000000005d3622 in GC_try_to_collect_inner (stop_func=0x5d2faf <GC_never_stop_func>) at alloc.c:393 #19 0x00000000005d4686 in GC_collect_or_expand (needed_blocks=1, ignore_off_page=0) at alloc.c:1045 #20 0x00000000005d4901 in GC_allocobj (sz=14, kind=4) at alloc.c:1125 #21 0x00000000005d283d in GC_generic_malloc_inner (lb=104, k=4) at malloc.c:136 #22 0x00000000005cfca2 in GC_generic_malloc_many (lb=104, k=4, result=0x8db738) at mallocx.c:513 #23 0x00000000005d6bc1 in GC_local_gcj_malloc (bytes=104, ptr_to_struct_containing_descr=0x990770) at pthread_support.c:446 #24 0x00000000406f73da in ?? () #25 0x000000000091fe30 in ?? () ---Type <return> to continue, or q <return> to quit--- #26 0x00007fab16b6df20 in ?? () #27 0x0000000000000001 in ?? () #28 0x0000000040593de2 in ?? () #29 0x0000000000925e15 in ?? () #30 0x00007fab16b6d7c0 in ?? () #31 0x00007fff453922a0 in ?? () #32 0x0000000000000000 in ?? () -- 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
