Mono's XSP crashes on browser connection

Tom McLaughlin tmclaugh at sdf.lonestar.org
Fri Mar 4 05:24:49 GMT 2005


On Fri, 2005-03-04 at 07:37 +0800, David Xu wrote:
> Jeremy Messenger wrote:
> 
> > On Thu, 3 Mar 2005 10:15:44 -0500, Craig Rodrigues  
> > <rodrigc at crodrigues.org> wrote:
> >
> >> On Thu, Mar 03, 2005 at 10:32:41PM +0800, David Xu wrote:
> >>
> >>> whether _POSIX_THREAD_PROCESS_SHARED is defined or not in
> >>> source code,  but he failed to respect this macro at many places, so 
> >>> the
> >>> macro is rather bogus.
> >>
> >
> > David, thanks for dig it deeper!
> 
> So my conclusion is mono can not be used on FreeBSD, because process
> sharable mutex and condition variable are not supported. it is possible
> writting a special version of mutex and condition variable for mono by
> using kernel umtx code, but now umtx is also broken by a FEATURE
> called swappable kernel stack, otherwise, someone can just pick up
> code from my private pthread library,
> http://people.freebsd.org/~davidxu/libthread.tgz
> in the library, mutex and condition variable structure can be put on
> shared memory segments, there is no pointer in the structure, only
> counter and some bit flags.

David, what are the plans for libthread in the future?  Is your library
intended to replace libpthread, intended as an alternate source for
introducing things into libpthread, or, well I don't know.

My concern is the growing popularity of Mono on Linux and .NET in
general.  Mono also affects Gnome since most free software C# apps I've
found use gtk#.  The C# case I gave you is a fairly common thing to do
and currently it prevents the XSP webserver for ASP.NET apps from being
supported on FreeBSD and MonoDevelop which is an IDE geared towards
Mono.  (The Eclipse C# plugin is pants and while I'm happy with Vim for
now, the FreeBSD Mono users want MonoDevelop.)  As the current crop of
apps mature I can see more things breaking.  I'm not sure what other
bugs lurk with Mono on FreeBSD yet since the Mono and the apps using it
are not yet fully mature.

Mono isn't popular in the *BSD world yet.  I assume it will soon become
fairly popular based on the entities supporting it either directly
(Novell) or indirectly (Microsoft).  Mono is currently supported on
FreeBSD by Jeremy Messenger and myself.  Both of us are learning as we
go along.  I'm looking to attract at least another port maintainer right
now because maintaining the existing ports and adding new ones is a job
in and of itself.  Currently I have about 20 ports and a list of about
20 more that look promising.  I could even use a C# programmer who can
help me as I slowly get up to speed with the language.  I can't attract
more help with Mono being fairly unstable on FreeBSD.  It's an odd
circle with Mono.  I can't attract help because there are so few apps in
the ports tree.  I can't get more apps in the ports tree because I can't
attract help.

In short, I don't want to see Mono a year or two from now barely limping
along on FreeBSD like it has for so long.  I don't want to see users
turning away from FreeBSD because their favorite app from the Linux
distro they use is not available.  I don't want to be playing catchup
with port availability a few years from now either. Alright, I need
sleep now.  Anything you can tell me about the possibility of seeing
some of your libthread changes in FreeBSD would be great.  Thanks.

Tom

-- 

BSD# Project - Porting Mono to FreeBSD
http://forge.novell.com/modules/xfmod/project/?bsd-sharp



More information about the freebsd-threads mailing list