[Mono-bugs] [Bug 605406] New: sending a sig quit deadlocks the GC
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Wed May 12 20:17:02 EDT 2010
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: lupus at novell.com
ReportedBy: amcgovern at novell.com
QAContact: mono-bugs at lists.ximian.com
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.
More information about the mono-bugs
mailing list