[Gc] segfault with CACAO on OpenSolaris

Boehm, Hans hans.boehm at hp.com
Mon Aug 18 14:59:29 PDT 2008


It would be good to understand whether that's the first allocation from a thread, or whether the failing allocation is in a threads that previously succeeded.  It may be that a thread is somehow getting created without setting up the free list structure.  Does 0xc8 correspond to a tsd value of zero?

Hans

> -----Original Message-----
> From: Christian Thalinger [mailto:twisti at complang.tuwien.ac.at]
> Sent: Monday, August 18, 2008 2:25 PM
> To: Boehm, Hans
> Cc: gc ml
> Subject: RE: [Gc] segfault with CACAO on OpenSolaris
>
> On Mon, 2008-08-18 at 20:38 +0000, Boehm, Hans wrote:
> > In the GC7.1 tar file, line 179 in thread_local_alloc.c is a
> > GC_err_printf call that isn't normally compiled in for a standard
> > build.  Can you get the source context, and some information about
> > which access is faulting?
>
> It seems the free list is broken.  I added another print
> before the GC_FAST_MALLOC_GRANS printing tiny_fl too:
>
> <snip>
> GC_malloc(88) : 1, tiny_fl=fffffd7ffedee580
> GC_malloc(88) = 5d7780 : 1
> GC_malloc(72) : 1, tiny_fl=fffffd7ffedee580
> GC_malloc(72) = 5fc5f0 : 1
> GC_malloc(104) : 1, tiny_fl=fffffd7ffedee580
> GC_malloc(104) = 601e00 : 1
> GC_malloc(152) : 1, tiny_fl=fffffd7ffedee580
> GC_malloc(152) = 5b7b40 : 1
> GC_malloc(80) : 1, tiny_fl=fffffd7ffedee580
> GC_malloc(80) = 5fc5a0 : 1
> GC_malloc(72) : 1, tiny_fl=c8
> LOG: [0x0000000000000005] We received a SIGSEGV and tried to
> handle it, but we were
> LOG: [0x0000000000000005] unable to find a Java method at:
> LOG: [0x0000000000000005]
> LOG: [0x0000000000000005] PC=0xfffffd7ffed06afd
> LOG: [0x0000000000000005]
> LOG: [0x0000000000000005] Dumping the current stacktrace:
>         at
> java.lang.VMProcess.nativeSpawn([Ljava/lang/String;[Ljava/lang
> /String;Ljava/io/File;Z)V(Native Method)
>         at
> java.lang.VMProcess$ProcessThread.spawn(Ljava/lang/VMProcess;)
> V(VMProcess.java:203)
>         at
> java.lang.VMProcess$ProcessThread.run()V(VMProcess.java:140)
>         at java.lang.VMThread.run()V(VMThread.java:120)
> LOG: [0x0000000000000005] Exiting...
>
> Unfortunately tsd is optimized away, so I have to recompile
> it.  Will do that tomorrow.
>
> - twisti
>
>



More information about the Gc mailing list