[Mono-bugs] [Bug 74612][Nor] Changed - Unref messages

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Mon, 18 Apr 2005 00:18:30 -0400 (EDT)


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by michi@zeroc.com.

http://bugzilla.ximian.com/show_bug.cgi?id=74612

--- shadow/74612	2005-04-16 15:01:22.000000000 -0400
+++ shadow/74612.tmp.7510	2005-04-18 00:18:30.000000000 -0400
@@ -78,6 +78,123 @@
 (gdb) cont
 
 And provide a stack trace of where the g_log is being printed from?
 
 Also, what version of Mono are you running?
 
+
+------- Additional Comments From michi@zeroc.com  2005-04-18 00:18 -------
+I tried this with the debugger but, after many tries, I didn't get the
+race. So, I dropped an abort() into the code after the unref message
+is printed (after line 327 in daemon.c). I got three core files. The
+stack traces are below:
+
+Thread 1:
+#0  0x42028811 in kill () from /lib/i686/libc.so.6
+#1  0x400bdfcd in raise () from /lib/i686/libpthread.so.0
+#2  0x420284b4 in raise () from /lib/i686/libc.so.6
+#3  0x42029bab in abort () from /lib/i686/libc.so.6
+#4  0x081292d3 in unref_handle () at daemon.c:328
+#5  0x08129bc2 in process_close (channel=0x81e4448,
+channel_data=0x81df680, handle=1558) at daemon.c:966
+#6  0x0812a27e in read_message (channel=0x81e4448,
+channel_data=0x81df680) at daemon.c:1385
+#7  0x0812a388 in fd_activity (channel=0x81e4448, condition=G_IO_IN,
+data=0x81df3c0) at daemon.c:1479
+#8  0x4007942f in g_io_unix_dispatch () from /usr/lib/libglib-2.0.so.0
+#9  0x40057f65 in g_main_dispatch () from /usr/lib/libglib-2.0.so.0
+#10 0x40058f98 in g_main_context_dispatch () from
+/usr/lib/libglib-2.0.so.0
+#11 0x400592ad in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
+#12 0x400594ec in g_main_context_iteration () from
+/usr/lib/libglib-2.0.so.0
+#13 0x0812a51b in _wapi_daemon_main (data=0x0, scratch=0x6) at
+daemon.c:1570
+#14 0x080d566e in _wapi_shm_attach (data=0x81da958, scratch=0x818a250)
+at shared.c:430
+#15 0x080c5e54 in shared_init () at handles.c:107
+#16 0x080d2a43 in mono_once (once=0x818a278, once_init=0x80c5b2c
+<shared_init>) at mono-mutex.c:80
+#17 0x080c62ea in _wapi_handle_new (type=WAPI_HANDLE_THREAD) at
+handles.c:338
+#18 0x080d9144 in thread_attach (tid=0x0) at threads.c:473
+#19 0x080d9708 in GetCurrentThread () at threads.c:595
+#20 0x080af6fb in search_loaded (aname=0x81db7e0, refonly=0) at
+assembly.c:233
+#21 0x080b07b6 in mono_assembly_load_from_full (image=0x81d7298,
+    fname=0x81d6250 "/opt/mono-1.1.6//lib/mono/1.0/mscorlib.dll",
+status=0xbfffd87c, refonly=0) at assembly.c:964
+#22 0x080b050b in mono_assembly_open_full (filename=0x81d70b0
+"/opt/mono-1.1.6//lib/mono/1.0/mscorlib.dll",
+    status=0xbfffd87c, refonly=0) at assembly.c:881
+#23 0x080af798 in load_in_path (basename=0x81d6fd0
+"mono/1.0/mscorlib.dll", search_path=0x818a070, status=0xbfffd87c,
+    refonly=0 '\0') at assembly.c:254
+#24 0x080b0c6a in mono_assembly_load_corlib (runtime=0x81760c0,
+status=0xbfffd87c) at assembly.c:1201
+#25 0x080b26d1 in mono_init_internal (filename=0xbffff8e7
+"server.exe", exe_filename=0xbfffd87c "",
+    runtime_version=0x81d6fd0 "mono/1.0/mscorlib.dll") at domain.c:387
+#26 0x080b27ab in mono_init_from_assembly (domain_name=0xbffff8e7
+"server.exe", filename=0xbffff8e7 "server.exe")
+    at domain.c:655
+#27 0x08108919 in mini_init (filename=0xbffff8e7 "server.exe") at
+mini.c:9864
+#28 0x0805be7a in mono_main (argc=2, argv=0xbfffda24) at driver.c:801
+#29 0x0805b19f in main (argc=2, argv=0xbfffda24) at main.c:6
+#30 0x42015967 in __libc_start_main () from /lib/i686/libc.so.6
+
+Thread 2:
+#0  0x42028811 in kill () from /lib/i686/libc.so.6
+#1  0x400bdfcd in raise () from /lib/i686/libpthread.so.0
+#2  0x420284b4 in raise () from /lib/i686/libc.so.6
+#3  0x42029bab in abort () from /lib/i686/libc.so.6
+#4  0x40060476 in g_logv () from /usr/lib/libglib-2.0.so.0
+#5  0x400604b4 in g_log () from /usr/lib/libglib-2.0.so.0
+#6  0x080c82a5 in _wapi_handle_unref (handle=0x616) at handles.c:674
+#7  0x080d1812 in mutex_check (handle=0x616, user_data=0x40d01944) at
+../../mono/io-layer/handles-private.h:460
+#8  0x080c6fbc in _wapi_search_handle (type=WAPI_HANDLE_MUTEX,
+check=0x80d1618 <mutex_check>, user_data=0x40d01944,
+    shared=0x0, private=0x0) at handles.c:493
+#9  0x080d1a29 in _wapi_mutex_check_abandoned (pid=0, tid=0) at
+mutexes.c:222
+#10 0x080d8450 in thread_exit (exitstatus=0, handle=0x414) at
+threads.c:135
+#11 0x080da4bb in _wapi_timed_thread_exit (exitstatus=0) at
+timed-thread.c:63
+#12 0x080da695 in timed_thread_start_routine () at timed-thread.c:135
+#13 0x080edd0c in GC_start_routine (arg=0x40d01aac) at
+pthread_support.c:1237
+#14 0x400bb881 in pthread_detach () from /lib/i686/libpthread.so.0
+
+Thread 3:
+#0  0x42028811 in kill () from /lib/i686/libc.so.6
+#1  0x400bdfcd in raise () from /lib/i686/libpthread.so.0
+#2  0x420284b4 in raise () from /lib/i686/libc.so.6
+#3  0x42029bab in abort () from /lib/i686/libc.so.6
+#4  0x40060476 in g_logv () from /usr/lib/libglib-2.0.so.0
+#5  0x400604b4 in g_log () from /usr/lib/libglib-2.0.so.0
+#6  0x0812aa06 in _wapi_daemon_request_response_internal (fd=5,
+msg=0x0, resp=0x4073980c) at daemon-messages.c:121
+#7  0x0812ab98 in _wapi_daemon_request_response (fd=5, req=0x0,
+resp=0x4073980c) at daemon-messages.c:189
+#8  0x080c8264 in _wapi_handle_unref (handle=0x5cd) at handles.c:669
+#9  0x080c94aa in CloseHandle (handle=0x400c4c20) at handles.c:1349
+#10 0x40ad9d4b in ?? ()
+#11 0x40ad9cf0 in ?? ()
+#12 0x40ad9c89 in ?? ()
+#13 0x40ac0428 in ?? ()
+#14 0x08108331 in mono_jit_runtime_invoke (method=0x40b4a8d8,
+obj=0x846f510, params=0x0, exc=0x407399c4) at mini.c:9506
+#15 0x0807feec in mono_runtime_invoke (method=0x40b4a8d8,
+obj=0x846f510, params=0x0, exc=0x407399c4) at object.c:1199
+#16 0x080900ae in run_finalize (obj=0x846f510, data=0x0) at gc.c:100
+#17 0x08090b44 in finalize_domain_objects (req=0x83fded0) at gc.c:645
+#18 0x08090c42 in finalizer_thread (unused=0x0) at gc.c:680
+#19 0x0809f09e in start_wrapper (data=0x82444e8) at threads.c:291
+#20 0x080da68d in timed_thread_start_routine (args=0x82443e8) at
+timed-thread.c:135
+#21 0x080edd0c in GC_start_routine (arg=0x40739aac) at
+pthread_support.c:1237
+#22 0x400bb881 in pthread_detach () from /lib/i686/libpthread.so.0
+