hang in dlclose() on rtld lock (powerpc64)
Justin Hibbits
jrh29 at alumni.cwru.edu
Thu Mar 9 15:59:02 UTC 2017
When building ports in poudriere, I see gdk-pixbuf-query-modules and
gio-querymodules hanging on r314676, but working in r305820. I took a
backtrace on both in gdb, and see the following (identical between both):
Program received signal SIGINT, Interrupt.
0x00000000506831d8 in .__sys.umtx_op () from /lib/libc.so.7
(gdb) bt
#0 0x00000000506831d8 in .__sys.umtx_op () from /lib/libc.so.7
#1 0x0000000050588010 in _umtx_op_err (obj=0x4, op=13, val=0, uaddr=0x0,
uaddr2=0x0)
at /home/chmeee/freebsd/pristine/lib/libthr/thread/thr_umtx.c:37
#2 0x00000000505881b8 in __thr_rwlock_wrlock (rwlock=<optimized out>,
tsp=<optimized out>)
at /home/chmeee/freebsd/pristine/lib/libthr/thread/thr_umtx.c:325
#3 0x00000000505965f0 in _thr_rwlock_wrlock (tsp=<optimized out>,
rwlock=<optimized out>)
at /home/chmeee/freebsd/pristine/lib/libthr/thread/thr_umtx.h:239
#4 _thr_rtld_wlock_acquire (lock=0x505bdd00)
at /home/chmeee/freebsd/pristine/lib/libthr/thread/thr_rtld.c:141
#5 0x0000000050026bf4 in wlock_acquire (lock=0x5004cf20 <rtld_locks>,
lockstate=0xffffffffffffcab0)
at /home/chmeee/freebsd/pristine/libexec/rtld-elf/rtld_lock.c:222
#6 0x0000000050022b1c in dlclose (handle=0x51d62000)
at /home/chmeee/freebsd/pristine/libexec/rtld-elf/rtld.c:3021
#7 0x0000000050022c90 in free_needed_filtees (n=0x509f7420)
at /home/chmeee/freebsd/pristine/libexec/rtld-elf/rtld.c:2113
#8 0x0000000050022d18 in unload_filtees (obj=0x509fa800)
at /home/chmeee/freebsd/pristine/libexec/rtld-elf/rtld.c:2129
#9 0x0000000050022e54 in unload_object (root=<optimized out>)
at /home/chmeee/freebsd/pristine/libexec/rtld-elf/rtld.c:4464
#10 0x0000000050022c20 in dlclose (handle=0x50054000)
at /home/chmeee/freebsd/pristine/libexec/rtld-elf/rtld.c:3044
---Type <return> to continue, or q <return> to quit---q
This happens on powerpc64. I haven't tested on powerpc or any other arch.
- Justin
More information about the freebsd-current
mailing list