GNU bug report logs - #15750
segfault during snarf-check-and-output-texi on x86_64-darwin11 (guile-2.0.9)

Previous Next

Package: guile;

Reported by: David Fang <fang <at> csl.cornell.edu>

Date: Tue, 29 Oct 2013 21:32:02 UTC

Severity: normal

Done: Mark H Weaver <mhw <at> netris.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 15750 in the body.
You can then email your comments to 15750 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guile <at> gnu.org:
bug#15750; Package guile. (Tue, 29 Oct 2013 21:32:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to David Fang <fang <at> csl.cornell.edu>:
New bug report received and forwarded. Copy sent to bug-guile <at> gnu.org. (Tue, 29 Oct 2013 21:32:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: David Fang <fang <at> csl.cornell.edu>
To: bug-guile <at> gnu.org
Subject: segfault during snarf-check-and-output-texi on x86_64-darwin11
 (guile-2.0.9)
Date: Tue, 29 Oct 2013 17:31:23 -0400 (EDT)
Hi guile team,

platform: x86_64-darwin11 (OS 10.7)
compiler:
Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
Target: x86_64-apple-darwin11.4.2
Thread model: posix

CFLAGS: -g -O2
configured with options "'--prefix=/sw' '--infodir=/sw/share/info' 
'--program-transform-name=s|guile|guile-2.0|g' '-C'"

I've been unable to build guile-procedures.texi due to a segfault while 
guild-snarfing .doc files.  About half of the .doc files in 
$(builddir)/libguile can trigger the segfault when redirected to 
guild snarf-check-and-output-texi.

debug session here: http://paste.lisp.org/display/139704

Here's a gdb stacktrace:

(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /sw/src/fink.build/guile20-2.0.9-1/guile-2.0.9/build/libguile/.libs/guile 
GNU Guile 2.0.9
Copyright (C) 1995-2013 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)> (use-modules (scripts snarf-check-and-output-texi))  (with-input-from-file "objprop.doc" snarf-check-and-output-texi)


object-properties
@c snarfed from ../../libguile/objprop.c:43
@deffn {Scheme Procedure} object-properties obj
Return @var{obj}'s property list.
@end deffn


set-object-properties!
@c snarfed from ../../libguile/objprop.c:59
@deffn {Scheme Procedure} set-object-properties! obj alist
Set @var{obj}'s property list to @var{alist}.
@end deffn


object-property
@c snarfed from ../../libguile/objprop.c:72
@deffn {Scheme Procedure} object-property obj key
Return the property of @var{obj} with name @var{key}.
@end deffn

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000000
scm_iprlist (hdr=<value temporarily unavailable, due to optimizations>, exp=0x196175220, tlr=41, port=0x19617ca30, pstate=0x10115a240) at ../../libguile/print.c:1261
1261      while (scm_is_pair (hare))
(gdb) where
#0  scm_iprlist (hdr=<value temporarily unavailable, due to optimizations>, exp=0x196175220, tlr=41, port=0x19617ca30, pstate=0x10115a240) at ../../libguile/print.c:1261
#1  0x000000010006af59 in iprin1 (exp=<value temporarily unavailable, due to optimizations>, port=0x19617ca30, pstate=0x10115a240) at ../../libguile/print.c:551
#2  0x000000010006bd8a in scm_prin1 (exp=0x196175220, port=<value temporarily unavailable, due to optimizations>, writingp=1) at ../../libguile/print.c:782
#3  0x000000010006cdcc in scm_write (obj=0x196175220, port=<value temporarily unavailable, due to optimizations>) at ../../libguile/print.c:1365
#4  0x0000000100097394 in scm_object_to_string (obj=<value temporarily unavailable, due to optimizations>, printer=<value temporarily unavailable, due to optimizations>) at ../../libguile/strports.c:402
#5  0x00000001000ada45 in vm_debug_engine (vm=0x1011ae5b0, program=0x10012faa8, argv=<value temporarily unavailable, due to optimizations>, nargs=<value temporarily unavailable, due to optimizations>) at vm-i-system.c:855
#6  0x00000001000a1438 in scm_c_vm_run (vm=0x1011ae5b0, program=0x10012faa8, argv=0x7fff5fbfc6c0, nargs=1) at ../../libguile/vm.c:753
#7  0x000000010001ee11 in eval (x=0x11ca3eb80, env=0x19617ca70) at ../../libguile/eval.c:341
#8  0x000000010001e757 in eval (x=0x11ca3e890, env=0x19617ca70) at ../../libguile/eval.c:251
#9  0x000000010001e6e1 in eval (x=0x11ca3e170, env=0x19617ca90) at ../../libguile/eval.c:925
#10 0x000000010001e3a9 in eval (x=0x11ca2b340, env=0x19617cc50) at ../../libguile/eval.c:235
#11 0x000000010001e3a9 in eval (x=0x11ca3ed20, env=0x1961776d0) at ../../libguile/eval.c:235
#12 0x000000010001e757 in eval (x=0x11ca5c020, env=0x1961778d0) at ../../libguile/eval.c:251
#13 0x000000010001ed6e in eval (x=0x101263630, env=0x196176ea0) at ../../libguile/eval.c:297
#14 0x000000010001ee46 in eval (x=0x10124be20, env=0x196176e70) at ../../libguile/eval.c:462
#15 0x000000010001e3a9 in eval (x=0x102d42a60, env=0x1961399a0) at ../../libguile/eval.c:235
#16 0x000000010001e0f2 in boot_closure_apply (closure=<value temporarily unavailable, due to optimizations>, args=<value temporarily unavailable, due to optimizations>) at ../../libguile/eval.c:964
#17 0x00000001000ada45 in vm_debug_engine (vm=0x1011ae5b0, program=0x1011ab360, argv=<value temporarily unavailable, due to optimizations>, nargs=<value temporarily unavailable, due to optimizations>) at vm-i-system.c:855
#18 0x00000001000a1438 in scm_c_vm_run (vm=0x1011ae5b0, program=0x196178680, argv=0x7fff5fbfce70, nargs=1) at ../../libguile/vm.c:753
#19 0x000000010001d5e6 in scm_call_1 (proc=0x196178680, arg1=0x196139a30) at ../../libguile/eval.c:486
#20 0x0000000100097403 in scm_get_output_string [inlined] () at /sw/src/fink.build/guile20-2.0.9-1/guile-2.0.9/libguile/strports.c:432
#21 0x0000000100097403 in scm_call_with_output_string (proc=0x102d42a60) at ../../libguile/strports.c:434
#22 0x00000001000ada33 in vm_debug_engine (vm=0x1011ae5b0, program=0x10012fa88, argv=<value temporarily unavailable, due to optimizations>, nargs=<value temporarily unavailable, due to optimizations>) at vm-i-system.c:852
#23 0x00000001000a1438 in scm_c_vm_run (vm=0x1011ae5b0, program=0x10012fa88, argv=0x7fff5fbfd100, nargs=1) at ../../libguile/vm.c:753
#24 0x000000010001ee11 in eval (x=0x11f807af0, env=0x196139a70) at ../../libguile/eval.c:341
#25 0x000000010001e757 in eval (x=0x11fb28390, env=0x196139aa0) at ../../libguile/eval.c:251
#26 0x000000010001e3a9 in eval (x=0x101263fe0, env=0x196139f00) at ../../libguile/eval.c:235
#27 0x000000010001ed6e in eval (x=0x101263fb0, env=0x196139f00) at ../../libguile/eval.c:297
#28 0x000000010001e0f2 in boot_closure_apply (closure=<value temporarily unavailable, due to optimizations>, args=<value temporarily unavailable, due to optimizations>) at ../../libguile/eval.c:964
#29 0x00000001000ada45 in vm_debug_engine (vm=0x1011ae5b0, program=0x1011ab360, argv=<value temporarily unavailable, due to optimizations>, nargs=<value temporarily unavailable, due to optimizations>) at vm-i-system.c:855
#30 0x00000001000a1d71 in scm_c_vm_run [inlined] () at /sw/src/fink.build/guile20-2.0.9-1/guile-2.0.9/libguile/vm.c:753
#31 0x00000001000a1d71 in scm_call_with_vm (vm=0x1011ae5b0, proc=0x10125b0a0, args=<value temporarily unavailable, due to optimizations>) at ../../libguile/vm.c:1045
#32 0x000000010001c6da in scm_error_scm (key=0x101263fb0, subr=<value temporarily unavailable, due to optimizations>, message=<value temporarily unavailable, due to optimizations>, args=<value temporarily unavailable, due to optimizations>, data=0x0) at ../../libguile/error.c:95
#33 0x000000010001c6ac in scm_error (key=<value temporarily unavailable, due to optimizations>, subr=<value temporarily unavailable, due to optimizations>, message=<value temporarily unavailable, due to optimizations>, args=<value temporarily unavailable, due to optimizations>, rest=<value temporarily unavailable, due to optimizations>) at ../../libguile/error.c:64
#34 0x000000010001ca3c in scm_wrong_type_arg (subr=<value temporarily unavailable, due to optimizations>, pos=<value temporarily unavailable, due to optimizations>, bad_value=<value temporarily unavailable, due to optimizations>) at ../../libguile/error.c:255
#35 0x00000001000a1dcf in scm_call_with_vm (vm=<value temporarily unavailable, due to optimizations>, proc=<value temporarily unavailable, due to optimizations>, args=0x196115140) at ../../libguile/vm.c:1017
#36 0x000000010001edad in eval (x=0x10124be20, env=0x196177e20) at ../../libguile/eval.c:319
#37 0x000000010001ee46 in eval (x=0x10124be20, env=0x196107ce0) at ../../libguile/eval.c:462
#38 0x000000010001e0f2 in boot_closure_apply (closure=<value temporarily unavailable, due to optimizations>, args=<value temporarily unavailable, due to optimizations>) at ../../libguile/eval.c:964
#39 0x00000001000ada45 in vm_debug_engine (vm=0x1011ae5b0, program=0x1011ab360, argv=<value temporarily unavailable, due to optimizations>, nargs=<value temporarily unavailable, due to optimizations>) at vm-i-system.c:855
#40 0x00000001000a1d71 in scm_c_vm_run [inlined] () at /sw/src/fink.build/guile20-2.0.9-1/guile-2.0.9/libguile/vm.c:753
#41 0x00000001000a1d71 in scm_call_with_vm (vm=0x1011ae5b0, proc=0x196104d20, args=<value temporarily unavailable, due to optimizations>) at ../../libguile/vm.c:1045
#42 0x000000010001e4a8 in eval (x=0x1012688c0, env=0x196107d10) at ../../libguile/eval.c:355
#43 0x000000010001ed6e in eval (x=0x101263630, env=0x196107db0) at ../../libguile/eval.c:297
#44 0x000000010001ee46 in eval (x=0x10124be20, env=0x196107d80) at ../../libguile/eval.c:462
#45 0x000000010001ed6e in eval (x=0x10414be20, env=0x196107f20) at ../../libguile/eval.c:297
#46 0x000000010001ee46 in eval (x=0x10124be20, env=0x196107ef0) at ../../libguile/eval.c:462
#47 0x000000010001e91d in eval (x=0x1012681b0, env=0x196107fd0) at ../../libguile/eval.c:276
#48 0x000000010001ed6e in eval (x=0x11cf98ef0, env=0x196105010) at ../../libguile/eval.c:297
#49 0x000000010001ed6e in eval (x=0x101263630, env=0x196105110) at ../../libguile/eval.c:297
#50 0x000000010001ee46 in eval (x=0x10124be20, env=0x1961050e0) at ../../libguile/eval.c:462
#51 0x000000010001e3a9 in eval (x=0x17b8dcc60, env=0x1961053d0) at ../../libguile/eval.c:235
#52 0x000000010001ed6e in eval (x=0x17b8dcaf0, env=0x17d9a5c80) at ../../libguile/eval.c:297
#53 0x000000010001ee46 in eval (x=0x10124be20, env=0x17d9a5890) at ../../libguile/eval.c:462
#54 0x000000010001ed6e in eval (x=0x17b70db40, env=0x17d860f00) at ../../libguile/eval.c:297
#55 0x000000010001e757 in eval (x=0x17b9d15d0, env=0x17b9d3700) at ../../libguile/eval.c:251
#56 0x000000010001e91d in eval (x=0x1012681b0, env=0x17d7d5e20) at ../../libguile/eval.c:276
#57 0x000000010001ee46 in eval (x=0x10124be20, env=0x17b9d3b90) at ../../libguile/eval.c:462
#58 0x000000010001e2d7 in scm_c_primitive_eval (exp=<value temporarily unavailable, due to optimizations>) at ../../libguile/eval.c:678
#59 0x00000001000ada33 in vm_debug_engine (vm=0x1011ae5b0, program=0x1012385e0, argv=<value temporarily unavailable, due to optimizations>, nargs=<value temporarily unavailable, due to optimizations>) at vm-i-system.c:852
#60 0x00000001000a1438 in scm_c_vm_run (vm=0x1011ae5b0, program=0x1012385e0, argv=0x7fff5fbfe6f8, nargs=1) at ../../libguile/vm.c:753
#61 0x000000010001df35 in scm_primitive_eval [inlined] () at /sw/src/fink.build/guile20-2.0.9-1/guile-2.0.9/libguile/eval.c:685
#62 0x000000010001df35 in scm_eval (exp=0x10a3b1860, module_or_state=<value temporarily unavailable, due to optimizations>) at ../../libguile/eval.c:719
#63 0x000000010007979d in scm_shell (argc=<value temporarily unavailable, due to optimizations>, argv=<value temporarily unavailable, due to optimizations>) at ../../libguile/script.c:441
#64 0x000000010003cc82 in invoke_main_func (body_data=0x7fff5fbfeff0) at ../../libguile/init.c:337
#65 0x00000001000158df in c_body (d=0x7fff5fbfeef0) at ../../libguile/continuations.c:511
#66 0x00000001000a43c4 in vm_regular_engine (vm=0x1011ae5b0, program=0x1011ab360, argv=<value temporarily unavailable, due to optimizations>, nargs=<value temporarily unavailable, due to optimizations>) at vm-i-system.c:855
#67 0x00000001000a1438 in scm_c_vm_run (vm=0x1011ae5b0, program=0x10a3a0700, argv=0x7fff5fbfea10, nargs=0) at ../../libguile/vm.c:753
#68 0x000000010001ee11 in eval (x=0x101263660, env=0x10a3a9320) at ../../libguile/eval.c:341
#69 0x000000010001ed6e in eval (x=0x101263630, env=0x10a3a9320) at ../../libguile/eval.c:297
#70 0x000000010001ee46 in eval (x=0x10124be20, env=0x10a3a92f0) at ../../libguile/eval.c:462
#71 0x000000010001e0f2 in boot_closure_apply (closure=<value temporarily unavailable, due to optimizations>, args=<value temporarily unavailable, due to optimizations>) at ../../libguile/eval.c:964
#72 0x00000001000a43c4 in vm_regular_engine (vm=0x1011ae5b0, program=0x1011ab360, argv=<value temporarily unavailable, due to optimizations>, nargs=<value temporarily unavailable, due to optimizations>) at vm-i-system.c:855
#73 0x00000001000a1438 in scm_c_vm_run (vm=0x1011ae5b0, program=0x10125b0e0, argv=0x7fff5fbfee90, nargs=4) at ../../libguile/vm.c:753
#74 0x000000010001d6fa in scm_call_4 (proc=0x1011ab360, arg1=<value temporarily unavailable, due to optimizations>, arg2=<value temporarily unavailable, due to optimizations>, arg3=<value temporarily unavailable, due to optimizations>, arg4=0x196115110) at ../../libguile/eval.c:507
#75 0x00000001000158b1 in scm_i_with_continuation_barrier [inlined] () at /sw/src/fink.build/guile20-2.0.9-1/guile-2.0.9/libguile/continuations.c:449
#76 0x00000001000158b1 in scm_c_with_continuation_barrier (func=<value temporarily unavailable, due to optimizations>, data=<value temporarily unavailable, due to optimizations>) at ../../libguile/continuations.c:548
#77 0x000000010009d8b7 in with_guile_and_parent (base=<value temporarily unavailable, due to optimizations>, data=0x7fff5fbfefc8) at ../../libguile/threads.c:908
#78 0x00000001002b2f9f in GC_call_with_stack_base ()
#79 0x000000010009ac5b in scm_with_guile (func=0x10009d870 <with_guile_and_parent>, data=0x7fff5fbfefc8) at ../../libguile/threads.c:951
#80 0x000000010003cc47 in scm_boot_guile (argc=<value temporarily unavailable, due to optimizations>, argv=<value temporarily unavailable, due to optimizations>, main_func=0x10a3a0700, closure=0x10a3a06e0) at ../../libguile/init.c:320
#81 0x0000000100000e2f in main (argc=1, argv=0x7fff5fbff060) at ../../libguile/guile.c:108


Any idea what went wrong?

Fang

-- 
David Fang
http://www.csl.cornell.edu/~fang/





Information forwarded to bug-guile <at> gnu.org:
bug#15750; Package guile. (Tue, 29 Oct 2013 23:16:01 GMT) Full text and rfc822 format available.

Message #8 received at 15750 <at> debbugs.gnu.org (full text, mbox):

From: David Fang <fang <at> csl.cornell.edu>
To: 15750 <at> debbugs.gnu.org
Subject: Re: bug#15750: Acknowledgement (segfault during
 snarf-check-and-output-texi on x86_64-darwin11 (guile-2.0.9))
