[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Latest guile 1.9 segfault in GC
From: |
Cedric Cellier |
Subject: |
Latest guile 1.9 segfault in GC |
Date: |
Tue, 17 Aug 2010 11:09:11 +0200 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
% cat main.c
#include <stdlib.h>
#include <pthread.h>
#include <libguile.h>
pthread_t dumper;
static void *call_gc(void *null)
{
scm_gc();
return NULL;
}
void *thread_dumper(void *null)
{
scm_with_guile(call_gc, NULL);
return NULL;
}
int main(void)
{
while (1) {
pthread_create(&dumper, NULL, thread_dumper, NULL);
for (;;) sleep(1);
}
return EXIT_SUCCESS;
}
% make
gcc -O0 -g3 -ggdb3 -I/usr/local/include/guile/2.0 -I/usr/local/include
main.c -L/usr/local/lib -lguile-2.0 -lgc -lunistring -lcrypt -lm -lltdl
-lpthread -o main
% ./main
zsh: segmentation fault (core dumped) ./main
% gdb main core
...
(gdb) bt
#0 0x00007f184630b698 in GC_is_black_listed (h=0x24ea000, len=4096) at
blacklst.c:233
#1 0x00007f1846308c15 in GC_allochblk_nth (sz=512, kind=1, flags=0, n=14,
may_split=1) at allchblk.c:690
#2 0x00007f1846308989 in GC_allochblk (sz=512, kind=1, flags=0) at
allchblk.c:625
#3 0x00007f18463185f2 in GC_new_hblk (gran=32, kind=1) at new_hblk.c:191
#4 0x00007f184630b090 in GC_allocobj (gran=32, kind=1) at alloc.c:1290
#5 0x00007f1846311010 in GC_generic_malloc_inner (lb=496, k=1) at malloc.c:126
#6 0x00007f1846310fd9 in GC_generic_malloc_inner (lb=496, k=1) at malloc.c:121
#7 0x00007f18463111b4 in GC_generic_malloc (lb=496, k=1) at malloc.c:166
#8 0x00007f1846311644 in GC_core_malloc (lb=496) at malloc.c:276
#9 0x00007f184631d19f in GC_malloc (bytes=496) at thread_local_alloc.c:161
#10 0x00007f18465f6d6e in scm_gc_malloc (size=496, what=0x7f18466d8cd0
"thread") at gc-malloc.c:189
#11 0x00007f184666f0b3 in guilify_self_1 (base=0x7f1844af9d88) at threads.c:325
#12 0x00007f1846671a3e in scm_threads_prehistory (base=0x7f1844af9d88) at
threads.c:1924
#13 0x00007f184660b9a5 in scm_i_init_guile (base=0x7f1844af9d88) at init.c:442
#14 0x00007f184666f718 in scm_i_init_thread_for_guile (base=0x7f1844af9d88,
parent=0x0) at threads.c:582
#15 0x00007f184666f8c7 in scm_i_with_guile_and_parent (func=0x4007f4 <call_gc>,
data=0x0, parent=0x0) at threads.c:730
#16 0x00007f184666f866 in scm_with_guile (func=0x4007f4 <call_gc>, data=0x0) at
threads.c:713
#17 0x0000000000400827 in thread_dumper (null=0x0) at main.c:15
#18 0x00007f184631e66e in GC_inner_start_routine (sb=0x7f1844af9e80,
arg=0x24e8fc0) at pthread_support.c:1216
#19 0x00007f1846317d97 in GC_call_with_stack_base (fn=0x7f184631e572
<GC_inner_start_routine>, arg=0x24e8fc0) at misc.c:1361
#20 0x00007f184631e6df in GC_start_routine (arg=0x24e8fc0) at
pthread_support.c:1247
#21 0x00007f18457079ca in start_thread (arg=<value optimized out>) at
pthread_create.c:300
#22 0x00007f18454646fd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#23 0x0000000000000000 in ?? ()
% guile
GNU Guile 1.9.11.259-252f
Which I just compiled from commit 252f9f187ac8608ebcbf513bbbda49fc085f3a52
Any idea welcome.
- Latest guile 1.9 segfault in GC,
Cedric Cellier <=