From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mark H Weaver Newsgroups: gmane.lisp.guile.devel Subject: Re: boehm-gc troubles with 2.0.10 on NetBSD/i386 Date: Fri, 11 Apr 2014 13:21:23 -0400 Message-ID: <87mwfrg4to.fsf@yeeloong.lan> References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1397236996 9544 80.91.229.3 (11 Apr 2014 17:23:16 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 11 Apr 2014 17:23:16 +0000 (UTC) Cc: guile-devel@gnu.org To: Greg Troxel Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Fri Apr 11 19:23:09 2014 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1WYfAN-00007e-U5 for guile-devel@m.gmane.org; Fri, 11 Apr 2014 19:23:04 +0200 Original-Received: from localhost ([::1]:59162 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WYfAN-0002f0-H8 for guile-devel@m.gmane.org; Fri, 11 Apr 2014 13:23:03 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38481) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WYfAD-0002JB-CI for guile-devel@gnu.org; Fri, 11 Apr 2014 13:22:59 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WYfA3-00040O-9T for guile-devel@gnu.org; Fri, 11 Apr 2014 13:22:53 -0400 Original-Received: from world.peace.net ([96.39.62.75]:51520) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WYfA3-00040D-5e for guile-devel@gnu.org; Fri, 11 Apr 2014 13:22:43 -0400 Original-Received: from 209-6-91-212.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com ([209.6.91.212] helo=yeeloong.lan) by world.peace.net with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1WYf9v-0002RK-GE; Fri, 11 Apr 2014 13:22:35 -0400 In-Reply-To: (Greg Troxel's message of "Fri, 11 Apr 2014 09:14:20 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 96.39.62.75 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:17052 Archived-At: Hi Greg, Greg Troxel 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.