Discussion:
bug#11083: guile-2.0.5 bug report
Kiyoshi KANAZAWA
2012-03-24 02:48:01 UTC
Permalink
Hello,

I'm trying to install guile-2.0.5 on Solaris 10 x86-64 system.
I have some problems.

(1) make fails with threads
make fails with configure CC="gcc -I/usr/local/GNU/include -L/usr/local/GNU/lib" --prefix=/usr/local/GNU
make stops with messages as:
make[3]: Entering directory `/tmp/guile-2.0.5/libguile'
CCLD guile
Undefined first referenced
symbol in file
GC_unregister_my_thread ./.libs/libguile-2.0.so
GC_register_my_thread ./.libs/libguile-2.0.so
GC_pthread_create ./.libs/libguile-2.0.so
GC_pthread_detach ./.libs/libguile-2.0.so
ld: fatal: symbol referencing errors. No output written to .libs/guile
collect2: ld returned 1 exit status

libgc.a, libgc.la, libgc.so, libgc.so.1, libgc.so.1.0.3 can be found on /usr/local/GNU/lib.

(2) make passes with --without-threads but Segmentation Fault occur in make check
make succeeds with configure --without-threads CC="gcc -I/usr/local/GNU/include -L/usr/local/GNU/lib" --prefix=/usr/local/GNU
But, make check failes as:
Testing /tmp/guile-2.0.5/meta/guile ...
with GUILE_LOAD_PATH=/tmp/guile-2.0.5/test-suite
/bin/bash: line 5: 29264 Segmentation Fault CHARSETALIASDIR="/tmp/guile-2.0.5/lib"
${dir}$tst
FAIL: check-guile
==================================
1 of 1 test failed
Please report to bug-***@gnu.org
==================================

(3) guile does not go correctly if LANG is not C
Installed guile ignoring the result of make check, and ran guile --version with some LANG environment.
(3-1) LANG=C
% guile --version
guile (GNU Guile) 2.0.5
Copyright (C) 2011 Free Software Foundation, Inc.

License LGPLv3+: GNU LGPL 3 or later <http://gnu.org/licenses/lgpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
(3-2) LANG=ja
guile --version
Backtrace:
In ice-9/boot-9.scm:
149: 2 [catch #t #<catch-closure 81ce670> ...]
157: 1 [#<procedure 81938c0 ()>]
In unknown file:
?: 0 [catch-closure]

ERROR: In procedure catch-closure:
ERROR: Throw to key `decoding-error' with args `("scm_from_stringn" "input locale conversion error" 22 #vu8(45 45 118 101 114 115 105 111 110))'.
(3-3) LANG=es
guile --version
Backtrace:
In ice-9/boot-9.scm:
149: 2 [catch #t #<catch-closure 81ce670> ...]
157: 1 [#<procedure 81938c0 ()>]
In unknown file:
?: 0 [catch-closure]

ERROR: In procedure catch-closure:
ERROR: Throw to key `decoding-error' with args `("scm_from_stringn" "input locale conversion error" 22 #vu8(45 45 118 101 114 115 105 111 110))'.


Best regards,

--- Kiyoshi <***@yahoo.co.jp>
Mark H Weaver
2012-03-24 22:20:37 UTC
Permalink
Post by Kiyoshi KANAZAWA
I'm trying to install guile-2.0.5 on Solaris 10 x86-64 system.
I have some problems.
(1) make fails with threads
make fails with configure CC="gcc -I/usr/local/GNU/include -L/usr/local/GNU/lib" --prefix=/usr/local/GNU
make[3]: Entering directory `/tmp/guile-2.0.5/libguile'
CCLD guile
Undefined first referenced
symbol in file
GC_unregister_my_thread ./.libs/libguile-2.0.so
GC_register_my_thread ./.libs/libguile-2.0.so
GC_pthread_create ./.libs/libguile-2.0.so
GC_pthread_detach ./.libs/libguile-2.0.so
ld: fatal: symbol referencing errors. No output written to .libs/guile
collect2: ld returned 1 exit status
libgc.a, libgc.la, libgc.so, libgc.so.1, libgc.so.1.0.3 can be found on /usr/local/GNU/lib.
What version of libgc is installed? Was it built with POSIX thread
support? On my GNU/Linux system, libgc's configure script output the
following lines:

checking for thread model used by GCC... posix
checking for pthread_self in -lpthread... yes

Do you see anything like that in your libgc configure output?
Post by Kiyoshi KANAZAWA
(2) make passes with --without-threads but Segmentation Fault occur in make check
make succeeds with configure --without-threads CC="gcc -I/usr/local/GNU/include -L/usr/local/GNU/lib" --prefix=/usr/local/GNU
Testing /tmp/guile-2.0.5/meta/guile ...
with GUILE_LOAD_PATH=/tmp/guile-2.0.5/test-suite
/bin/bash: line 5: 29264 Segmentation Fault CHARSETALIASDIR="/tmp/guile-2.0.5/lib"
${dir}$tst
FAIL: check-guile
Hmm, I'm not sure what's happening here. I wonder if it's related to
the locale bug (see below).
Post by Kiyoshi KANAZAWA
(3) guile does not go correctly if LANG is not C
Installed guile ignoring the result of make check, and ran guile --version with some LANG environment.
This is a known bug, fixed in 5de0053178b4acc793ae62838175e5f3ab56c603.
The fix will be in Guile 2.0.6.

To work around this problem, use only locale identifiers with an
explicit character set, such as "ja_JP.eucJP". The bug only affects
locale identifiers without the character set suffix.

Thanks,
Mark
Kiyoshi KANAZAWA
2012-03-25 13:34:36 UTC
Permalink
Thank you Mark,
Sending this again with Cc:

(1) Now, make succeeds with threads
Version of libgc is 7.1, but I found some macro define is required for threads on Solaris.
After re-install gc-7.1 with -DGC_SOLARIS_THREADS or -DGC_THREADS,
make succeeds.

(2) Segmentation Fault occur in make check
Still encounterd FAILS as follows:
make check-TESTS
make[5]: Entering directory `/tmp/guile-2.0.5/test-suite/standalone'
Assertion failed: SCM_I_IS_THREAD (data.thread), file threads.c, line 1135
/bin/bash: line 5: 11634 Abort srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-system-cmds
:
PASS: test-extensions
/bin/bash: line 5: 12409 Segmentation Fault srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-with-guile-module
PASS: test-scm-with-guile
/bin/bash: line 5: 12455 Segmentation Fault srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-scm-spawn-thread
/bin/bash: line 5: 12479 Segmentation Fault srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-pthread-create
SKIP: test-pthread-create-secondary
==================================
4 of 27 tests failed
(1 test was not run)
Please report to bug-***@gnu.org
==================================

First one seems to be related with thread, and the rest may be related whth (3).

(3) LANG environment
Yes, "% guile --version" goes well, with LANG="ja_JP.eucJP"


I'll wait for Guile 2.0.6 release, thank you.
Post by Kiyoshi KANAZAWA
I'm trying to install guile-2.0.5 on Solaris 10 x86-64 system.
I have some problems.
(1) make fails with threads
make fails with configure CC="gcc -I/usr/local/GNU/include -L/usr/local/GNU/lib" --prefix=/usr/local/GNU
make[3]: Entering directory `/tmp/guile-2.0.5/libguile'
   CCLD   guile
Undefined                       first referenced
  symbol                             in file
GC_unregister_my_thread             ./.libs/libguile-2.0.so
GC_register_my_thread               ./.libs/libguile-2.0.so
GC_pthread_create                   ./.libs/libguile-2.0.so
GC_pthread_detach                   ./.libs/libguile-2.0.so
ld: fatal: symbol referencing errors. No output written to .libs/guile
collect2: ld returned 1 exit status
libgc.a, libgc.la, libgc.so, libgc.so.1, libgc.so.1.0.3 can be found on /usr/local/GNU/lib.
What version of libgc is installed?  Was it built with POSIX thread
support?  On my GNU/Linux system, libgc's configure script output the
  checking for thread model used by GCC... posix
  checking for pthread_self in -lpthread... yes
Do you see anything like that in your libgc configure output?
Post by Kiyoshi KANAZAWA
(2) make passes with --without-threads but Segmentation Fault occur in make check
make succeeds with configure --without-threads CC="gcc -I/usr/local/GNU/include -L/usr/local/GNU/lib" --prefix=/usr/local/GNU
Testing /tmp/guile-2.0.5/meta/guile ...
with GUILE_LOAD_PATH=/tmp/guile-2.0.5/test-suite
/bin/bash: line 5: 29264 Segmentation Fault      CHARSETALIASDIR="/tmp/guile-2.0.5/lib"
${dir}$tst
FAIL: check-guile
Hmm, I'm not sure what's happening here.  I wonder if it's related to
the locale bug (see below).
Post by Kiyoshi KANAZAWA
(3) guile does not go correctly if LANG is not C
Installed guile ignoring the result of make check, and ran guile --version with some LANG environment.
This is a known bug, fixed in 5de0053178b4acc793ae62838175e5f3ab56c603.
The fix will be in Guile 2.0.6.
To work around this problem, use only locale identifiers with an
explicit character set, such as "ja_JP.eucJP".  The bug only affects
locale identifiers without the character set suffix.
   Thanks,
     Mark
Mark H Weaver
2012-03-28 20:28:54 UTC
Permalink
Post by Kiyoshi KANAZAWA
Thank you Mark,
(1) Now, make succeeds with threads
Version of libgc is 7.1, but I found some macro define is required for threads on Solaris.
After re-install gc-7.1 with -DGC_SOLARIS_THREADS or -DGC_THREADS,
make succeeds.
This is not my area of expertise, but for lack of other suggestions, I
have two ideas:

1. You could try recompiling libgc using POSIX threads instead of
Solaris threads, and then rebuilding Guile from scratch, starting
with configure, and linking against the new libgc.

Guile supports only POSIX threads, and I wouldn't be surprised if
there are problems associated with linking Guile against a libgc that
uses a different threading library with slightly different semantics.

2. You could try a newer version of libgc: 7.2alpha6, from
http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.2alpha6.tar.gz

Despite the scary version number, Hans Boehm himself now recommends
this version because 7.1 is so old (see "Where to get the collector"
at http://www.hpl.hp.com/personal/Hans_Boehm/gc/ )

Thanks,
Mark
Post by Kiyoshi KANAZAWA
(2) Segmentation Fault occur in make check
make check-TESTS
make[5]: Entering directory `/tmp/guile-2.0.5/test-suite/standalone'
Assertion failed: SCM_I_IS_THREAD (data.thread), file threads.c, line 1135
/bin/bash: line 5: 11634 Abort srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-system-cmds
PASS: test-extensions
/bin/bash: line 5: 12409 Segmentation Fault srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-with-guile-module
PASS: test-scm-with-guile
/bin/bash: line 5: 12455 Segmentation Fault srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-scm-spawn-thread
/bin/bash: line 5: 12479 Segmentation Fault srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-pthread-create
SKIP: test-pthread-create-secondary
==================================
4 of 27 tests failed
(1 test was not run)
==================================
Kiyoshi KANAZAWA
2012-03-29 15:26:33 UTC
Permalink
Hi, Mark,

Thank you for your kindness.

I'm discussing with a member of gc project these 5 days.
He also told me to configure with "--enable-threads=posix" instead of -DGC_THREADS.

And I'm also testing the latest gc-7.2 candidate and gc-7.3 (developement) candidate.


Now, I'm retrying to build guile-2.0.5 again.
Make & make check pass with gcc-3.4.3 -m32, but make fail with -m64.
Message of make check is:as follows.
(libguile-2.0.so.22 is "ELF 64-bit LSB executable", so that it can be linked.)

make all-am
make[3]: Entering directory `/tmp/guile-2.0.5/libguile'
GEN guile-procedures.texi
ld.so.1: guile: fatal: libguile-2.0.so.22: open failed: No such file or directory
/bin/bash: line 1: 23126 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 weaks.doc dynl.doc posix.doc net_db.doc socket.doc regex-posix.doc
23127 Killed | GUILE_AUTO_COMPILE=0 ../meta/uninstalled-env guild snarf-check-and-output-texi > guile-procedures.texi
make[3]: *** [guile-procedures.texi] Error 1

Regards,
Post by Mark H Weaver
Post by Kiyoshi KANAZAWA
Thank you Mark,
(1) Now, make succeeds with threads
Version of libgc is 7.1, but I found some macro define is required for threads on Solaris.
After re-install gc-7.1 with -DGC_SOLARIS_THREADS or -DGC_THREADS,
make succeeds.
This is not my area of expertise, but for lack of other suggestions, I
1. You could try recompiling libgc using POSIX threads instead of
   Solaris threads, and then rebuilding Guile from scratch, starting
   with configure, and linking against the new libgc.
   Guile supports only POSIX threads, and I wouldn't be surprised if
   there are problems associated with linking Guile against a libgc that
   uses a different threading library with slightly different semantics.
2. You could try a newer version of libgc: 7.2alpha6, from
   http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.2alpha6.tar.gz
   Despite the scary version number, Hans Boehm himself now recommends
   this version because 7.1 is so old (see "Where to get the collector"
   at http://www.hpl.hp.com/personal/Hans_Boehm/gc/ )
    Thanks,
      Mark
Post by Kiyoshi KANAZAWA
(2) Segmentation Fault occur in make check
make  check-TESTS
make[5]: Entering directory `/tmp/guile-2.0.5/test-suite/standalone'
Assertion failed: SCM_I_IS_THREAD (data.thread), file threads.c, line 1135
/bin/bash: line 5: 11634 Abort                   srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-system-cmds
PASS: test-extensions
/bin/bash: line 5: 12409 Segmentation Fault      srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-with-guile-module
PASS: test-scm-with-guile
/bin/bash: line 5: 12455 Segmentation Fault      srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-scm-spawn-thread
/bin/bash: line 5: 12479 Segmentation Fault      srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-pthread-create
SKIP: test-pthread-create-secondary
==================================
4 of 27 tests failed
(1 test was not run)
==================================
Kiyoshi KANAZAWA
2012-04-01 10:42:07 UTC
Permalink
Hi, Mark,

I found scm_from_stringn () is called with bad address.
Following is the back trace of core which I encountered during making guile-2.0.5 with gcc -m64. (gcc version is 3.4.3)

% pwd
/tmp/guile-2.0.5/libguile/.libs
% dbx guile ../core
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.9' in your .dbxrc
Reading guile
core file header read successfully
Reading ld.so.1
Reading libguile-2.0.so.22.4.0
Reading libgc.so.1.0.3
Reading libpthread.so.1
Reading libdl.so.1
Reading libffi.so.5.0.10
Reading libintl.so.8.1.1
Reading libc.so.1
Reading libunistring.so.0.1.2
Reading libiconv.so.2.5.1
Reading libgmp.so.10.0.4
dbx: internal warning: "(null)"::srcpath(): srcpath "abs.c" being overriden to "abs.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "add.c" being overriden to "add.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "add_ui.c" being overriden to "add_ui.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "clear.c" being overriden to "clear.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "clears.c" being overriden to "clears.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "cmp.c" being overriden to "cmp.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "cmp_d.c" being overriden to "cmp_d.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "cmp_si.c" being overriden to "cmp_si.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "cmp_ui.c" being overriden to "cmp_ui.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "dump.c" being overriden to "dump.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "fits_sint.c" being overriden to "fits_sint.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "fits_slong.c" being overriden to "fits_slong.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "fits_sshort.c" being overriden to "fits_sshort.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "fits_uint.c" being overriden to "fits_uint.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "fits_ulong.c" being overriden to "fits_ulong.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "fits_ushort.c" being overriden to "fits_ushort.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "get_d.c" being overriden to "get_d.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "get_d_2exp.c" being overriden to "get_d_2exp.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "get_si.c" being overriden to "get_si.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "get_str.c" being overriden to "get_str.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "get_ui.c" being overriden to "get_ui.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "init.c" being overriden to "init.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "init2.c" being overriden to "init2.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "inits.c" being overriden to "inits.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "inp_str.c" being overriden to "inp_str.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "iset.c" being overriden to "iset.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "iset_d.c" being overriden to "iset_d.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "iset_si.c" being overriden to "iset_si.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "iset_str.c" being overriden to "iset_str.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "iset_ui.c" being overriden to "iset_ui.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "mul.c" being overriden to "mul.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "mul_2exp.c" being overriden to "mul_2exp.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "mul_ui.c" being overriden to "mul_ui.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "neg.c" being overriden to "neg.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "nextprime.c" being overriden to "nextprime.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "out_str.c" being overriden to "out_str.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "pow_ui.c" being overriden to "pow_ui.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "random2.c" being overriden to "random2.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set.c" being overriden to "set.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_d.c" being overriden to "set_d.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_q.c" being overriden to "set_q.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_si.c" being overriden to "set_si.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_str.c" being overriden to "set_str.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_ui.c" being overriden to "set_ui.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "size.c" being overriden to "size.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "sqrt.c" being overriden to "sqrt.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "sub.c" being overriden to "sub.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "sub_ui.c" being overriden to "sub_ui.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "swap.c" being overriden to "swap.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "ui_sub.c" being overriden to "ui_sub.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "urandomb.c" being overriden to "urandomb.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "abs.c" being overriden to "abs.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "clear.c" being overriden to "clear.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "clears.c" being overriden to "clears.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "cmp.c" being overriden to "cmp.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "cmp_si.c" being overriden to "cmp_si.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "cmp_ui.c" being overriden to "cmp_ui.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "div.c" being overriden to "div.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "get_d.c" being overriden to "get_d.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "get_str.c" being overriden to "get_str.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "init.c" being overriden to "init.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "inits.c" being overriden to "inits.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "inp_str.c" being overriden to "inp_str.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "mul.c" being overriden to "mul.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "neg.c" being overriden to "neg.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "out_str.c" being overriden to "out_str.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set.c" being overriden to "set.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_si.c" being overriden to "set_si.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_str.c" being overriden to "set_str.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_ui.c" being overriden to "set_ui.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_z.c" being overriden to "set_z.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_d.c" being overriden to "set_d.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_f.c" being overriden to "set_f.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "swap.c" being overriden to "swap.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "add.c" being overriden to "add.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "sub.c" being overriden to "sub.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "neg.c" being overriden to "neg.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "divis.c" being overriden to "divis.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "fib2_ui.c" being overriden to "fib2_ui.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "dump.c" being overriden to "dump.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "mul.c" being overriden to "mul.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "random.c" being overriden to "random.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "random2.c" being overriden to "random2.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "rootrem.c" being overriden to "rootrem.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "sqrtrem.c" being overriden to "sqrtrem.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "get_str.c" being overriden to "get_str.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_str.c" being overriden to "set_str.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "scan0.c" being overriden to "scan0.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "scan1.c" being overriden to "scan1.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "cmp.c" being overriden to "cmp.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "perfsqr.c" being overriden to "perfsqr.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "perfpow.c" being overriden to "perfpow.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "gcd.c" being overriden to "gcd.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "gcdext.c" being overriden to "gcdext.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "tdiv_qr.c" being overriden to "tdiv_qr.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "get_d.c" being overriden to "get_d.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "invert.c" being overriden to "invert.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "divexact.c" being overriden to "divexact.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "powm.c" being overriden to "powm.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "powm_sec.c" being overriden to "powm_sec.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "remove.c" being overriden to "remove.c"
Reading libltdl.so.7.3.0
Reading librt.so.1
Reading libsocket.so.1
Reading libnsl.so.1
Reading libm.so.2
Reading libgcc_s.so.1
Reading libaio.so.1
Reading libmd.so.1
***@1 (***@1) program terminated by signal SEGV (no mapping at the fault address)
Current function is c_strcasecmp
39 c1 = c_tolower (*p1);
(dbx) print p1
p1 = 0xfffffffffff56ee0 "<bad address 0xfffffffffff56ee0>"

(dbx) where
current thread: ***@1
=>[1] c_strcasecmp(s1 = 0xfffffffffff56ee0 "<bad address 0xfffffffffff56ee0>", s2 = 0x7fffffb4eb90 "UTF-8"), line 39 in "c-strcasecmp.c"
[2] u8_conv_from_encoding(fromcode = 0xfffffffffff56ee0 "<bad address 0xfffffffffff56ee0>", handler = iconveh_escape_sequence, src = 0xfffffd7fffdfea1a "snarf-check-and-output-texi", srclen = 27U, offsets = (nil), resultbuf = (nil), lengthp = 0xfffffd7fffdfdf08) (optimized), at 0x7fffffa1c9f0 (line ~39) in "u8-conv-from-enc.c"
[3] u32_conv_from_encoding(fromcode = <value unavailable>, handler = <value unavailable>, src = <value unavailable>, srclen = 27U, offsets = (nil), resultbuf = (nil), lengthp = 0xfffffd7fffdfdf70) (optimized), at 0x7fffffa1c2a0 (line ~52) in "u-conv-from-enc.h"
[4] scm_from_stringn(str = 0xfffffd7fffdfea1a "snarf-check-and-output-texi", len = 27U, encoding = 0xfffffffffff56ee0 "<bad address 0xfffffffffff56ee0>", handler = SCM_FAILED_CONVERSION_ESCAPE_SEQUENCE), line 1515 in "strings.c"
[5] locale_arguments_to_string_list(argc = 5, argv = 0xfffffd7fffdfe688), line 394 in "script.c"
[6] scm_i_set_boot_program_arguments(argc = 0, argv = (nil)), line 405 in "script.c"
[7] invoke_main_func(body_data = 0xfffffd7fffdfe630), line 335 in "init.c"
[8] c_body(d = 0xfffffd7fffdfe580), line 512 in "continuations.c"
[9] vm_regular_engine(vm = 0x4da270, program = 0x3560d40, argv = 0x7fffffec7260, nargs = 1), line 960 in "vm-i-system.c"
[10] scm_c_vm_run(vm = 0x4da270, program = 0x355a1e0, argv = 0xfffffd7fffdfe180, nargs = 0), line 567 in "vm.c"
[11] eval(x = 0x587570, env = 0x3542270), line 341 in "eval.c"
[12] eval(x = 0x5873b0, env = 0x3542270), line 297 in "eval.c"
[13] eval(x = 0x4ee920, env = 0x3542240), line 462 in "eval.c"
[14] boot_closure_apply(closure = (nil), args = (nil)), line 956 in "eval.c"
[15] vm_regular_engine(vm = 0x4da270, program = 0x355a060, argv = 0x7fffffe532b0, nargs = 1), line 960 in "vm-i-system.c"
[16] scm_c_vm_run(vm = 0x4da270, program = 0x4ff1c0, argv = 0xfffffd7fffdfe4d0, nargs = 4), line 567 in "vm.c"
[17] scm_call_4(proc = 0x4ff1c0, arg1 = (nil), arg2 = (nil), arg3 = (nil), arg4 = (nil)), line 507 in "eval.c"
[18] scm_i_with_continuation_barrier(body = 0x7fffffe49ec0 = &`libguile-2.0.so.22.4.0`continuations.c`c_body(register void *d), body_data = 0xfffffd7fffdfe580, handler = 0x7fffffe49ef0 = &`libguile-2.0.so.22.4.0`continuations.c`c_handler(register void *d, register SCM tag, register SCM args), handler_data = 0xfffffd7fffdfe580, pre_unwind_handler = 0x7fffffe49f50 = &`libguile-2.0.so.22.4.0`continuations.c`pre_unwind_handler(register void *error_port, register SCM tag, register SCM args), pre_unwind_handler_data = 0x4da1a0), line 450 in "continuations.c"
[19] scm_c_with_continuation_barrier(func = (nil), data = (nil)), line 546 in "continuations.c"
[20] with_guile_and_parent(base = 0xfffffd7fffdfe5e0, data = (nil)), line 902 in "threads.c"
[21] GC_call_with_stack_base(fn = (nil), arg = (nil)), line 1530 in "misc.c"
[22] scm_i_with_guile_and_parent(func = (nil), data = (nil), parent = (nil)), line 945 in "threads.c"
[23] scm_boot_guile(argc = 0, argv = (nil), main_func = (nil), closure = (nil)), line 319 in "init.c"
[24] main(argc = 0, argv = (nil)), line 71 in "guile.c"


Regards,
Post by Kiyoshi KANAZAWA
Hi, Mark,
Thank you for your kindness.
I'm discussing with a member of gc project these 5 days.
He also told me to configure with "--enable-threads=posix" instead of -DGC_THREADS.
And I'm also testing the latest gc-7.2 candidate and gc-7.3 (developement) candidate.
Now, I'm retrying to build guile-2.0.5 again.
Make & make check pass with gcc-3.4.3 -m32, but make fail with -m64.
Message of make check is:as follows.
(libguile-2.0.so.22 is "ELF 64-bit LSB executable", so that it can be linked.)
make  all-am
make[3]: Entering directory `/tmp/guile-2.0.5/libguile'
  GEN    guile-procedures.texi
ld.so.1: guile: fatal: libguile-2.0.so.22: open failed: No such file or directory
/bin/bash: line 1: 23126 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 weaks.doc dynl.doc posix.doc net_db.doc socket.doc regex-posix.doc
     23127 Killed                  | GUILE_AUTO_COMPILE=0 ../meta/uninstalled-env guild snarf-check-and-output-texi > guile-procedures.texi
make[3]: *** [guile-procedures.texi] Error 1
Regards,
Post by Mark H Weaver
Post by Kiyoshi KANAZAWA
Thank you Mark,
(1) Now, make succeeds with threads
Version of libgc is 7.1, but I found some macro define is required for threads on Solaris.
After re-install gc-7.1 with -DGC_SOLARIS_THREADS or -DGC_THREADS,
make succeeds.
This is not my area of expertise, but for lack of other suggestions, I
1. You could try recompiling libgc using POSIX threads instead of
   Solaris threads, and then rebuilding Guile from scratch, starting
   with configure, and linking against the new libgc.
   Guile supports only POSIX threads, and I wouldn't be surprised if
   there are problems associated with linking Guile against a libgc that
   uses a different threading library with slightly different semantics.
2. You could try a newer version of libgc: 7.2alpha6, from
   http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.2alpha6.tar.gz
   Despite the scary version number, Hans Boehm himself now recommends
   this version because 7.1 is so old (see "Where to get the collector"
   at http://www.hpl.hp.com/personal/Hans_Boehm/gc/ )
    Thanks,
      Mark
Post by Kiyoshi KANAZAWA
(2) Segmentation Fault occur in make check
make  check-TESTS
make[5]: Entering directory `/tmp/guile-2.0.5/test-suite/standalone'
Assertion failed: SCM_I_IS_THREAD (data.thread), file threads.c, line 1135
/bin/bash: line 5: 11634 Abort                   srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-system-cmds
PASS: test-extensions
/bin/bash: line 5: 12409 Segmentation Fault      srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-with-guile-module
PASS: test-scm-with-guile
/bin/bash: line 5: 12455 Segmentation Fault      srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-scm-spawn-thread
/bin/bash: line 5: 12479 Segmentation Fault      srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-pthread-create
SKIP: test-pthread-create-secondary
==================================
4 of 27 tests failed
(1 test was not run)
==================================
Kiyoshi KANAZAWA
2012-04-01 11:49:52 UTC
Permalink
Hi, Mark,

I'd better mention:
this Segmentation Fault occurs even if patch <5de0053178b4acc793ae62838175e5f3ab56c603> is applied.

Regards,
Post by Kiyoshi KANAZAWA
Hi, Mark,
I found scm_from_stringn () is called with bad address.
Following is the back trace of core which I encountered during making guile-2.0.5 with gcc -m64. (gcc version is 3.4.3)
% pwd
/tmp/guile-2.0.5/libguile/.libs
% dbx guile ../core
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.9' in your .dbxrc
Reading guile
core file header read successfully
Reading ld.so.1
Reading libguile-2.0.so.22.4.0
Reading libgc.so.1.0.3
Reading libpthread.so.1
Reading libdl.so.1
Reading libffi.so.5.0.10
Reading libintl.so.8.1.1
Reading libc.so.1
Reading libunistring.so.0.1.2
Reading libiconv.so.2.5.1
Reading libgmp.so.10.0.4
dbx: internal warning: "(null)"::srcpath(): srcpath "abs.c" being overriden to "abs.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "add.c" being overriden to "add.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "add_ui.c" being overriden to "add_ui.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "clear.c" being overriden to "clear.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "clears.c" being overriden to "clears.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "cmp.c" being overriden to "cmp.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "cmp_d.c" being overriden to "cmp_d.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "cmp_si.c" being overriden to "cmp_si.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "cmp_ui.c" being overriden to "cmp_ui.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "dump.c" being overriden to "dump.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "fits_sint.c" being overriden to "fits_sint.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "fits_slong.c" being overriden to "fits_slong.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "fits_sshort.c" being overriden to "fits_sshort.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "fits_uint.c" being overriden to "fits_uint.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "fits_ulong.c" being overriden to "fits_ulong.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "fits_ushort.c" being overriden to "fits_ushort.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "get_d.c" being overriden to "get_d.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "get_d_2exp.c" being overriden to "get_d_2exp.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "get_si.c" being overriden to "get_si.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "get_str.c" being overriden to "get_str.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "get_ui.c" being overriden to "get_ui.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "init.c" being overriden to "init.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "init2.c" being overriden to "init2.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "inits.c" being overriden to "inits.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "inp_str.c" being overriden to "inp_str.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "iset.c" being overriden to "iset.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "iset_d.c" being overriden to "iset_d.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "iset_si.c" being overriden to "iset_si.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "iset_str.c" being overriden to "iset_str.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "iset_ui.c" being overriden to "iset_ui.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "mul.c" being overriden to "mul.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "mul_2exp.c" being overriden to "mul_2exp.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "mul_ui.c" being overriden to "mul_ui.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "neg.c" being overriden to "neg.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "nextprime.c" being overriden to "nextprime.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "out_str.c" being overriden to "out_str.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "pow_ui.c" being overriden to "pow_ui.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "random2.c" being overriden to "random2.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set.c" being overriden to "set.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_d.c" being overriden to "set_d.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_q.c" being overriden to "set_q.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_si.c" being overriden to "set_si.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_str.c" being overriden to "set_str.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_ui.c" being overriden to "set_ui.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "size.c" being overriden to "size.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "sqrt.c" being overriden to "sqrt.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "sub.c" being overriden to "sub.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "sub_ui.c" being overriden to "sub_ui.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "swap.c" being overriden to "swap.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "ui_sub.c" being overriden to "ui_sub.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "urandomb.c" being overriden to "urandomb.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "abs.c" being overriden to "abs.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "clear.c" being overriden to "clear.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "clears.c" being overriden to "clears.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "cmp.c" being overriden to "cmp.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "cmp_si.c" being overriden to "cmp_si.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "cmp_ui.c" being overriden to "cmp_ui.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "div.c" being overriden to "div.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "get_d.c" being overriden to "get_d.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "get_str.c" being overriden to "get_str.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "init.c" being overriden to "init.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "inits.c" being overriden to "inits.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "inp_str.c" being overriden to "inp_str.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "mul.c" being overriden to "mul.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "neg.c" being overriden to "neg.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "out_str.c" being overriden to "out_str.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set.c" being overriden to "set.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_si.c" being overriden to "set_si.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_str.c" being overriden to "set_str.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_ui.c" being overriden to "set_ui.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_z.c" being overriden to "set_z.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_d.c" being overriden to "set_d.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_f.c" being overriden to "set_f.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "swap.c" being overriden to "swap.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "add.c" being overriden to "add.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "sub.c" being overriden to "sub.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "neg.c" being overriden to "neg.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "divis.c" being overriden to "divis.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "fib2_ui.c" being overriden to "fib2_ui.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "dump.c" being overriden to "dump.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "mul.c" being overriden to "mul.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "random.c" being overriden to "random.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "random2.c" being overriden to "random2.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "rootrem.c" being overriden to "rootrem.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "sqrtrem.c" being overriden to "sqrtrem.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "get_str.c" being overriden to "get_str.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "set_str.c" being overriden to "set_str.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "scan0.c" being overriden to "scan0.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "scan1.c" being overriden to "scan1.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "cmp.c" being overriden to "cmp.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "perfsqr.c" being overriden to "perfsqr.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "perfpow.c" being overriden to "perfpow.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "gcd.c" being overriden to "gcd.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "gcdext.c" being overriden to "gcdext.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "tdiv_qr.c" being overriden to "tdiv_qr.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "get_d.c" being overriden to "get_d.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "invert.c" being overriden to "invert.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "divexact.c" being overriden to "divexact.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "powm.c" being overriden to "powm.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "powm_sec.c" being overriden to "powm_sec.c"
dbx: internal warning: "(null)"::srcpath(): srcpath "remove.c" being overriden to "remove.c"
Reading libltdl.so.7.3.0
Reading librt.so.1
Reading libsocket.so.1
Reading libnsl.so.1
Reading libm.so.2
Reading libgcc_s.so.1
Reading libaio.so.1
Reading libmd.so.1
Current function is c_strcasecmp
   39         c1 = c_tolower (*p1);
(dbx) print p1
p1 = 0xfffffffffff56ee0 "<bad address 0xfffffffffff56ee0>"
(dbx) where   
=>[1] c_strcasecmp(s1 = 0xfffffffffff56ee0 "<bad address 0xfffffffffff56ee0>", s2 = 0x7fffffb4eb90 "UTF-8"), line 39 in "c-strcasecmp.c"
  [2] u8_conv_from_encoding(fromcode = 0xfffffffffff56ee0 "<bad address 0xfffffffffff56ee0>", handler = iconveh_escape_sequence, src = 0xfffffd7fffdfea1a "snarf-check-and-output-texi", srclen = 27U, offsets = (nil), resultbuf = (nil), lengthp = 0xfffffd7fffdfdf08) (optimized), at 0x7fffffa1c9f0 (line ~39) in "u8-conv-from-enc.c"
  [3] u32_conv_from_encoding(fromcode = <value unavailable>, handler = <value unavailable>, src = <value unavailable>, srclen = 27U, offsets = (nil), resultbuf = (nil), lengthp = 0xfffffd7fffdfdf70) (optimized), at 0x7fffffa1c2a0 (line ~52) in "u-conv-from-enc.h"
  [4] scm_from_stringn(str = 0xfffffd7fffdfea1a "snarf-check-and-output-texi", len = 27U, encoding = 0xfffffffffff56ee0 "<bad address 0xfffffffffff56ee0>", handler = SCM_FAILED_CONVERSION_ESCAPE_SEQUENCE), line 1515 in "strings.c"
  [5] locale_arguments_to_string_list(argc = 5, argv = 0xfffffd7fffdfe688), line 394 in "script.c"
  [6] scm_i_set_boot_program_arguments(argc = 0, argv = (nil)), line 405 in "script.c"
  [7] invoke_main_func(body_data = 0xfffffd7fffdfe630), line 335 in "init.c"
  [8] c_body(d = 0xfffffd7fffdfe580), line 512 in "continuations.c"
  [9] vm_regular_engine(vm = 0x4da270, program = 0x3560d40, argv = 0x7fffffec7260, nargs = 1), line 960 in "vm-i-system.c"
  [10] scm_c_vm_run(vm = 0x4da270, program = 0x355a1e0, argv = 0xfffffd7fffdfe180, nargs = 0), line 567 in "vm.c"
  [11] eval(x = 0x587570, env = 0x3542270), line 341 in "eval.c"
  [12] eval(x = 0x5873b0, env = 0x3542270), line 297 in "eval.c"
  [13] eval(x = 0x4ee920, env = 0x3542240), line 462 in "eval.c"
  [14] boot_closure_apply(closure = (nil), args = (nil)), line 956 in "eval.c"
  [15] vm_regular_engine(vm = 0x4da270, program = 0x355a060, argv = 0x7fffffe532b0, nargs = 1), line 960 in "vm-i-system.c"
  [16] scm_c_vm_run(vm = 0x4da270, program = 0x4ff1c0, argv = 0xfffffd7fffdfe4d0, nargs = 4), line 567 in "vm.c"
  [17] scm_call_4(proc = 0x4ff1c0, arg1 = (nil), arg2 = (nil), arg3 = (nil), arg4 = (nil)), line 507 in "eval.c"
  [18] scm_i_with_continuation_barrier(body = 0x7fffffe49ec0 = &`libguile-2.0.so.22.4.0`continuations.c`c_body(register void *d), body_data = 0xfffffd7fffdfe580, handler = 0x7fffffe49ef0 = &`libguile-2.0.so.22.4.0`continuations.c`c_handler(register void *d, register SCM tag, register SCM args), handler_data = 0xfffffd7fffdfe580, pre_unwind_handler = 0x7fffffe49f50 = &`libguile-2.0.so.22.4.0`continuations.c`pre_unwind_handler(register void *error_port, register SCM tag, register SCM args), pre_unwind_handler_data = 0x4da1a0), line 450 in "continuations.c"
  [19] scm_c_with_continuation_barrier(func = (nil), data = (nil)), line 546 in "continuations.c"
  [20] with_guile_and_parent(base = 0xfffffd7fffdfe5e0, data = (nil)), line 902 in "threads.c"
  [21] GC_call_with_stack_base(fn = (nil), arg = (nil)), line 1530 in "misc.c"
  [22] scm_i_with_guile_and_parent(func = (nil), data = (nil), parent = (nil)), line 945 in "threads.c"
  [23] scm_boot_guile(argc = 0, argv = (nil), main_func = (nil), closure = (nil)), line 319 in "init.c"
  [24] main(argc = 0, argv = (nil)), line 71 in "guile.c"
Regards,
Post by Kiyoshi KANAZAWA
Hi, Mark,
Thank you for your kindness.
I'm discussing with a member of gc project these 5 days.
He also told me to configure with "--enable-threads=posix" instead of -DGC_THREADS.
And I'm also testing the latest gc-7.2 candidate and gc-7.3 (developement) candidate.
Now, I'm retrying to build guile-2.0.5 again.
Make & make check pass with gcc-3.4.3 -m32, but make fail with -m64.
Message of make check is:as follows.
(libguile-2.0.so.22 is "ELF 64-bit LSB executable", so that it can be linked.)
make  all-am
make[3]: Entering directory `/tmp/guile-2.0.5/libguile'
  GEN    guile-procedures.texi
ld.so.1: guile: fatal: libguile-2.0.so.22: open failed: No such file or directory
/bin/bash: line 1: 23126 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
Post by Kiyoshi KANAZAWA
Post by Kiyoshi KANAZAWA
  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 weaks.doc dynl.doc posix.doc net_db.doc socket.doc regex-posix.doc
     23127 Killed                  | GUILE_AUTO_COMPILE=0 ../meta/uninstalled-env guild snarf-check-and-output-texi > guile-procedures.texi
make[3]: *** [guile-procedures.texi] Error 1
Regards,
Post by Mark H Weaver
Post by Kiyoshi KANAZAWA
Thank you Mark,
(1) Now, make succeeds with threads
Version of libgc is 7.1, but I found some macro define is required for threads on Solaris.
After re-install gc-7.1 with -DGC_SOLARIS_THREADS or -DGC_THREADS,
make succeeds.
This is not my area of expertise, but for lack of other suggestions, I
1. You could try recompiling libgc using POSIX threads instead of
   Solaris threads, and then rebuilding Guile from scratch, starting
   with configure, and linking against the new libgc.
   Guile supports only POSIX threads, and I wouldn't be surprised if
   there are problems associated with linking Guile against a libgc that
   uses a different threading library with slightly different semantics.
2. You could try a newer version of libgc: 7.2alpha6, from
   http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.2alpha6.tar.gz
   Despite the scary version number, Hans Boehm himself now recommends
   this version because 7.1 is so old (see "Where to get the collector"
   at http://www.hpl.hp.com/personal/Hans_Boehm/gc/ )
    Thanks,
      Mark
Post by Kiyoshi KANAZAWA
(2) Segmentation Fault occur in make check
make  check-TESTS
make[5]: Entering directory `/tmp/guile-2.0.5/test-suite/standalone'
Assertion failed: SCM_I_IS_THREAD (data.thread), file threads.c, line 1135
/bin/bash: line 5: 11634 Abort                   srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-system-cmds
PASS: test-extensions
/bin/bash: line 5: 12409 Segmentation Fault      srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-with-guile-module
PASS: test-scm-with-guile
/bin/bash: line 5: 12455 Segmentation Fault      srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-scm-spawn-thread
/bin/bash: line 5: 12479 Segmentation Fault      srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-pthread-create
SKIP: test-pthread-create-secondary
==================================
4 of 27 tests failed
(1 test was not run)
==================================
Kiyoshi KANAZAWA
2012-04-02 12:02:26 UTC
Permalink
Hi, Mark,

I analysed the problems.
(1) Why can not link libguile-2.0.so.22
LD_LIBRARY_PATH_64 is not set correctly.
I changed "LD_LIBRARY_PATH" to "LD_LIBRARY_PATH_64" in all the files in guile-2.0.5, and found libguile-2.0.so.22 can be linked.

(2) About Segmentation Fault
This seems to be same to
<http://lists.gnu.org/archive/html/bug-guile/2011-03/msg00111.html>.
I do not know why it occurs only with -m64 option.
(I have no problem with -m32).

Regards,
Post by Kiyoshi KANAZAWA
Hi, Mark,
Thank you for your kindness.
I'm discussing with a member of gc project these 5 days.
He also told me to configure with "--enable-threads=posix" instead of -DGC_THREADS.
And I'm also testing the latest gc-7.2 candidate and gc-7.3 (developement) candidate.
Now, I'm retrying to build guile-2.0.5 again.
Make & make check pass with gcc-3.4.3 -m32, but make fail with -m64.
Message of make check is:as follows.
(libguile-2.0.so.22 is "ELF 64-bit LSB executable", so that it can be linked.)
make  all-am
make[3]: Entering directory `/tmp/guile-2.0.5/libguile'
  GEN    guile-procedures.texi
ld.so.1: guile: fatal: libguile-2.0.so.22: open failed: No such file or directory
/bin/bash: line 1: 23126 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 weaks.doc dynl.doc posix.doc net_db.doc socket.doc regex-posix.doc
     23127 Killed                  | GUILE_AUTO_COMPILE=0 ../meta/uninstalled-env guild snarf-check-and-output-texi > guile-procedures.texi
make[3]: *** [guile-procedures.texi] Error 1
Regards,
Post by Mark H Weaver
Post by Kiyoshi KANAZAWA
Thank you Mark,
(1) Now, make succeeds with threads
Version of libgc is 7.1, but I found some macro define is required for threads on Solaris.
After re-install gc-7.1 with -DGC_SOLARIS_THREADS or -DGC_THREADS,
make succeeds.
This is not my area of expertise, but for lack of other suggestions, I
1. You could try recompiling libgc using POSIX threads instead of
   Solaris threads, and then rebuilding Guile from scratch, starting
   with configure, and linking against the new libgc.
   Guile supports only POSIX threads, and I wouldn't be surprised if
   there are problems associated with linking Guile against a libgc that
   uses a different threading library with slightly different semantics.
2. You could try a newer version of libgc: 7.2alpha6, from
   http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.2alpha6.tar.gz
   Despite the scary version number, Hans Boehm himself now recommends
   this version because 7.1 is so old (see "Where to get the collector"
   at http://www.hpl.hp.com/personal/Hans_Boehm/gc/ )
    Thanks,
      Mark
Post by Kiyoshi KANAZAWA
(2) Segmentation Fault occur in make check
make  check-TESTS
make[5]: Entering directory `/tmp/guile-2.0.5/test-suite/standalone'
Assertion failed: SCM_I_IS_THREAD (data.thread), file threads.c, line 1135
/bin/bash: line 5: 11634 Abort                   srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-system-cmds
PASS: test-extensions
/bin/bash: line 5: 12409 Segmentation Fault      srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-with-guile-module
PASS: test-scm-with-guile
/bin/bash: line 5: 12455 Segmentation Fault      srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-scm-spawn-thread
/bin/bash: line 5: 12479 Segmentation Fault      srcdir="." builddir="." CHARSETALIASDIR
="/tmp/guile-2.0.5/lib" GUILE_AUTO_COMPILE=0 "../../meta/uninstalled-env" ${dir}$tst
FAIL: test-pthread-create
SKIP: test-pthread-create-secondary
==================================
4 of 27 tests failed
(1 test was not run)
==================================
Mark H Weaver
2012-04-05 00:35:46 UTC
Permalink
Post by Kiyoshi KANAZAWA
I analysed the problems.
(1) Why can not link libguile-2.0.so.22
LD_LIBRARY_PATH_64 is not set correctly.
I changed "LD_LIBRARY_PATH" to "LD_LIBRARY_PATH_64" in all the files
in guile-2.0.5, and found libguile-2.0.so.22 can be linked.
This is a libtool issue. See:

http://news.gmane.org/find-root.php?group=gmane.comp.gnu.libtool.bugs&article=7988
Post by Kiyoshi KANAZAWA
(2) About Segmentation Fault
This seems to be same to
<http://lists.gnu.org/archive/html/bug-guile/2011-03/msg00111.html>.
This is the first time Guile is run during the build process, therefore
there is no evidence that these two problems are related.
Post by Kiyoshi KANAZAWA
I do not know why it occurs only with -m64 option.
(I have no problem with -m32).
Presumably something is broken for 64-bit builds on Solaris 10. I
suggest using a debugger to find out where the segfault is happening.
Can you please run 'meta/gdb-uninstalled-guile' within the build
directory and show us the backtrace when it segfaults?

Regards,
Mark
Kiyoshi KANAZAWA
2012-04-05 13:37:03 UTC
Permalink
Hi, Mark

I installed the latest gdb-7.4 to run 'meta/gdb-uninstalled-guile', but failed.
% meta/gdb-uninstalled-guile
GNU gdb (GDB) 7.4
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i386-pc-solaris2.10".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /tmp/guile-2.0.5/libguile/.libs/guile...done.
(gdb) run
Starting program: /tmp/guile-2.0.5/libguile/.libs/guile
procfs:4200 -- process not stopped.
procfs: ...giving up...

We still have the same problem as <http://sources.redhat.com/ml/gdb-prs/2011-q4/msg00050.html> in the latest gdb.


I used dbx debugger instead.
At first, back traced libguile/core (See BackTrace1.txt attached).
After that, executed "meta/uninstalled-env guild snarf-check-and-output-texi" from the build directory wirh ENVIRONMENT GUILE_AUTO_COMPILE = 0, and found core dumped again.
Back traced this new core again (See BackTrace2.txt) to compare.
The function scm_from_stringn () is called with bad address.

Keep in mind that patch 5de0053178b4acc793ae62838175e5f3ab56c603 is appyed.

Regards,
Presumably something is broken for 64-bit builds on Solaris 10.  I
suggest using a debugger to find out where the segfault is happening.
Can you please run 'meta/gdb-uninstalled-guile' within the build
directory and show us the backtrace when it segfaults?
    Regards,
      Mark
Mark H Weaver
2012-04-05 17:07:20 UTC
Permalink
Hi Ludovic,

It appears that 'environ_locale_charset' returns a bad address on
Solaris 10, but only when Guile is compiled with '-m64'. Kiyoshi says
that 5de0053178b4acc793ae62838175e5f3ab56c603 is applied in his tree.

Do you have time to look into this?

Regards,
Mark
=>[1] libunistring_c_strcasecmp(s1 = <value unavailable>, s2 = <value unavailable>) (optimized), at 0x7fffffa102a8 (line ~39) in "c-strcasecmp.c"
[2] u8_conv_from_encoding(fromcode = 0xfffffffffff56ea0 "<bad address 0xfffffffffff56ea0>", handler = iconveh_escape_sequence, src = 0xfffffd7fffdff6ea "snarf-check-and-output-texi", srclen = 27U, offsets = (nil), resultbuf = (nil), lengthp = 0xfffffd7fffdfecf8) (optimized), at 0x7fffffa1ce80 (line ~39) in "u8-conv-from-enc.c"
[3] u32_conv_from_encoding(fromcode = <value unavailable>, handler = <value unavailable>, src = <value unavailable>, srclen = 27U, offsets = (nil), resultbuf = (nil), lengthp = 0xfffffd7fffdfed60) (optimized), at 0x7fffffa1c730 (line ~52) in "u-conv-from-enc.h"
[4] scm_from_stringn(str = 0xfffffd7fffdff6ea "snarf-check-and-output-texi", len = 27U, encoding = 0xfffffffffff56ea0 "<bad address 0xfffffffffff56ea0>", handler = SCM_FAILED_CONVERSION_ESCAPE_SEQUENCE), line 1515 in "strings.c"
Note the bad 'encoding' parameter above.
[5] locale_arguments_to_string_list(argc = 5, argv = 0xfffffd7fffdff478), line 394 in "script.c"
[6] scm_i_set_boot_program_arguments(argc = 0, argv = (nil)), line 405 in "script.c"
[7] invoke_main_func(body_data = 0xfffffd7fffdff420), line 335 in "init.c"
[8] c_body(d = 0xfffffd7fffdff370), line 512 in "continuations.c"
[9] vm_regular_engine(vm = 0x4da270, program = 0x3679880, argv = 0x7fffffec7210, nargs = 1), line 960 in "vm-i-system.c"
[10] scm_c_vm_run(vm = 0x4da270, program = 0x3679a80, argv = 0xfffffd7fffdfef70, nargs = 0), line 567 in "vm.c"
[11] eval(x = 0x589570, env = 0x3681820), line 341 in "eval.c"
[12] eval(x = 0x5893b0, env = 0x3681820), line 297 in "eval.c"
[13] eval(x = 0x4f0920, env = 0x36817f0), line 462 in "eval.c"
[14] boot_closure_apply(closure = (nil), args = (nil)), line 956 in "eval.c"
[15] vm_regular_engine(vm = 0x4da270, program = 0x36799e0, argv = 0x7fffffe53260, nargs = 1), line 960 in "vm-i-system.c"
[16] scm_c_vm_run(vm = 0x4da270, program = 0x5011c0, argv = 0xfffffd7fffdff2c0, nargs = 4), line 567 in "vm.c"
[17] scm_call_4(proc = 0x5011c0, arg1 = (nil), arg2 = (nil), arg3 = (nil), arg4 = (nil)), line 507 in "eval.c"
[18] scm_i_with_continuation_barrier(body = 0x7fffffe49e70 = &`libguile-2.0.so.22.4.0`continuations.c`c_body(register void *d), body_data = 0xfffffd7fffdff370, handler = 0x7fffffe49ea0 = &`libguile-2.0.so.22.4.0`continuations.c`c_handler(register void *d, register SCM tag, register SCM args), handler_data = 0xfffffd7fffdff370, pre_unwind_handler = 0x7fffffe49f00 = &`libguile-2.0.so.22.4.0`continuations.c`pre_unwind_handler(register void *error_port, register SCM tag, register SCM args), pre_unwind_handler_data = 0x4da1a0), line 450 in "continuations.c"
[19] scm_c_with_continuation_barrier(func = (nil), data = (nil)), line 546 in "continuations.c"
[20] with_guile_and_parent(base = 0xfffffd7fffdff3d0, data = (nil)), line 902 in "threads.c"
[21] GC_call_with_stack_base(fn = (nil), arg = (nil)), line 1530 in "misc.c"
[22] scm_i_with_guile_and_parent(func = (nil), data = (nil), parent = (nil)), line 945 in "threads.c"
[23] scm_boot_guile(argc = 0, argv = (nil), main_func = (nil), closure = (nil)), line 319 in "init.c"
[24] main(argc = 0, argv = (nil)), line 71 in "guile.c"
(dbx)
Mark H Weaver
2012-04-10 15:26:21 UTC
Permalink
Hi Kiyoshi,
Post by Mark H Weaver
It appears that 'environ_locale_charset' returns a bad address on
Solaris 10, but only when Guile is compiled with '-m64'.
Kiyoshi: would you be willing to help investigate further? I would
recommend running the 64-bit version of Guile in a debugger, setting a
breakpoint on 'environ_locale_charset' and stepping through that
function to find out more precisely where the bad pointer originates.

Regards,
Mark
Post by Mark H Weaver
=>[1] libunistring_c_strcasecmp(s1 = <value unavailable>, s2 =
<value unavailable>) (optimized), at 0x7fffffa102a8 (line ~39) in
"c-strcasecmp.c"
[2] u8_conv_from_encoding(fromcode = 0xfffffffffff56ea0 "<bad
address 0xfffffffffff56ea0>", handler = iconveh_escape_sequence, src
= 0xfffffd7fffdff6ea "snarf-check-and-output-texi", srclen = 27U,
offsets = (nil), resultbuf = (nil), lengthp = 0xfffffd7fffdfecf8)
(optimized), at 0x7fffffa1ce80 (line ~39) in "u8-conv-from-enc.c"
[3] u32_conv_from_encoding(fromcode = <value unavailable>, handler
= <value unavailable>, src = <value unavailable>, srclen = 27U,
offsets = (nil), resultbuf = (nil), lengthp = 0xfffffd7fffdfed60)
(optimized), at 0x7fffffa1c730 (line ~52) in "u-conv-from-enc.h"
[4] scm_from_stringn(str = 0xfffffd7fffdff6ea
"snarf-check-and-output-texi", len = 27U, encoding =
0xfffffffffff56ea0 "<bad address 0xfffffffffff56ea0>", handler =
SCM_FAILED_CONVERSION_ESCAPE_SEQUENCE), line 1515 in "strings.c"
Note the bad 'encoding' parameter above.
[5] locale_arguments_to_string_list(argc = 5, argv = 0xfffffd7fffdff478), line 394 in "script.c"
[6] scm_i_set_boot_program_arguments(argc = 0, argv = (nil)), line 405 in "script.c"
[7] invoke_main_func(body_data = 0xfffffd7fffdff420), line 335 in "init.c"
[8] c_body(d = 0xfffffd7fffdff370), line 512 in "continuations.c"
[9] vm_regular_engine(vm = 0x4da270, program = 0x3679880, argv = 0x7fffffec7210, nargs = 1), line 960 in "vm-i-system.c"
[10] scm_c_vm_run(vm = 0x4da270, program = 0x3679a80, argv = 0xfffffd7fffdfef70, nargs = 0), line 567 in "vm.c"
[11] eval(x = 0x589570, env = 0x3681820), line 341 in "eval.c"
[12] eval(x = 0x5893b0, env = 0x3681820), line 297 in "eval.c"
[13] eval(x = 0x4f0920, env = 0x36817f0), line 462 in "eval.c"
[14] boot_closure_apply(closure = (nil), args = (nil)), line 956 in "eval.c"
[15] vm_regular_engine(vm = 0x4da270, program = 0x36799e0, argv = 0x7fffffe53260, nargs = 1), line 960 in "vm-i-system.c"
[16] scm_c_vm_run(vm = 0x4da270, program = 0x5011c0, argv = 0xfffffd7fffdff2c0, nargs = 4), line 567 in "vm.c"
[17] scm_call_4(proc = 0x5011c0, arg1 = (nil), arg2 = (nil), arg3 = (nil), arg4 = (nil)), line 507 in "eval.c"
[18] scm_i_with_continuation_barrier(body = 0x7fffffe49e70 =
&`libguile-2.0.so.22.4.0`continuations.c`c_body(register void *d),
body_data = 0xfffffd7fffdff370, handler = 0x7fffffe49ea0 =
&`libguile-2.0.so.22.4.0`continuations.c`c_handler(register void *d,
register SCM tag, register SCM args), handler_data =
0xfffffd7fffdff370, pre_unwind_handler = 0x7fffffe49f00 =
&`libguile-2.0.so.22.4.0`continuations.c`pre_unwind_handler(register
void *error_port, register SCM tag, register SCM args),
pre_unwind_handler_data = 0x4da1a0), line 450 in "continuations.c"
[19] scm_c_with_continuation_barrier(func = (nil), data = (nil)), line 546 in "continuations.c"
[20] with_guile_and_parent(base = 0xfffffd7fffdff3d0, data = (nil)), line 902 in "threads.c"
[21] GC_call_with_stack_base(fn = (nil), arg = (nil)), line 1530 in "misc.c"
[22] scm_i_with_guile_and_parent(func = (nil), data = (nil), parent = (nil)), line 945 in "threads.c"
[23] scm_boot_guile(argc = 0, argv = (nil), main_func = (nil), closure = (nil)), line 319 in "init.c"
[24] main(argc = 0, argv = (nil)), line 71 in "guile.c"
(dbx)
Kiyoshi KANAZAWA
2012-04-11 08:32:51 UTC
Permalink
Hi, Mark,

I was reconstructing GNU software building environment.
I put 32 bit code in /usr/local/GNU and 64bit ones in /usr/local/GNU/amd64.
I sometimes had to specify "-I/usr/local/GNU/amd64/include -L/usr/local/GNU/amd64/lib",
but it was harmful.
Now I do not have to use them in almost softwares.

As the result of this, backtrace of guile has got easy to understand.
"Segmentation Fault" happens in line 895 of vm-i-system.c,
ret = subr (sp[-1], sp[0]);

Whole the backtrace is:
[1] __lwp_kill(0x1, 0x6, 0xffffffff89b048a0, 0x7fffffc5338e, 0x6f00312e6f732e63, 0x612f6e00312e), at 0x7fffffc52a9a
[2] _thr_kill(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x7fffffc4b393
[3] raise(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x7fffffbf7d59
[4] abort(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x7fffffbd68c0
=>[5] pre_init_throw(k = 0x45b4c0, args = 0x4e2220), line 526 in "throw.c"
[6] vm_regular_engine(vm = 0x4db270, program = 0x4d6320, argv = 0x1, nargs = 2), line 895 in "vm-i-system.c"
[7] scm_c_vm_run(vm = 0x4db270, program = 0x4d6320, argv = 0xfffffd7fffdfe130, nargs = 6), line 567 in "vm.c"
[8] scm_call_with_vm(vm = 0x4db270, proc = 0x4d6320, args = 0x4db270), line 859 in "vm.c"
[9] scm_to_stringn(str = 0x4e3620, lenp = (nil), encoding = 0x7ffffff05411 "ISO-8859-1", handler = SCM_FAILED_CONVERSION_QUESTION_MARK), line 1966 in "strings.c"
[10] search_path(path = 0x4e2360, filename = 0x4e3620, extensions = 0x304, require_exts = 0x4, stat_buf = 0xfffffd7fffdfe330), line 444 in "load.c"
[11] scm_init_eval_in_scheme(), line 971 in "load.c"
[12] scm_i_init_guile(base = 0x7ffffff04bb4), line 499 in "init.c"
[13] scm_i_init_thread_for_guile(base = 0xfffffd7fffdfe460, parent = (nil)), line 829 in "threads.c"
[14] with_guile_and_parent(base = 0xfffffd7fffdfe460, data = (nil)), line 895 in "threads.c"
[15] GC_call_with_stack_base(fn = (nil), arg = (nil)), line 1530 in "misc.c"
[16] scm_i_with_guile_and_parent(func = (nil), data = (nil), parent = (nil)), line 945 in "threads.c"
[17] scm_boot_guile(argc = 0, argv = (nil), main_func = (nil), closure = (nil)), line 319 in "init.c"
[18] main(argc = 0, argv = (nil)), line 71 in "guile.c"

Regard,
Post by Mark H Weaver
Hi Kiyoshi,
Post by Mark H Weaver
It appears that 'environ_locale_charset' returns a bad address on
Solaris 10, but only when Guile is compiled with '-m64'.
Kiyoshi: would you be willing to help investigate further?  I would
recommend running the 64-bit version of Guile in a debugger, setting a
breakpoint on 'environ_locale_charset' and stepping through that
function to find out more precisely where the bad pointer originates.
    Regards,
      Mark
Post by Mark H Weaver
=>[1] libunistring_c_strcasecmp(s1 = <value unavailable>, s2 =
<value unavailable>) (optimized), at 0x7fffffa102a8 (line ~39) in
"c-strcasecmp.c"
   [2] u8_conv_from_encoding(fromcode = 0xfffffffffff56ea0 "<bad
address 0xfffffffffff56ea0>", handler = iconveh_escape_sequence, src
= 0xfffffd7fffdff6ea "snarf-check-and-output-texi", srclen = 27U,
offsets = (nil), resultbuf = (nil), lengthp = 0xfffffd7fffdfecf8)
(optimized), at 0x7fffffa1ce80 (line ~39) in "u8-conv-from-enc.c"
   [3] u32_conv_from_encoding(fromcode = <value unavailable>, handler
= <value unavailable>, src = <value unavailable>, srclen = 27U,
offsets = (nil), resultbuf = (nil), lengthp = 0xfffffd7fffdfed60)
(optimized), at 0x7fffffa1c730 (line ~52) in "u-conv-from-enc.h"
   [4] scm_from_stringn(str = 0xfffffd7fffdff6ea
"snarf-check-and-output-texi", len = 27U, encoding =
0xfffffffffff56ea0 "<bad address 0xfffffffffff56ea0>", handler =
SCM_FAILED_CONVERSION_ESCAPE_SEQUENCE), line 1515 in "strings.c"
Note the bad 'encoding' parameter above.
   [5] locale_arguments_to_string_list(argc = 5, argv = 0xfffffd7fffdff478), line 394 in "script.c"
   [6] scm_i_set_boot_program_arguments(argc = 0, argv = (nil)), line 405 in "script.c"
   [7] invoke_main_func(body_data = 0xfffffd7fffdff420), line 335 in "init.c"
   [8] c_body(d = 0xfffffd7fffdff370), line 512 in "continuations.c"
   [9] vm_regular_engine(vm = 0x4da270, program = 0x3679880, argv = 0x7fffffec7210, nargs = 1), line 960 in "vm-i-system.c"
   [10] scm_c_vm_run(vm = 0x4da270, program = 0x3679a80, argv = 0xfffffd7fffdfef70, nargs = 0), line 567 in "vm.c"
   [11] eval(x = 0x589570, env = 0x3681820), line 341 in "eval.c"
   [12] eval(x = 0x5893b0, env = 0x3681820), line 297 in "eval.c"
   [13] eval(x = 0x4f0920, env = 0x36817f0), line 462 in "eval.c"
   [14] boot_closure_apply(closure = (nil), args = (nil)), line 956 in "eval.c"
   [15] vm_regular_engine(vm = 0x4da270, program = 0x36799e0, argv = 0x7fffffe53260, nargs = 1), line 960 in "vm-i-system.c"
   [16] scm_c_vm_run(vm = 0x4da270, program = 0x5011c0, argv = 0xfffffd7fffdff2c0, nargs = 4), line 567 in "vm.c"
   [17] scm_call_4(proc = 0x5011c0, arg1 = (nil), arg2 = (nil), arg3 = (nil), arg4 = (nil)), line 507 in "eval.c"
   [18] scm_i_with_continuation_barrier(body = 0x7fffffe49e70 =
&`libguile-2.0.so.22.4.0`continuations.c`c_body(register void *d),
body_data = 0xfffffd7fffdff370, handler = 0x7fffffe49ea0 =
&`libguile-2.0.so.22.4.0`continuations.c`c_handler(register void *d,
register SCM tag, register SCM args), handler_data =
0xfffffd7fffdff370, pre_unwind_handler = 0x7fffffe49f00 =
&`libguile-2.0.so.22.4.0`continuations.c`pre_unwind_handler(register
void *error_port, register SCM tag, register SCM args),
pre_unwind_handler_data = 0x4da1a0), line 450 in "continuations.c"
   [19] scm_c_with_continuation_barrier(func = (nil), data = (nil)), line 546 in "continuations.c"
   [20] with_guile_and_parent(base = 0xfffffd7fffdff3d0, data = (nil)), line 902 in "threads.c"
   [21] GC_call_with_stack_base(fn = (nil), arg = (nil)), line 1530 in "misc.c"
   [22] scm_i_with_guile_and_parent(func = (nil), data = (nil), parent = (nil)), line 945 in "threads.c"
   [23] scm_boot_guile(argc = 0, argv = (nil), main_func = (nil), closure = (nil)), line 319 in "init.c"
   [24] main(argc = 0, argv = (nil)), line 71 in "guile.c"
(dbx)
Ludovic Courtès
2012-04-11 21:42:54 UTC
Permalink
Hi,
Post by Kiyoshi KANAZAWA
[1] __lwp_kill(0x1, 0x6, 0xffffffff89b048a0, 0x7fffffc5338e, 0x6f00312e6f732e63, 0x612f6e00312e), at 0x7fffffc52a9a
[2] _thr_kill(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x7fffffc4b393
[3] raise(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x7fffffbf7d59
[4] abort(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x7fffffbd68c0
=>[5] pre_init_throw(k = 0x45b4c0, args = 0x4e2220), line 526 in "throw.c"
[6] vm_regular_engine(vm = 0x4db270, program = 0x4d6320, argv = 0x1, nargs = 2), line 895 in "vm-i-system.c"
[7] scm_c_vm_run(vm = 0x4db270, program = 0x4d6320, argv = 0xfffffd7fffdfe130, nargs = 6), line 567 in "vm.c"
[8] scm_call_with_vm(vm = 0x4db270, proc = 0x4d6320, args = 0x4db270), line 859 in "vm.c"
[9] scm_to_stringn(str = 0x4e3620, lenp = (nil), encoding = 0x7ffffff05411 "ISO-8859-1", handler = SCM_FAILED_CONVERSION_QUESTION_MARK), line 1966 in "strings.c"
This seems to indicate a failure to convert STR from ISO-8859-1, with a
failed attempt to raise an exception.

Can you try running Guile under the “C” locale?

$ LANG=C ./meta/guile -c 1

Thanks,
Ludo’.
Kiyoshi KANAZAWA
2012-04-12 09:02:21 UTC
Permalink
Hi,
Post by Ludovic Courtès
Hi,
   [1] __lwp_kill(0x1, 0x6, 0xffffffff89b048a0, 0x7fffffc5338e, 0x6f00312e6f732e63, 0x612f6e00312e), at 0x7fffffc52a9a
   [2] _thr_kill(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x7fffffc4b393
   [3] raise(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x7fffffbf7d59
   [4] abort(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x7fffffbd68c0
=>[5] pre_init_throw(k = 0x45b4c0, args = 0x4e2220), line 526 in "throw.c"
   [6] vm_regular_engine(vm = 0x4db270, program = 0x4d6320, argv = 0x1, nargs = 2), line 895 in "vm-i-system.c"
   [7] scm_c_vm_run(vm = 0x4db270, program = 0x4d6320, argv = 0xfffffd7fffdfe130, nargs = 6), line 567 in "vm.c"
   [8] scm_call_with_vm(vm = 0x4db270, proc = 0x4d6320, args = 0x4db270), line 859 in "vm.c"
   [9] scm_to_stringn(str = 0x4e3620, lenp = (nil), encoding = 0x7ffffff05411 "ISO-8859-1", handler = SCM_FAILED_CONVERSION_QUESTION_MARK), line 1966 in "strings.c"
This seems to indicate a failure to convert STR from ISO-8859-1, with a
failed attempt to raise an exception.
Can you try running Guile under the “C” locale?
Last one was also ran with environment LANG = C
Post by Ludovic Courtès
  $ LANG=C ./meta/guile -c 1
$  $ LANG=C ./meta/guile -c 1
Throw without catch before boot:
Throw to key encoding-error with args ("scm_to_stringn" "cannot convert narrow string to output locale" 89 #f #f)Aborting.
Abort


I found /usr/lib/locale/ja/amd64 in my LD_LIBRARY_PATH_64 and removed it, but the result is same.

Regards,

--- Kiyoshi <***@yahoo.co.jp>
Ludovic Courtès
2012-04-12 13:53:40 UTC
Permalink
Hi,
Post by Kiyoshi KANAZAWA
$  $ LANG=C ./meta/guile -c 1
Throw to key encoding-error with args ("scm_to_stringn" "cannot convert narrow string to output locale" 89 #f #f)Aborting.
grep 89 /usr/include/*/errno*
/usr/include/sys/errno.h:/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
/usr/include/sys/errno.h: * (c) 1983,1984,1985,1986,1987,1988,1989 AT&T.
/usr/include/sys/errno.h:#define ENOSYS 89 /* Unsupported file system operation */

This errors comes from the ‘mem_iconveh’ call, which, according to
striconveh.c, means that libunistring was compiled without iconv
support. Can you check whether this is the case?

This problem is normally caught by Guile’s configure. Could you check
the value of ‘ac_cv_libunistring_with_iconv_support’ in Guile’s
‘config.log’?

Thanks,
Ludo’.
Ludovic Courtès
2012-04-12 16:06:41 UTC
Permalink
Hi,
% grep ac_cv_libunistring_with_iconv_support config.log
ac_cv_libunistring_with_iconv_support=yes
In that case, could you step through ‘scm_to_stringn’ and its
‘mem_iconveh’ call to see where that error value comes from?

To that end, run Guile from the build tree with
‘./meta/gdb-uninstalled-guile’ (substitute “gdb” in that script with the
actual debugger command name, if needed.)

Thanks a lot for your help and perseverance!

Ludo’.
Kiyoshi KANAZAWA
2012-04-12 14:57:08 UTC
Permalink
Hi,

% grep ac_cv_libunistring_with_iconv_support config.log
ac_cv_libunistring_with_iconv_support=yes
Hi,
Post by Kiyoshi KANAZAWA
$  $ LANG=C ./meta/guile -c 1
Throw to key encoding-error with args ("scm_to_stringn" "cannot convert narrow string to output locale" 89 #f #f)Aborting.
  > grep 89 /usr/include/*/errno*                                             
  /usr/include/sys/errno.h:/*     Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
  /usr/include/sys/errno.h: *     (c) 1983,1984,1985,1986,1987,1988,1989  AT&T.
  /usr/include/sys/errno.h:#define        ENOSYS  89      /* Unsupported file system operation    */
This errors comes from the ‘mem_iconveh’ call, which, according to
striconveh.c, means that libunistring was compiled without iconv
support.  Can you check whether this is the case?
This problem is normally caught by Guile’s configure.  Could you check
the value of ‘ac_cv_libunistring_with_iconv_support’ in Guile’s
‘config.log’?
Thanks,
Ludo’.
Kiyoshi KANAZAWA
2012-04-13 16:23:44 UTC
Permalink
Hi, Ludovic,

mem_iconveh () returns ENOSYS, in "striconveh.c" line 1139.
This is out of "#if HAVE_ICONV" but in "#else".

Maybe configure did not find "iconv.h".

I built guile again with configure options
--with-libiconv-prefix=
--with-libunistring-prefix=
--with-libltdl-prefix=
--with-libgmp-prefix=
--with-libintl-prefix=
and set all the include pathes to CPATH environment for gcc.
With these, make passed without any problem.

I downloaded the latest snapshot "guile-2.0.5.100-0f6dd" and tryed making.
The result is:
(1) with -m64
make passed, and "make check " also passed except for 1 FAIL:
FAIL: time.test: strftime: C99 %z format: EST+5

(2) with -m32
Failed with Segmentation Fault as:
make[3]: Entering directory `/tmp/guile-2.0.5.100-0f6dd'
Testing /tmp/guile-2.0.5.100-0f6dd/meta/guile ...
with GUILE_LOAD_PATH=/tmp/guile-2.0.5.100-0f6dd/test-suite
/bin/bash: line 5: 14661 Segmentation Fault (core dumped) CHARSETALIASDIR="/tmp/guile-2.0.5.100-0f6dd/lib" ${dir}$tst
FAIL: check-guile

This is less inportant because it occurs in "make check" phase, not in "make" phase.
But if you do not mind helping me, I'll try to find what causes this.
Backtrace is attached as "backtrace.txt".
Hi,
% grep ac_cv_libunistring_with_iconv_support config.log
ac_cv_libunistring_with_iconv_support=yes
In that case, could you step through ‘scm_to_stringn’ and its
‘mem_iconveh’ call to see where that error value comes from?
To that end, run Guile from the build tree with
‘./meta/gdb-uninstalled-guile’ (substitute “gdb” in that script with the
actual debugger command name, if needed.)
Thanks a lot for your help and perseverance!
Ludo’.
Andy Wingo
2012-07-05 21:24:17 UTC
Permalink
Hi Kiyoshi,

Did you make any progress here?
Post by Kiyoshi KANAZAWA
I downloaded the latest snapshot "guile-2.0.5.100-0f6dd" and tryed making.
(1) with -m64
FAIL: time.test: strftime: C99 %z format: EST+5
Do you have any more details on this test?
Post by Kiyoshi KANAZAWA
(2) with -m32
make[3]: Entering directory `/tmp/guile-2.0.5.100-0f6dd'
Testing /tmp/guile-2.0.5.100-0f6dd/meta/guile ...
with GUILE_LOAD_PATH=/tmp/guile-2.0.5.100-0f6dd/test-suite
/bin/bash: line 5: 14661 Segmentation Fault (core dumped) CHARSETALIASDIR="/tmp/guile-2.0.5.100-0f6dd/lib" ${dir}$tst
FAIL: check-guile
This is less inportant because it occurs in "make check" phase, not in "make" phase.
[1] __cexp(0x0, 0x0, 0xf01b866e, 0x400921f9, 0x6, 0x89b1f20), at 0xfe801928
=>[2] scm_exp(z = (nil)), line 167 in "numbers.c"
What can the meaning of this be?

Regards,

Andy
--
http://wingolog.org/
Andy Wingo
2013-03-13 10:55:14 UTC
Permalink
Hi Kiyoshi,

We're following up on some bugs in anticipation of a 2.0.8 release. Can
you try the following tarball:

http://wingolog.org/priv/guile-2.0.7.194-dfd1d.tar.gz

Git from stable-2.0 is fine as well.

Thanks!

Andy
Post by Andy Wingo
Post by Kiyoshi KANAZAWA
I downloaded the latest snapshot "guile-2.0.5.100-0f6dd" and tryed making.
(1) with -m64
FAIL: time.test: strftime: C99 %z format: EST+5
Do you have any more details on this test?
Post by Kiyoshi KANAZAWA
(2) with -m32
make[3]: Entering directory `/tmp/guile-2.0.5.100-0f6dd'
Testing /tmp/guile-2.0.5.100-0f6dd/meta/guile ...
with GUILE_LOAD_PATH=/tmp/guile-2.0.5.100-0f6dd/test-suite
/bin/bash: line 5: 14661 Segmentation Fault (core dumped) CHARSETALIASDIR="/tmp/guile-2.0.5.100-0f6dd/lib" ${dir}$tst
FAIL: check-guile
This is less inportant because it occurs in "make check" phase, not in "make" phase.
[1] __cexp(0x0, 0x0, 0xf01b866e, 0x400921f9, 0x6, 0x89b1f20), at 0xfe801928
=>[2] scm_exp(z = (nil)), line 167 in "numbers.c"
What can the meaning of this be?
Regards,
Andy
--
http://wingolog.org/
Andy Wingo
2016-06-20 19:31:14 UTC
Permalink
Closing as it's been 3 years without any update. Please feel free to
test the latest 2.0.11 release from the 2.0 series and if you still see
the bug, let us know.

Cheers,

Andy
Post by Mark H Weaver
Hi Kiyoshi,
We're following up on some bugs in anticipation of a 2.0.8 release. Can
http://wingolog.org/priv/guile-2.0.7.194-dfd1d.tar.gz
Git from stable-2.0 is fine as well.
Thanks!
Andy
Post by Andy Wingo
Post by Kiyoshi KANAZAWA
I downloaded the latest snapshot "guile-2.0.5.100-0f6dd" and tryed making.
(1) with -m64
FAIL: time.test: strftime: C99 %z format: EST+5
Do you have any more details on this test?
Post by Kiyoshi KANAZAWA
(2) with -m32
make[3]: Entering directory `/tmp/guile-2.0.5.100-0f6dd'
Testing /tmp/guile-2.0.5.100-0f6dd/meta/guile ...
with GUILE_LOAD_PATH=/tmp/guile-2.0.5.100-0f6dd/test-suite
/bin/bash: line 5: 14661 Segmentation Fault (core dumped) CHARSETALIASDIR="/tmp/guile-2.0.5.100-0f6dd/lib" ${dir}$tst
FAIL: check-guile
This is less inportant because it occurs in "make check" phase, not in "make" phase.
[1] __cexp(0x0, 0x0, 0xf01b866e, 0x400921f9, 0x6, 0x89b1f20), at 0xfe801928
=>[2] scm_exp(z = (nil)), line 167 in "numbers.c"
What can the meaning of this be?
Regards,
Andy
Loading...