[Mono-bugs] [Bug 75202][Nor] New - Hang exiting a threaded program
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Thu Jun 9 17:55:11 EDT 2005
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 joeshaw at novell.com.
http://bugzilla.ximian.com/show_bug.cgi?id=75202
--- shadow/75202 2005-06-09 17:55:11.000000000 -0400
+++ shadow/75202.tmp.19117 2005-06-09 17:55:11.000000000 -0400
@@ -0,0 +1,97 @@
+Bug#: 75202
+Product: Mono: Runtime
+Version: 1.1
+OS:
+OS Details:
+Status: NEW
+Resolution:
+Severity:
+Priority: Normal
+Component: io-layer
+AssignedTo: mono-bugs at ximian.com
+ReportedBy: joeshaw at novell.com
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL:
+Cc:
+Summary: Hang exiting a threaded program
+
+We have a helper program in Beagle which uses threads and async IO to talk
+over a unix domain socket to the beagle daemon. About one time in ten the
+app will hang after the last line of the app runs and never exits. The
+thread that does the IO seems to work fine; the data is sent successfully
+to the remote side, but I'm not sure how to debug threads further.
+
+This is using both 1.1.7 on Ubuntu and 1.1.7.3 on SUSE 9.3. The debugging
+info that follows is from Ubuntu.
+
+Attaching strace to the program, it prints:
+
+futex(0x81a4170, FUTEX_WAIT, 1, NULL
+
+and never exits. gdb backtrace:
+
+Thread 4 (Thread -1218753616 (LWP 27967)):
+#0 0xffffe410 in ?? ()
+#1 0xb75b4ad8 in ?? ()
+#2 0x081a1148 in ?? ()
+#3 0x00000000 in ?? ()
+#4 0xb7f3ace6 in __nanosleep_nocancel ()
+ from /lib/tls/i686/cmov/libpthread.so.0
+#5 0x080e65d3 in mono_once ()
+#6 0xb7f35ae0 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
+#7 0xb7eadc9a in clone () from /lib/tls/i686/cmov/libc.so.6
+
+Thread 3 (Thread -1218835536 (LWP 27968)):
+#0 0xffffe410 in ?? ()
+#1 0xb75a0988 in ?? ()
+#2 0x00000002 in ?? ()
+#3 0x00000000 in ?? ()
+#4 0xb7f3800e in pthread_cond_wait@@GLIBC_2.3.2 ()
+ from /lib/tls/i686/cmov/libpthread.so.0
+#5 0x080ef503 in _wapi_namespace_timestamp_release ()
+#6 0x080f0a18 in _wapi_namespace_timestamp_release ()
+#7 0x08135b8f in mono_gchandle_free ()
+#8 0x080a42dc in mono_thread_get_tls_offset ()
+---Type <return> to continue, or q <return> to quit---
+#9 0x080f16e0 in _wapi_namespace_timestamp_release ()
+#10 0x080fe90b in GC_end_blocking ()
+#11 0xb7f35ae0 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
+#12 0xb7eadc9a in clone () from /lib/tls/i686/cmov/libc.so.6
+
+Thread 2 (Thread -1230300240 (LWP 28010)):
+#0 0xffffe410 in ?? ()
+#1 0xb6ab1a18 in ?? ()
+#2 0x00000200 in ?? ()
+#3 0x0895fe48 in ?? ()
+#4 0xb7eae17e in epoll_wait () from /lib/tls/i686/cmov/libc.so.6
+#5 0x080d1bbe in mono_register_jit_icall ()
+#6 0x080a42dc in mono_thread_get_tls_offset ()
+#7 0x080f16e0 in _wapi_namespace_timestamp_release ()
+#8 0x080fe90b in GC_end_blocking ()
+#9 0xb7f35ae0 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
+#10 0xb7eadc9a in clone () from /lib/tls/i686/cmov/libc.so.6
+
+Thread 1 (Thread -1210212224 (LWP 27966)):
+#0 0xffffe410 in ?? ()
+#1 0xbffff4b8 in ?? ()
+#2 0x00000001 in ?? ()
+#3 0x00000000 in ?? ()
+---Type <return> to continue, or q <return> to quit---
+#4 0xb7f3800e in pthread_cond_wait@@GLIBC_2.3.2 ()
+ from /lib/tls/i686/cmov/libpthread.so.0
+#5 0x080ef2fc in _wapi_namespace_timestamp_release ()
+#6 0x080f125a in _wapi_namespace_timestamp_release ()
+#7 0x080a5ae4 in mono_install_thread_callbacks ()
+#8 0x080a5d55 in mono_thread_manage ()
+#9 0x0805c62e in mono_main ()
+#10 0x0805b0cb in ?? ()
+#11 0x00000008 in ?? ()
+#12 0xbffff714 in ?? ()
+#13 0xbffff6e8 in ?? ()
+#14 0xb7df08c8 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
+#15 0xb7df08c8 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
+#16 0x0805b001 in ?? ()
+#0 0xffffe410 in ?? ()
+
+The blocking on the futex is also what happens in bug 75007.
More information about the mono-bugs
mailing list