[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