[Bug 233204] rtld issue on aarch64
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Tue Nov 13 18:04:53 UTC 2018
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233204
Bug ID: 233204
Summary: rtld issue on aarch64
Product: Base System
Version: CURRENT
Hardware: arm64
OS: Any
Status: New
Severity: Affects Many People
Priority: ---
Component: arm
Assignee: freebsd-arm at FreeBSD.org
Reporter: mikael.urankar at gmail.com
CC: emaste at freebsd.org
Created attachment 199211
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=199211&action=edit
test program
Hi,
I'm having the following crash in rtld on aarch64 when a program uses dlopen,
pthread and tls variables with the test program available at [1] :
Program terminated with signal SIGSEGV, Segmentation fault.
#0 free_tls (tcb=0x4028e010, tcbsize=16, tcbalign=16) at
/usr/src/libexec/rtld-elf/rtld.c:4842
4842 dtvsize = dtv[1];
(gdb) bt
#0 free_tls (tcb=0x4028e010, tcbsize=16, tcbalign=16) at
/usr/src/libexec/rtld-elf/rtld.c:4842
#1 0x0000000040235910 in _rtld_free_tls (tcb=0x4028e010, tcbsize=16,
tcbalign=<optimized out>)
at /usr/src/libexec/rtld-elf/rtld.c:5062
#2 0x00000000402acde4 in _thr_free (curthread=0x406c4000, thread=0x406c4500)
at /usr/src/lib/libthr/thread/thr_list.c:199
#3 0x00000000402accf0 in _thr_gc (curthread=0x406c4000) at
/usr/src/lib/libthr/thread/thr_list.c:129
#4 0x00000000402ad164 in _thr_alloc (curthread=0x406c4000) at
/usr/src/lib/libthr/thread/thr_list.c:141
#5 0x00000000402a2124 in _pthread_create (thread=0xffffffffe948, attr=0x0,
start_routine=0x406d906c <do_something>, arg=0x0)
at /usr/src/lib/libthr/thread/thr_create.c:81
#6 0x0000000000210364 in main ()
(gdb) p *0x4028e010
$1 = 666
The tcb points to my __thread variable which seems wrong.
I don't have the knowledge to debug this problem further so any help will be
greatly appreciated.
It crashes on 11.2-RELEASE and 13.0-CURRENT r340197.
[1] http://mikael.urankar.free.fr/FreeBSD/aarch64/test.c
http://mikael.urankar.free.fr/FreeBSD/aarch64/test_lib.c
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-arm
mailing list