guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: boehm-gc troubles with 2.0.10 on NetBSD/i386


From: Mark H Weaver
Subject: Re: boehm-gc troubles with 2.0.10 on NetBSD/i386
Date: Fri, 11 Apr 2014 13:21:23 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Hi Greg,

Greg Troxel <address@hidden> writes:

> There's a draft package for guile 2.  boehm-gc in pkgsrc on NetBSD is
> built without threads, and I have --disable-threads passed to guile's
> configure.

As documented in our README and the output of ./configure --help,
"--without-threads" is the option you should be using.  To be honest,
I'm not sure what "--disable-threads" will do, if anything.  It's
possible that gnulib is somehow enabling that option to be accepted
without an error.

Also, please don't use Guile 2.0.10.  It was a brown-paper-bag release.
Please use Guile 2.0.11, which was released 3 days after 2.0.10.

> The build goes ok until trying to run guild.  Just starting it without
> args leads to:
>
> /usr/pkgsrc/wip/guile2/work/guile-2.0.10/libguile > ../meta/uninstalled-env 
> ../meta/guild
> 0xbbbe12d4 is not a GC visible pointer location
> GC_is_visible test failed
> Abort trap (core dumped)

The relevant code is in gc.c line 632, which verifies that the GC can
see the static variable 'scm_protects' defined in the same file.  If it
can't, that indicates a serious problem with the garbage collector.

Before I investigate this any further, can you try with Guile 2.0.11 and
passing "--without-threads" to ./configure?

    Regards,
      Mark


> Trying with gdb:
>
> Starting program: 
> /u0/n0/gdt/NetBSD-current/pkgsrc/wip/guile2/work/guile-2.0.10/libguile/.libs/guile
>  
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to LWP 1]
> 0xbba868ae in GC_find_limit_with_bound () from /usr/pkg/lib/libgc.so.1
> (gdb) bt
> #0  0xbba868ae in GC_find_limit_with_bound () from /usr/pkg/lib/libgc.so.1
> #1  0xbba8696e in GC_find_limit () from /usr/pkg/lib/libgc.so.1
> #2  0xbba8699d in GC_init_netbsd_elf () from /usr/pkg/lib/libgc.so.1
> #3  0xbba85b3f in GC_init () from /usr/pkg/lib/libgc.so.1
> #4  0xbbaf9748 in scm_storage_prehistory () from .libs/libguile-2.0.so.29
> #5  0xbbb0abaf in scm_i_init_guile () from .libs/libguile-2.0.so.29
> #6  0xbbb670bc in scm_i_init_thread_for_guile () from .libs/libguile-2.0.so.29
> #7  0xbbb672d7 in with_guile_and_parent () from .libs/libguile-2.0.so.29
> #8  0xbba85767 in GC_call_with_stack_base () from /usr/pkg/lib/libgc.so.1
> #9  0xbbb674b9 in scm_with_guile () from .libs/libguile-2.0.so.29
> #10 0xbbb0ab67 in scm_boot_guile () from .libs/libguile-2.0.so.29
> #11 0x08048ce9 in main ()
>
> When I run the included tests on boehm-gc 7.2e, they all past.
>
>
> So I wonder if you think this is a boehm-gc issue, or something odd that
> guile is doing to boehm-gc.  Any hints would be appreciated.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]