Subject: bug#12031: Guile 2.0.6 build failure (segfault in test-with-guile-module, etc.)

From: Rob Browning <[email-masked]>
Date: Mon, 23 Jul 2012 07:20:25 -0500

There seems to be a problem on armhf (and perhaps also armel).  This is
with Guile 2.0.6 linked against Debian libgc-dev 7.1-9.

Builds fail like this:

  PASS: test-extensions
  /bin/bash: line 5: 14132 Segmentation fault      srcdir="." builddir="." CHARSETALIASDIR="/home/rlb/guile/guile-2.0.6/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
  FAIL: test-with-guile-module
  PASS: test-scm-with-guile
  /bin/bash: line 5: 14195 Segmentation fault      srcdir="." builddir="." CHARSETALIASDIR="/home/rlb/guile/guile-2.0.6/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
  FAIL: test-scm-spawn-thread
  /bin/bash: line 5: 14228 Segmentation fault      srcdir="." builddir="." CHARSETALIASDIR="/home/rlb/guile/guile-2.0.6/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
  FAIL: test-pthread-create

And here's the gdb stacktrace:

  Reading symbols from /home/rlb/guile/guile-2.0.6/test-suite/standalone/.libs/lt-test-with-guile-module...done.
  (gdb) run
  Starting program: /home/rlb/guile/guile-2.0.6/test-suite/standalone/.libs/lt-test-with-guile-module 
  [Thread debugging using libthread_db enabled]
  Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
  [New Thread 0xb6ad9470 (LWP 13454)]

  Program received signal SIGSEGV, Segmentation fault.
  [Switching to Thread 0xb6ad9470 (LWP 13454)]
  0xb6d41150 in GC_malloc () from /usr/lib/libgc.so.1
  (gdb) where
  #0  0xb6d41150 in GC_malloc () from /usr/lib/libgc.so.1
  #1  0xb6f78c2c in scm_cell (cdr=2626880, car=383) at ../libguile/gc.h:231
  #2  scm_new_smob (data=2626880, tc=383) at ../libguile/smob.h:93
  #3  guilify_self_2 (parent=0x28bbf0) at threads.c:610
  #4  0xb6f79602 in scm_i_init_thread_for_guile (base=0xb6ad8dcc, parent=0x28bbf0)
      at threads.c:854
  #5  0xb6f7963c in with_guile_and_parent (base=0xb6ad8dcc, data=<optimized out>)
      at threads.c:898
  #6  0xb6d3e4da in GC_call_with_stack_base () from /usr/lib/libgc.so.1
  #7  0xb6f79776 in scm_i_with_guile_and_parent (parent=<optimized out>, 
      data=<optimized out>, func=0x881d <thread_inner_main>) at threads.c:948
  #8  scm_with_guile (func=0x881d <thread_inner_main>, data=<optimized out>)
      at threads.c:954
  #9  0x000087dc in thread_main (unused=<optimized out>)
      at test-with-guile-module.c:50
  #10 0xb6c76ebc in start_thread (arg=0xb6ad9470) at pthread_create.c:306
  #11 0xb6c1f568 in ?? ()
      at ../ports/sysdeps/unix/sysv/linux/arm/nptl/../clone.S:116
     from /lib/arm-linux-gnueabihf/libc.so.6
  #12 0xb6c1f568 in ?? ()
      at ../ports/sysdeps/unix/sysv/linux/arm/nptl/../clone.S:116
     from /lib/arm-linux-gnueabihf/libc.so.6
  Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Please let me know if I can provide further information.

Thanks
-- 
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4