Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 07 Oct 2003 00:57:45 +0100
From:      Jay Cornwall <jay@evilrealms.net>
To:        Joe Marcus Clarke <marcus@marcuscom.com>
Cc:        FreeBSD GNOME Users <gnome@freebsd.org>
Subject:   Re: FreeBSD Current lang/mono runtime problems
Message-ID:  <3F820179.80100@evilrealms.net>
In-Reply-To: <1065477237.748.95.camel@gyros>
References:  <3F81E292.8070308@evilrealms.net> <1065477237.748.95.camel@gyros>

next in thread | previous in thread | raw e-mail | index | archive | help
Joe Marcus Clarke wrote:

>>[jay@python mono]$ mcs --version
>>Mono C# compiler version 0.27.0.0
>>
>>And never finishes. I tried to get an strace, but that seems to have 
>>issues with a missing /proc filesystem. Is there any more useful 
>>information I can obtain under FreeBSD to help debug this?

> Mono doesn't work on FreeBSD.  The problem seems to be in the garbage
> collector.  If you build mono without GC, it should work okay (but never
> release memory).

Ah, hmm.

> Honestly, gnome@ doesn't really want mono since no one here is really a
> C# user.  We are keeping it since one of our developers, Juli Mallett,
> has been busy, but wants to get back into Mono.  In the meantime, if you
> want to look at improving boehm-gc on FreeBSD, I'm sure your
> contributions will not be turned down.

Well I've had a brief look tonight, but free time is a little on the 
short side at the moment.

It seems a segfault occurs inside mono-0.28/mono/mini.c:7291, 
sigusr1_signal_handler(). In order to identify the thread (through 
mono_current_thread()), mono/metadata/threads.c stores the MonoThread * 
in a thread-local structure using pthread_setspecific in previously 
called methods of mono/metadata/threads.c.

Dropping in a few debug statements shows that a thread is entering 
sigusr1_signal_handler() that hasn't previously had its MonoThread * set 
(it may not even be a MonoThread, for all I know). That's the direct 
reason for the crash - to find the indirect reason, i.e. why this thread 
is entering without its MonoThread * set, will take me a bit longer.

Enough technobabble, I'll try and find the bug and fix it!

-- 
Cheers,
Jay

http://www.evilrealms.net/ - Systems Administrator & Developer
http://www.ic.ac.uk/ - Imperial College, 2nd year CS student



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3F820179.80100>