[Mono-list] Re: Mono release 0.12 / RH7.3 / segmentation fault

Paolo Molaro lupus@ximian.com
Sun, 16 Jun 2002 18:34:30 +0200

Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On 06/16/02 Christophe VG wrote:
> On Sun, 2002-06-16 at 15:10, Miguel de Icaza wrote:
> > Yes, I did.  I had to download and install the latest libgc (Just do a 
> > google search for "boehm gc", and it will be the first match).  You have to 
> > compile this first, and then mono, and it works just fine. 
> > I also just installed Red Hat 7.3 this week and ran into the same issue. 
> [root@taurus root]# rpm -qa | grep libgc
> libgc6-devel-6.1-1                        <----- brand new
> libgc6-6.1-1                              <----- brand new
> [root@taurus root]# rpm -qa | grep mono 
> mono-0.12_baselabs-20020616               <----- brand new
> [root@taurus root]# mono
> Segmentation fault                        <----- still :-(
> I'm sorry to say, but for me the problem isn't solved ... I downloaded
> the latest libgc6 sources and rebuild the RPMs on RH7.2, then did the
> same for the mono RPMs. They all run happily on RH7.2 ... but installing
> and using them on RH7.3 still segfaults ...
> Conclusion ... I'm still not able to compile the RPMs on RH7.2 and use
> them on RH7.3 :-(

From the stack trace I saw in a report the problem is not related at all
to mono, but to some sort of binary incompatibility that may involve
libgc, libpthread and libdl. Could you try compiling the attached
program on rh 7.2 and run it on 7.3 and report if it segfaults there?
Use the command line in the comment.
The source of the problem may be libgc poking inside some data structures
used by libdl/libc that may have changed.



lupus@debian.org                                     debian/rules
lupus@ximian.com                             Monkeys do it better

Content-Type: text/x-csrc; charset=us-ascii
Content-Disposition: attachment; filename="gc-rh73.c"

#include <gc/gc.h>
#include <glib.h>
#include <gmodule.h>
 * gcc -o gc-rh73 gc-rh73.c `pkg-config --cflags --libs glib-2.0 gmodule-2.0` -lgc  -lrt -lnsl

int main() {
	GModule *m = g_module_open ("blah", G_MODULE_BIND_LAZY);
	void *p = GC_malloc(1024);
	return 0;