Date: Tue, 29 Oct 2013 19:15:31 -0400 (EDT)
More data points:
For guile-2.0.9 also tried building:

x86_64-darwin11, Apple-clang from Xcode-4.6.2 (same as original report) with -g -O1
	also seg-faults

x86_64-darwin11, clang-release-3.3 with -g -O2
	also seg-faults

powerpc-darwin8, Xcode 2.5, apple-gcc-4.0.1 with -g -O2
	works fine

Fang




Information forwarded to bug-guile <at> gnu.org:
bug#15750; Package guile. (Wed, 30 Oct 2013 23:18:03 GMT) Full text and rfc822 format available.

Message #11 received at 15750 <at> debbugs.gnu.org (full text, mbox):

From: David Fang <fang <at> csl.cornell.edu>
To: 15750 <at> debbugs.gnu.org
Subject: Re: bug#15750: Acknowledgement (segfault during
 snarf-check-and-output-texi on x86_64-darwin11 (guile-2.0.9))
Date: Wed, 30 Oct 2013 19:17:01 -0400 (EDT)
On x86_64-darwin11 (clang-built, -g -O2), the exit status of the failure 
is not even consistent from run-to-run, nondeterministic behaviour!

example log:
http://paste.lisp.org/display/139704#8

Fang




Information forwarded to bug-guile <at> gnu.org:
bug#15750; Package guile. (Fri, 01 Nov 2013 18:38:02 GMT) Full text and rfc822 format available.

Message #14 received at 15750 <at> debbugs.gnu.org (full text, mbox):

From: David Fang <fang <at> csl.cornell.edu>
To: 15750 <at> debbugs.gnu.org
Subject: Re: bug#15750: Acknowledgement (segfault during
 snarf-check-and-output-texi on x86_64-darwin11 (guile-2.0.9))
Date: Fri, 1 Nov 2013 14:37:01 -0400 (EDT)
This problem went away by fixing the gc library (which had failed tests 
before).





Reply sent to Mark H Weaver <mhw <at> netris.org>:
You have taken responsibility. (Fri, 01 Nov 2013 19:53:02 GMT) Full text and rfc822 format available.

Notification sent to David Fang <fang <at> csl.cornell.edu>:
bug acknowledged by developer. (Fri, 01 Nov 2013 19:53:03 GMT) Full text and rfc822 format available.

Message #19 received at 15750-done <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: 15750-done <at> debbugs.gnu.org
Subject: Closing this bug
Date: Fri, 01 Nov 2013 15:51:32 -0400



bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 30 Nov 2013 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 11 years and 264 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.