Hi Greg, Greg Troxel <g...@ir.bbn.com> 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.