GNU bug report logs -
#13416
guile e0c211b segfaults when linked against libgc 7.1
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 13416 in the body.
You can then email your comments to 13416 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guile <at> gnu.org
:
bug#13416
; Package
guile
.
(Sat, 12 Jan 2013 02:56:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Ben Noordhuis <info <at> bnoordhuis.nl>
:
New bug report received and forwarded. Copy sent to
bug-guile <at> gnu.org
.
(Sat, 12 Jan 2013 02:56:03 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
$ uname -a
Linux zoidberg 3.7.0-rc7 #17 SMP Mon Nov 26 04:46:11 CET 2012 x86_64
x86_64 x86_64 GNU/Linux
$ apt-cache show libgc-dev | grep ^Version
Version: 1:7.1-8ubuntu0.12.04.1
Version: 1:7.1-8build1
$ ./configure --prefix=$HOME/opt/guile --enable-silent-rules
--disable-shared --disable-static
<snip>
$ make -j8
<snip>
gc.c:212:1: warning: 'GC_get_free_space_divisor' defined but not used
[-Wunused-function]
<snip>
weak-set.c: In function 'move_weak_entry':
weak-set.c:180:11: warning: passing argument 1 of 'GC_base' makes
pointer from integer without a cast [enabled by default]
/usr/include/gc/gc.h:308:15: note: expected 'void *' but argument is
of type 'scm_t_bits'
weak-set.c:180:11: warning: passing argument 2 of
'GC_general_register_disappearing_link' makes pointer from integer
without a cast [enabled by default]
/usr/include/gc/gc.h:744:12: note: expected 'void *' but argument is
of type 'scm_t_bits'
<snip>
make[3]: Entering directory `/home/bnoordhuis/src/guile2/libguile'
GEN guile-procedures.texi
/bin/bash: line 1: 27907 Broken pipe cat alist.doc
arbiters.doc array-handle.doc array-map.doc arrays.doc async.doc
backtrace.doc boolean.doc bitvectors.doc bytevectors.doc chars.doc
control.doc continuations.doc debug.doc deprecated.doc deprecation.doc
dynl.doc dynwind.doc eq.doc error.doc eval.doc evalext.doc expand.doc
extensions.doc feature.doc filesys.doc fluids.doc foreign.doc
fports.doc gc-malloc.doc gc.doc gettext.doc generalized-arrays.doc
generalized-vectors.doc goops.doc gsubr.doc guardians.doc hash.doc
hashtab.doc hooks.doc i18n.doc init.doc ioext.doc keywords.doc
list.doc load.doc macros.doc mallocs.doc memoize.doc modules.doc
numbers.doc objprop.doc options.doc pairs.doc ports.doc print.doc
procprop.doc procs.doc promises.doc r6rs-ports.doc random.doc
rdelim.doc read.doc root.doc rw.doc scmsigs.doc script.doc simpos.doc
smob.doc sort.doc srcprop.doc srfi-1.doc srfi-4.doc srfi-13.doc
srfi-14.doc srfi-60.doc stackchk.doc stacks.doc stime.doc strings.doc
strorder.doc strports.doc struct.doc symbols.doc threads.doc throw.doc
trees.doc uniform.doc values.doc variable.doc vectors.doc version.doc
vports.doc weak-set.doc weak-table.doc weak-vector.doc dynl.doc
posix.doc net_db.doc socket.doc regex-posix.doc
27908 Segmentation fault (core dumped) |
GUILE_AUTO_COMPILE=0 ../meta/uninstalled-env guild
snarf-check-and-output-texi > guile-procedures.texi
$ gdb libguile/guile libguile/core
Reading symbols from /home/bnoordhuis/src/guile2/libguile/guile...done.
[New LWP 27776]
[New LWP 27795]
warning: Can't read pathname for load map: Input/output error.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/home/bnoordhuis/src/guile2/libguile/guile -e
(@@ (guild) main) -s /home/bnoord'.
Program terminated with signal 11, Segmentation fault.
#0 0x00002b8550ca7362 in GC_generic_malloc_inner () from /usr/lib/libgc.so.1
(gdb) bt full 10
#0 0x00002b8550ca7362 in GC_generic_malloc_inner () from /usr/lib/libgc.so.1
No symbol table info available.
#1 0x00002b8550ca4bc9 in GC_general_register_disappearing_link ()
from /usr/lib/libgc.so.1
No symbol table info available.
#2 0x00000000004767bb in register_disappearing_links
(entry=0x2889970, k=<optimized out>, v=<optimized out>,
kind=<optimized out>) at weak-table.c:133
No locals.
#3 0x0000000000476c7c in weak_table_put_x (table=0x1cf7cc0,
hash=<optimized out>, pred=0x476010 <assq_predicate>,
closure=0x2c46350, key=0x2c46350, value=0x2c43950) at weak-table.c:707
k = 6074
distance = 0
size = 14051
entries = 0x2866000
#4 0x000000000047720b in scm_c_weak_table_put_x (table=<optimized
out>, raw_hash=796165648183374467, pred=0x476010 <assq_predicate>,
closure=0x2c46350, key=<optimized out>, value=<optimized out>) at
weak-table.c:931
t = 0x1cf7cc0
#5 0x000000000043ecbc in scm_set_source_properties_x (obj=<optimized
out>, alist=0x2c43950) at srcprop.c:209
No locals.
#6 0x0000000000472d04 in vm_regular_engine (vm=0x1d589c0,
program=0x70d128, argv=0x7fffcfb2c020, nargs=2) at vm-i-system.c:866
subr = 0x43eca0 <scm_set_source_properties_x>
vp = 0x1d59f50
objects = 0x1d59f50
stack_limit = 0x1dd9000
current_thread = 0x1cf5e00
registers = {{
__jmpbuf = {7393576, -835748929747507041, 30561392, 772,
2, 2, -835748932025014113, 835784069652457631},
__mask_was_saved = 0,
__saved_mask = {
__val = {17610995143953655967, 30778248, 30771648, 1, 1,
30777168, 30561392, 31297536, 30501248, 30498784, 30367232, 30778240,
33597536, 0, 47851586127694, 16}
}
}}
jump_table_pointer = 0x1d25470
jump_table = 0x1d25470
#7 0x0000000000499c86 in eval (x=0x208c070, env=0x2c46330) at eval.c:340
argv = 0x7fffcfb2c020
i = <optimized out>
mx = 0x304
proc = 0x70d128
args = <optimized out>
argc = 2
#8 0x0000000000499176 in eval (x=0x208df70, env=0x2c46330) at eval.c:234
mx = 0x208df80
proc = <optimized out>
args = <optimized out>
argc = <optimized out>
#9 0x0000000000499c50 in eval (x=0x20b0620, env=0x2c46630) at eval.c:338
argv = 0x7fffcfb2c340
i = <optimized out>
mx = 0x20b0660
proc = 0x1de80a0
args = <optimized out>
argc = 2
#10 0x0000000000499afe in prepare_boot_closure_env_for_eval
(inout_env=0x7fffcfb2c520, out_body=0x7fffcfb2c528, exps=0x20b0610,
argc=<optimized out>, proc=0x1f0a8a0) at eval.c:922
nreq = 2
new_env = 0x20f0a90
Upgrading libgc fixes the issue so it's presumably an API/ABI mismatch.
I get some compiler warnings after upgrading. I'm appending them for
posterity but feel free to ignore them.
gc.c: In function 'scm_gc_stats':
gc.c:313:3: warning: 'GC_gc_no' is deprecated (declared at
/home/bnoordhuis/opt/libgc/include/gc/gc.h:76)
[-Wdeprecated-declarations]
gc.c: In function 'scm_storage_prehistory':
gc.c:625:3: warning: 'GC_all_interior_pointers' is deprecated
(declared at /home/bnoordhuis/opt/libgc/include/gc/gc.h:143)
[-Wdeprecated-declarations]
<snip>
guardians.c: In function 'scm_init_guardians':
guardians.c:358:3: warning: 'GC_java_finalization' is deprecated
(declared at /home/bnoordhuis/opt/libgc/include/gc/gc.h:169)
[-Wdeprecated-declarations]
Hope that helps. Let me know if you want more details or want me try
out something.
Reply sent
to
Andy Wingo <wingo <at> pobox.com>
:
You have taken responsibility.
(Thu, 07 Mar 2013 22:13:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
Ben Noordhuis <info <at> bnoordhuis.nl>
:
bug acknowledged by developer.
(Thu, 07 Mar 2013 22:13:01 GMT)
Full text and
rfc822 format available.
Message #10 received at 13416-close <at> debbugs.gnu.org (full text, mbox):
On Sat 12 Jan 2013 03:22, Ben Noordhuis <info <at> bnoordhuis.nl> writes:
> gc.c:212:1: warning: 'GC_get_free_space_divisor' defined but not used
This comes (I think) from configuring Guile against one version of
libgc, then upgrading or downgrading libgc, and then running "make"
without reconfiguring.
Closing as not a bug.
Andy
--
http://wingolog.org/
Information forwarded
to
bug-guile <at> gnu.org
:
bug#13416
; Package
guile
.
(Fri, 08 Mar 2013 08:13:01 GMT)
Full text and
rfc822 format available.
Message #13 received at 13416 <at> debbugs.gnu.org (full text, mbox):
On Thu, Mar 7, 2013 at 11:13 PM, GNU bug Tracking System
<help-debbugs <at> gnu.org> wrote:
>> gc.c:212:1: warning: 'GC_get_free_space_divisor' defined but not used
>
> This comes (I think) from configuring Guile against one version of
> libgc, then upgrading or downgrading libgc, and then running "make"
> without reconfiguring.
>
> Closing as not a bug.
I ran configure and make on a fresh clone so that can't have been it.
That said, some months have passed now and the system where I ran into
this issue has been upgraded wholesale. I can't help you in tracking
it down further.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Fri, 05 Apr 2013 11:24:02 GMT)
Full text and
rfc822 format available.
This bug report was last modified 12 years and 162 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.