Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Jul 2012 20:20:27 GMT
From:      Nathaniel Filardo <nwf@cs.jhu.edu>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   misc/169669: Something seems broken in sparc64 TLS or lang/lua
Message-ID:  <201207052020.q65KKRvi056426@red.freebsd.org>
Resent-Message-ID: <201207052030.q65KU8BU052573@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         169669
>Category:       misc
>Synopsis:       Something seems broken in sparc64 TLS or lang/lua
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jul 05 20:30:07 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Nathaniel Filardo
>Release:        9.0-STABLE
>Organization:
>Environment:
FreeBSD hydra.priv.oc.ietfng.org 9.0-STABLE FreeBSD 9.0-STABLE #79 r237428+3841b3f-dirty: Fri Jun 22 05:20:26 EDT 2012     root@hydra.priv.oc.ietfng.org:/usr/obj/systank/src/sys/NWFKERN  sparc64

>Description:
Ports linked against lua die almost immediately at startup.  For example, dns/dnsmasq with LUA set yields:

hydra% dnsmasq
zsh: bus error (core dumped)  dnsmasq
hydra% gdb `which dnsmasq` dnsmasq.core
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "sparc64-marcel-freebsd"...(no debugging symbols found)...
Core was generated by `dnsmasq'.
Program terminated with signal 10, Bus error.
Reading symbols from /usr/local/lib/liblua-5.1.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/liblua-5.1.so.1
Reading symbols from /lib/libm.so.5...(no debugging symbols found)...done.
Loaded symbols for /lib/libm.so.5
Reading symbols from /usr/local/lib/libidn.so.17...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libidn.so.17
Reading symbols from /lib/libc.so.7...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /usr/local/lib/libintl.so.9...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libintl.so.9
Reading symbols from /usr/local/lib/libiconv.so.3...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libiconv.so.3
Reading symbols from /libexec/ld-elf.so.1...(no debugging symbols found)...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x0000000040237fac in __tls_get_addr () from /libexec/ld-elf.so.1
(gdb) bt
#0  0x0000000040237fac in __tls_get_addr () from /libexec/ld-elf.so.1
#1  0x0000000040237d50 in __tls_get_addr () from /libexec/ld-elf.so.1
Previous frame identical to this frame (corrupt stack?)

security/nmap's nmap executable, which also uses lua, also dies immediately in the same way, erroring in __tls_get_addr.

>How-To-Repeat:
Build dns/dnsmasq or security/nmap on sparc64
>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201207052020.q65KKRvi056426>