Hi,

On Monday 11 October 2010 09:14:59 Zoltan Varga wrote:
> Hi,
>
>   It looks like an assertion in libgc, in solaris_threads.c. No idea what
> it means.

Not sure about the assertion itself, but for running mono in Solaris you 
should use the latest Boehm GC. The bundled version is somewhat outdated.

I've applied a little patch to enable using Boehm GC 7.2 or later. These 
versions require an additional setup step of automatic registration of 
threads. Not sure whether the patch still applies to Mono 2.8.

Best regards,

Burkhard Linke


Index: configure.in
===================================================================
--- configure.in	(revision 157935)
+++ configure.in	(working copy)
@@ -859,6 +859,13 @@
 		if test "x$found_gc_enable" = "xyes"; then
 			AC_DEFINE(HAVE_GC_ENABLE, 1, [Have 'GC_enable'])
 		fi
+
+		# check whether we need to explicitly allow
+		# thread registering
+		AC_CHECK_LIB(gc, GC_allow_register_threads, found_allow_register_threads="yes",,$libdl)
+		if test "x$found_allow_register_threads" = "xyes"; then
+			AC_DEFINE(HAVE_GC_ALLOW_REGISTER_THREADS, 1, [GC requires thread registration])
+		fi
 		;;
 
 	xincluded)
Index: mono/metadata/boehm-gc.c
===================================================================
--- mono/metadata/boehm-gc.c	(revision 157935)
+++ mono/metadata/boehm-gc.c	(working copy)
@@ -123,6 +123,10 @@
 #ifdef HAVE_GC_GCJ_MALLOC
 	GC_init_gcj_malloc (5, NULL);
 #endif
+#ifdef HAVE_GC_ALLOW_REGISTER_THREADS
+	GC_allow_register_threads();
+#endif
+
 	mono_gc_enable_events ();
 	gc_initialized = TRUE;
 }
_______________________________________________
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list

Reply via email to