GNU bug report logs - #19233
Errors building guile on Armv7

Previous Next

Package: guile;

Reported by: John Darrington <john <at> darrington.wattle.id.au>

Date: Sun, 30 Nov 2014 19:53:02 UTC

Severity: normal

Tags: notabug

Done: Mark H Weaver <mhw <at> netris.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 19233 in the body.
You can then email your comments to 19233 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guile <at> gnu.org:
bug#19233; Package guile. (Sun, 30 Nov 2014 19:53:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to John Darrington <john <at> darrington.wattle.id.au>:
New bug report received and forwarded. Copy sent to bug-guile <at> gnu.org. (Sun, 30 Nov 2014 19:53:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: John Darrington <john <at> darrington.wattle.id.au>
To: bug-guile <at> gnu.org
Subject: Errors building guile on Armv7
Date: Sun, 30 Nov 2014 12:28:37 +0100
[Message part 1 (text/plain, inline)]
I downloaded the snapshot from http://hydra.nixos.org/build/17611516

and ran into the following problems:

My system does not have a libc with threading, so I configured guile and
dependencies with --without-threads (or --disable-threads as appropriate).


I get the following error:


Throw without catch before boot:

Error while printing exception:
Key: 
Failed to print exception.
Aborting.
/bin/sh: line 1:  9643 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 unicode.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
      9644 Aborted                 | GUILE_INSTALL_LOCALE=1 GUILE_AUTO_COMPILE=0 ../meta/uninstalled-env guild snarf-check-and-output-texi > guile-procedures.texi
make[3]: *** [guile-procedures.texi] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2


gdb suggests that the problem is that iconv fails and sets the error message: "Cannot find thread-local variables on this target"


gdb log is attached.  config.log is also attached.


J'


-- 
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.

[config.log (text/plain, attachment)]
[gdblog (text/plain, attachment)]
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guile <at> gnu.org:
bug#19233; Package guile. (Sun, 07 Dec 2014 05:27:02 GMT) Full text and rfc822 format available.

Message #8 received at 19233 <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: John Darrington <john <at> darrington.wattle.id.au>
Cc: 19233 <at> debbugs.gnu.org
Subject: Re: bug#19233: Errors building guile on Armv7
Date: Sun, 07 Dec 2014 00:24:42 -0500
John Darrington <john <at> darrington.wattle.id.au> writes:

> I downloaded the snapshot from http://hydra.nixos.org/build/17611516
>
> and ran into the following problems:
>
> My system does not have a libc with threading, so I configured guile and
> dependencies with --without-threads (or --disable-threads as appropriate).
>
>
> I get the following error:
>
>
> Throw without catch before boot:
>
> Error while printing exception:

[...]

> gdb suggests that the problem is that iconv fails and sets the error
> message: "Cannot find thread-local variables on this target"

That error comes from GDB while trying to access 'errno', which is a
thread-local variable.  We still don't know the value of 'errno'.

As a temporary hack, you could replace the call to 'scm_encoding_error'
at strings.c:2106 with a call to 'printf' that prints out the value of
'errno'.

I guess that both iconv and gdb are somewhat broken on your system.

    Thanks,
      Mark


> #66 0x2ab9e51c in scm_encoding_error (subr=0x2abf6398 <__func__.18606> "scm_to_stringn", err=22, message=0x2abf6108 "cannot convert narrow string to output locale", port=0x4, chr=0x4) at strings.c:1486
> #67 0x2ab9f2e8 in scm_to_stringn (str=0x103870, lenp=0x0, encoding=0x2b0975ec "ANSI_X3.4-1968", handler=SCM_FAILED_CONVERSION_QUESTION_MARK) at strings.c:2106
> #68 0x2ab9ecd0 in scm_to_locale_stringn (str=0x103870, lenp=0x0) at strings.c:1820
> #69 0x2ab9eca4 in scm_to_locale_string (str=0x103870) at strings.c:1814
> #70 0x2ab4d444 in search_path (path=0xfe0e8, filename=0x103870, extensions=0x304, require_exts=0x4, stat_buf=0x7efffa28) at load.c:571
> #71 0x2ab4e126 in scm_init_eval_in_scheme () at load.c:1094
> #72 0x2ab441ce in scm_i_init_guile (base=0x7efffafc) at init.c:507
> #73 0x2aba57a0 in scm_i_init_thread_for_guile (base=0x7efffafc, parent=0x0) at threads.c:833
> #74 0x2aba588a in with_guile_and_parent (base=0x7efffafc, base <at> entry=<error reading variable: value has been optimized out>, data=0x7efffb24, data <at> entry=<error reading variable: value has been optimized out>) at threads.c:899
> #75 0x2ac3c552 in GC_call_with_stack_base (fn=<optimized out>, arg=<optimized out>) at misc.c:1840
> #76 0x2aba5964 in scm_i_with_guile_and_parent (func=0x2ab43f31 <invoke_main_func>, data=0x7efffb5c, parent=0x0) at threads.c:949
> #77 0x2aba598e in scm_with_guile (func=0x2ab43f31 <invoke_main_func>, data=0x7efffb5c) at threads.c:955
> #78 0x2ab43f16 in scm_boot_guile (argc=1, argv=0x7efffcd4, main_func=0x89fd <inner_main>, closure=0x0) at init.c:323
> #79 0x00008af8 in main (argc=1, argv=0x7efffcd4) at guile.c:108
> (gdb) frame 67
> #67 0x2ab9f2e8 in scm_to_stringn (str=0x103870, lenp=0x0, encoding=0x2b0975ec "ANSI_X3.4-1968", handler=SCM_FAILED_CONVERSION_QUESTION_MARK) at strings.c:2106
> 2106	        scm_encoding_error (__func__, errno,
> (gdb) print errno
> Cannot find thread-local variables on this target




Information forwarded to bug-guile <at> gnu.org:
bug#19233; Package guile. (Sun, 07 Dec 2014 08:25:02 GMT) Full text and rfc822 format available.

Message #11 received at 19233 <at> debbugs.gnu.org (full text, mbox):

From: John Darrington <john <at> darrington.wattle.id.au>
To: Mark H Weaver <mhw <at> netris.org>
Cc: 19233 <at> debbugs.gnu.org, John Darrington <john <at> darrington.wattle.id.au>
Subject: Re: bug#19233: Errors building guile on Armv7
Date: Sun, 7 Dec 2014 09:24:20 +0100
[Message part 1 (text/plain, inline)]
On Sun, Dec 07, 2014 at 12:24:42AM -0500, Mark H Weaver wrote:
     John Darrington <john <at> darrington.wattle.id.au> writes:
     
     > I downloaded the snapshot from http://hydra.nixos.org/build/17611516
     >
     > and ran into the following problems:
     >
     > My system does not have a libc with threading, so I configured guile and
     > dependencies with --without-threads (or --disable-threads as appropriate).
     >
     >
     > I get the following error:
     >
     >
     > Throw without catch before boot:
     >
     > Error while printing exception:
     
     [...]
     
     > gdb suggests that the problem is that iconv fails and sets the error
     > message: "Cannot find thread-local variables on this target"
     
     That error comes from GDB while trying to access 'errno', which is a
     thread-local variable.  We still don't know the value of 'errno'.
     
     As a temporary hack, you could replace the call to 'scm_encoding_error'
     at strings.c:2106 with a call to 'printf' that prints out the value of
     'errno'.
     
     I guess that both iconv and gdb are somewhat broken on your system.
     


You are right.  I was linking to the wrong libiconv

I think however, that your suggested work-around or something similar could do with
pushing to the master:   There is a circular dependency here: If iconv_open fails, guile
tries to report the error using scm_locale_string which itself calls iconv_open ...

J'


-- 
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.

[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guile <at> gnu.org:
bug#19233; Package guile. (Sun, 07 Dec 2014 16:59:02 GMT) Full text and rfc822 format available.

Message #14 received at 19233 <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: John Darrington <john <at> darrington.wattle.id.au>
Cc: 19233 <at> debbugs.gnu.org, request <at> debbugs.gnu.org
Subject: Re: bug#19233: Errors building guile on Armv7
Date: Sun, 07 Dec 2014 11:56:53 -0500
tags 19233 + notabug
close 19233
thanks

John Darrington <john <at> darrington.wattle.id.au> writes:

> On Sun, Dec 07, 2014 at 12:24:42AM -0500, Mark H Weaver wrote:
[...]
>      I guess that both iconv and gdb are somewhat broken on your system.
>      
>
>
> You are right.  I was linking to the wrong libiconv

Okay.

> I think however, that your suggested work-around or something similar
> could do with pushing to the master: There is a circular dependency
> here: If iconv_open fails, guile tries to report the error using
> scm_locale_string which itself calls iconv_open ...

In the common case, the failure is not that iconv is broken, but rather
that the string contains a character that cannot be encoded in the
specified encoding.  'scm_encoding_error' raises an exception, which
could be caught and handled by user code.  If uncaught, it would print
an error message that contains only ASCII characters, so should not
fail.

What I suggested was not a workaround, but rather a temporary hack to
debug your problem.

     Thanks,
       Mark




Added tag(s) notabug. Request was from Mark H Weaver <mhw <at> netris.org> to control <at> debbugs.gnu.org. (Sun, 07 Dec 2014 16:59:02 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 19233 <at> debbugs.gnu.org and John Darrington <john <at> darrington.wattle.id.au> Request was from Mark H Weaver <mhw <at> netris.org> to control <at> debbugs.gnu.org. (Sun, 07 Dec 2014 16:59:03 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 05 Jan 2015 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 10 years and 246 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.