skribilo-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[skribilo-users] Skribilo 0.9.3 segfaults


From: Vladimir Zhbanov
Subject: [skribilo-users] Skribilo 0.9.3 segfaults
Date: Wed, 25 May 2016 15:54:51 +0300

Hi

I'm trying to build skribilo 0.9.3. Every now and then it
segfaults when building its documentation, either html, or info
etc, that is after

  SKRHTML user.html

or e.g.

  SKRINFO skribilo.info

I get something like this

--------------------------------8<--------------------------------
make[3]: Entering directory '/home/vovka/skribilo-0.9.3/doc/user'
  SKRLOUT user.lout
/bin/bash: line 3:  2821 Segmentation fault
GUILE_LOAD_PATH=../../doc/modules:$GUILE_LOAD_PATH
GUILE_LOAD_COMPILED_PATH=../../doc/modules:$GUILE_LOAD_COMPILED_PATH
GUILE_AUTO_COMPILE=0 ../../src/pre-inst-skribilo -I . -P ../../doc/img
-S . -S ../../src/guile -B . -e '(define %top-srcdir "../..")' -e
'(define %top-builddir "../..")' -e "(define %have-ploticus? (= 1 1))"
-e "(define %ploticus-path \"/usr/bin/ploticus\")" -e "(define
%have-lout? (= 1 1))" --target=lout -o user.lout user.skb
Makefile:717: recipe for target 'user.lout' failed
make[3]: *** [user.lout] Error 139
-------------------------------->8--------------------------------

I've tried both git and tarball versions. Well, sometimes it even
builds, but it then segfaults when I enter the command found in
the manual:

skribilo -R rss-2 -t lout -c column-number=2 < rss20.xml

Most often it just outputs

  Segmentation fault

but once I got

  GC Warning: Failed to expand heap by -1212588032 bytes
  GC Warning: Failed to expand heap by -1217970176 bytes
  GC Warning: Out of Memory! Heap size: 6 MiB. Returning NULL!
  Segmentation fault

OK, I have standard Debian/stable (only the kernel is a bit more
recent):

  $ uname -a
  Linux otoiro-2 4.5.0-1-686-pae #1 SMP Debian 4.5.1-1
  (2016-04-14) i686 GNU/Linux

The same issue I have on my home machine. On both I have the
stable guile from Debian repo which I used a few years (mostly)
without issues.

  $ guile --version
  guile (GNU Guile) 2.0.11
  Packaged by Debian (2.0.11-deb+1-9)

I have installed a few programs using guile, and they seem to work
well. In particular I have Haunt which uses guile-reader.

What else... I have the following env var set
  GUILE_LOAD_PATH=/usr/local/share/guile/site/2.0:/usr/local/share/guile-reader

Further, I had locale issues, but it's another problem and
I decided to build using LANG=C yet.

I tried to debug using strace but understood nothing from its
output. Then I decided to dump core, and gdb outputs as follows:

--------------------------------8<--------------------------------
$ gdb /usr/bin/guile-2.0 ./doc/user/core
... /snip boilerplate/ ...

Reading symbols from /usr/bin/guile-2.0...(no debugging symbols found)...done.

warning: core file may not match specified executable file.
[New LWP 2261]
[New LWP 2260]
[Thread debugging using libthread_db enabled]
Using host libthread_db library
"/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1".
Core was generated by `/usr/bin/guile -L
/home/vovka/skribilo-0.9.3/src/guile -L /home/vovka/skribilo-'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  generic_reader_smob_mark (reader=0x9b84f30) at reader.c:2466

warning: Source file is more recent than executable.
2466               *deps != SCM_BOOL_F;
(gdb) bt
#0  generic_reader_smob_mark (reader=0x9b84f30) at reader.c:2466
#1  0xb76ac8e6 in ?? () from /usr/lib/i386-linux-gnu/libguile-2.0.so.22
#2  0xb736b88a in GC_mark_from () from /usr/lib/i386-linux-gnu/libgc.so.1
#3  0xb736be23 in GC_do_local_mark () from /usr/lib/i386-linux-gnu/libgc.so.1
#4  0xb736bff4 in GC_mark_local () from /usr/lib/i386-linux-gnu/libgc.so.1
#5  0xb736c29a in GC_help_marker () from /usr/lib/i386-linux-gnu/libgc.so.1
#6  0xb73746a8 in GC_mark_thread () from /usr/lib/i386-linux-gnu/libgc.so.1
#7  0xb7561efb in start_thread (arg=0xb7194b40) at pthread_create.c:309
#8  0xb7499ede in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129
(gdb) bt full
#0  generic_reader_smob_mark (reader=0x9b84f30) at reader.c:2466
        deps = 0x40
        prev_dep = 0x4
        smobinfo = 0x990a350
#1  0xb76ac8e6 in ?? () from /usr/lib/i386-linux-gnu/libguile-2.0.so.22
No symbol table info available.
#2  0xb736b88a in GC_mark_from () from /usr/lib/i386-linux-gnu/libgc.so.1
No symbol table info available.
#3  0xb736be23 in GC_do_local_mark () from /usr/lib/i386-linux-gnu/libgc.so.1
No symbol table info available.
#4  0xb736bff4 in GC_mark_local () from /usr/lib/i386-linux-gnu/libgc.so.1
No symbol table info available.
#5  0xb736c29a in GC_help_marker () from /usr/lib/i386-linux-gnu/libgc.so.1
No symbol table info available.
#6  0xb73746a8 in GC_mark_thread () from /usr/lib/i386-linux-gnu/libgc.so.1
No symbol table info available.
#7  0xb7561efb in start_thread (arg=0xb7194b40) at pthread_create.c:309
        __res = <optimized out>
        pd = 0xb7194b40
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1219018752,
-1223079104, 4001536, -1223080920,
                -41732626, 1664632302}, mask_was_saved = 0}}, priv =
{pad = {0x0, 0x0, 0x0, 0x0},
            data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#8  0xb7499ede in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129
No locals.
-------------------------------->8--------------------------------

I see almost the same on every segfault. AFAICS, there are some
GC issues appearing while a new thread is starting, and probably
some variable in generic_reader_smob_mark () gets an uninitialized
value somehow?

(Well, I know this guile version has some GC issues, probably some
race conditions, because I met them when worked on the geda-gaf
MinGW port for Windows after the guile version change from 1.8 to
2.0, and I'm pretty certain the culprit was guile-2.0 for several
reasons.)

However, I'm neither guile, nor threading expert, so I don't know
what to do further. Any help is much appreciated, be it even a
workaround. Please help.

Regards,
  Vladimir



reply via email to

[Prev in Thread] Current Thread [Next in Thread]