[Gc] Segfault in GC_mark_from

Boehm, Hans hans.boehm at hp.com
Tue Oct 21 16:43:20 PDT 2008


This sounds like a bug that was fixed by the second check-in on 2008-08-21.  Do you have that one in your tree, or just the first 08-21 checkin?

Sorry about the slow response.  Still trying to catch up ...

Hans

> -----Original Message-----
> From: gc-bounces at napali.hpl.hp.com
> [mailto:gc-bounces at napali.hpl.hp.com] On Behalf Of Ivan Maidanski
> Sent: Sunday, October 12, 2008 10:07 AM
> To: gc at napali.hpl.hp.com
> Subject: Re[2]: [Gc] Segfault in GC_mark_from
>
> Hi!
>
> Klaus Treichel <ktreichel at web.de> wrote:
> > Hi,
> >
> > i finally managed to reproduce the segfault on one of my
> boxes running
> > a ?x86 Linux.
> >
> > libgc is built with assertions enabled but without mmap and munmap.
> You are not using THREAD_LOCAL_ALLOC and PARALLEL_MARK, aren't you?
> And, on the contrary, ALL_INTERIOR_POINTERS should be defined.
>
> >
> >
> > Program received signal SIGSEGV, Segmentation fault.
> > [Switching to Thread 0xb69b7b90 (LWP 6451)] GC_mark_from
> > (mark_stack_top=0x819c110, mark_stack=0x819c000,
> >     mark_stack_limit=0x81a4000) at mark.c:795
> > 795               deferred = *(word *)limit;
> > (gdb) print limit
> > $1 = 0x83f20b8 <Address 0x83f20b8 out of bounds>
> > (gdb) print mark_stack_top[0]
> > $4 = {mse_start = 0x83f20bc <Address 0x83f20bc out of bounds>,
> >   mse_descr = 2064244}
>
> Please insert something like
> "GC_noop1(*(word*)...->mse_start);" after every place in
> gclib where mse_start is changed. And try to reproduce the
> segfault again...
>
> > (gdb) call GC_dump()
> > ....
> >
> > This is the bt of an other thread.
> > I don't know if that's something important.
> >
> > #0  0xffffe410 in __kernel_vsyscall ()
> > #1  0xb7d58d77 in sigsuspend () from /lib/libc.so.6
> > #2  0x0810c5f2 in GC_suspend_handler_inner (
> >     sig_arg=0x1e <Address 0x1e out of bounds>, context=0xb71b77dc)
> >     at pthread_stop_world.c:202
> > #3  0x0810c657 in GC_suspend_handler (sig=30, info=0xb71b775c,
> >     context=0xb71b77dc) at pthread_stop_world.c:142
> > #4  <signal handler called>
> > #5  0xb7d9d1f7 in memset () from /lib/libc.so.6
> > #6  0x08100eac in GC_generic_malloc (lb=208915, k=4) at malloc.c:189
> > #7  0x08108eb1 in GC_malloc_explicitly_typed (lb=208915,
> d=1073741825)
> >     at typd_mlc.c:611
> It seems to look good... (the world is stopped).
>
> >
> > Any Hints where to look at ?
> >
> > Klaus
>
> Bye.
>
> PS. Please, don't reply to me - just post to the list
> (otherwise I'm getting it twice).
>
> _______________________________________________
> Gc mailing list
> Gc at linux.hpl.hp.com
> http://www.hpl.hp.com/hosted/linux/mail-archives/gc/
>



More information about the Gc mailing list