[Mono-bugs] [Bug 68134][Maj] Changed - Mono runtime hangs on FreeBSD 4.8

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Tue, 16 Nov 2004 13:40:04 -0500 (EST)


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 cmcclellen@weather.com.

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

--- shadow/68134	2004-10-14 15:15:05.000000000 -0400
+++ shadow/68134.tmp.31948	2004-11-16 13:40:04.000000000 -0500
@@ -141,6 +141,32 @@
 and condition variables use the same sleep queue, which causes 
 pthread_cond_broadcast, etc, to go into infinite loops trying to 
 walk them.
 
 We're testing a fix to libc_r now.  I'll change state to notabug, 
 since it doesn't seem to be Mono at all.
+
+------- Additional Comments From cmcclellen@weather.com  2004-11-16 13:40 -------
+As a follow up, we've found some problems in libc_r so have tried 
+FreeBSD 5.x and 6.x (freebsd-current).  What we've found is a few 
+race conditions inside libpthread, and a couple of deadlock 
+situations with signal-handlers.  libgc's suspend handler can cause 
+a deadlock (not libgc's fault).
+
+Other problems include getting signals at the wrong time when 
+waiting on a condition var or a mutex.  These can cause other 
+deadlocks or syncq corruption (depending on when signals are 
+received).  
+
+Testing a patch to freebsd-current right now that makes everything 
+much better.  If it works well, there is a good chance it will get 
+put back into freebsd5.  libc_r will most likely not be able to run 
+mono (so freebsd 4.x will most likely be out of luck unless you use 
+LinuxThreads library).  libc_r needs to be 386 (yes an actual 386) 
+compatible, so there will probably always be a locking bug in it. 
+We'll see.
+
+So currently, freebsd 4.x, 5.x and 6.x will have big problems 
+running mono.  Soon, at least, hopefully 6.x then 5.x will run it 
+fine.
+
+