GNU bug report logs -
#25386
guile-2.0 and 2.2 thread leakage+crash; very simple test attached.
Previous Next
Reported by: linasvepstas <at> gmail.com
Date: Sat, 7 Jan 2017 21:49:01 UTC
Severity: normal
Tags: fixed
Done: Andy Wingo <wingo <at> pobox.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Since above works so swimmingly in the bove example, I tried it in a
production system. Calling gc shortly before thread exit results in a
crash, always the same crash, always in under 20 minutes:
guile: hashtab.c:137: vacuum_weak_hash_table: Assertion `removed <= len'
failed.
Aborted
again, this is for guile -v
guile (GNU Guile) 2.0.11
Packaged by Debian (2.0.11-deb+1-10)
Perhaps this is fixed in 2.0.13 ???
guile: hashtab.c:137: vacuum_weak_hash_table: Assertion `removed <= len' failed.
Thread 1416 "guile" received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffe7b7fe700 (LWP 29883)]
0x00007ffff749e428 in __GI_raise (sig=sig <at> entry=6)
at ../sysdeps/unix/sysv/linux/raise.c:54
54 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x00007ffff749e428 in __GI_raise (sig=sig <at> entry=6)
at ../sysdeps/unix/sysv/linux/raise.c:54
#1 0x00007ffff74a002a in __GI_abort () at abort.c:89
#2 0x00007ffff7496bd7 in __assert_fail_base (fmt=<optimized out>,
assertion=assertion <at> entry=0x7ffff7b5f7a2 "removed <= len",
file=file <at> entry=0x7ffff7b5f798 "hashtab.c", line=line <at> entry=137,
function=function <at> entry=0x7ffff7b5ff60 "vacuum_weak_hash_table")
at assert.c:92
#3 0x00007ffff7496c82 in __GI___assert_fail (
assertion=0x7ffff7b5f7a2 "removed <= len",
file=0x7ffff7b5f798 "hashtab.c", line=137,
function=0x7ffff7b5ff60 "vacuum_weak_hash_table") at assert.c:101
#4 0x00007ffff7ac3108 in ?? ()
from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#5 0x00007ffff7ac31af in ?? ()
from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#6 0x00007ffff7ac5b1c in scm_c_hook_run ()
from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#7 0x00007ffff7207ff5 in GC_try_to_collect_inner ()
from /usr/lib/x86_64-linux-gnu/libgc.so.1
#8 0x00007ffff72082aa in GC_try_to_collect_general ()
from /usr/lib/x86_64-linux-gnu/libgc.so.1
#9 0x00007ffff720838d in GC_gcollect ()
from /usr/lib/x86_64-linux-gnu/libgc.so.1
#10 0x00007ffff7ab9109 in scm_gc ()
from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#11 0x00007ffff7b3402b in ?? ()
from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#12 0x00007ffff7aab107 in scm_call_1 ()
from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#13 0x00007ffff7b34093 in ?? ()
from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#14 0x00007ffff7aab21e in scm_call_3 ()
from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#15 0x00007ffff7b34093 in ?? ()
from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#16 0x00007ffff7aab283 in scm_call_4 ()
from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#17 0x00007fffefb90d79 in
opencog::SchemeEval::do_eval(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&) (
this=0x7ffe74000980, expr=...)
at /home/ubuntu/src/atomspace/opencog/guile/SchemeEval.cc:564
#18 0x00007fffefb90e2a in opencog::SchemeEval::c_wrap_eval(void*) (
p=0x7ffe74000980)
at /home/ubuntu/src/atomspace/opencog/guile/SchemeEval.cc:493
#19 0x00007ffff7aa158a in ?? ()
from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#20 0x00007ffff7b34093 in ?? ()
from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#21 0x00007ffff7aab283 in scm_call_4 ()
from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#22 0x00007ffff7aa1d21 in ?? ()
from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#23 0x00007ffff7aa1e05 in scm_c_with_continuation_barrier ()
from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#24 0x00007ffff72198e7 in GC_call_with_gc_active ()
from /usr/lib/x86_64-linux-gnu/libgc.so.1
#25 0x00007ffff7b21c01 in ?? ()
from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#26 0x00007ffff7213952 in GC_call_with_stack_base ()
from /usr/lib/x86_64-linux-gnu/libgc.so.1
#27 0x00007ffff7b21fe8 in scm_with_guile ()
from /usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#28 0x00007fffefb90eae in
opencog::SchemeEval::eval_expr(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&) (
this=0x7ffe74000980, expr=...)
at /home/ubuntu/src/atomspace/opencog/guile/SchemeEval.cc:465
#29 0x00007fffe386cc86 in opencog::GenericShell::eval_loop (
this=0x7ffe4c001380)
at /home/ubuntu/src/opencog/opencog/cogserver/shell/GenericShell.cc:446
#30 0x00007fffee768c80 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#31 0x00007ffff78396ba in start_thread (arg=0x7ffe7b7fe700)
at pthread_create.c:333
#32 0x00007ffff756f82d in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
This bug report was last modified 8 years and 80 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.