https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211947
--- Comment #4 from [email protected] ---
I can confirm that the user stack of the hanging process nearly looks like
yours, the difference is probably because I use amd64:
[Switching to Thread 801406400 (LWP 100956)]
_umtx_op_err () at /usr/src/lib/libthr/arch/amd64/amd64/_umtx_op_err.S:37
37 RSYSCALL_ERR(_umtx_op)
(gdb) bt
#0 _umtx_op_err () at /usr/src/lib/libthr/arch/amd64/amd64/_umtx_op_err.S:37
#1 0x000000080082a267 in __thr_rwlock_wrlock (rwlock=0x800a42880,
tsp=<optimized out>) at /usr/src/lib/libthr/thread/thr_umtx.c:297
#2 0x000000080083186a in _thr_rwlock_wrlock (rwlock=<optimized out>,
tsp=<optimized out>)
at /usr/src/lib/libthr/thread/thr_umtx.h:204
#3 _thr_rtld_wlock_acquire (lock=0x800a42880) at
/usr/src/lib/libthr/thread/thr_rtld.c:141
#4 0x000000080060bc80 in wlock_acquire (lock=0x80081fcc0 <rtld_locks>,
lockstate=0x7fffffffe658)
at /usr/src/libexec/rtld-elf/rtld_lock.c:217
#5 0x0000000800605dbd in objlist_call_fini (list=<optimized out>,
root=<optimized out>, lockstate=<optimized out>)
at /usr/src/libexec/rtld-elf/rtld.c:2418
#6 0x0000000800604f39 in rtld_exit () at /usr/src/libexec/rtld-elf/rtld.c:2800
#7 0x0000000800b5f8c6 in __cxa_finalize () from /lib/libc.so.7
#8 0x0000000800b0337c in exit () from /lib/libc.so.7
#9 0x0000000000400bcb in main ()
(gdb) frame 4
#4 0x000000080060bc80 in wlock_acquire (lock=0x80081fcc0 <rtld_locks>,
lockstate=0x7fffffffe658)
at /usr/src/libexec/rtld-elf/rtld_lock.c:217
217 lockinfo.wlock_acquire(lock->handle);
(gdb) p/x *(struct urwlock *)(lock->handle)
$1 = {rw_state = 0xa0000000, rw_flags = 0x2, rw_blocked_readers = 0x0,
rw_blocked_writers = 0x0, rw_spare = {0x0, 0x0, 0x0, 0x0}}
In this situation I can see the backtrace of the process in the kernel,
but "bt full" stops in frame 2:
(kgdb) thread 705
[Switching to thread 705 (Thread 100956)]#0 sched_switch
(td=0xfffff80052d114b0, newtd=<value optimized out>,
flags=<value optimized out>) at /usr/src/sys/kern/sched_ule.c:1945
1945 cpuid = PCPU_GET(cpuid);
(kgdb) bt
#0 sched_switch (td=0xfffff80052d114b0, newtd=<value optimized out>,
flags=<value optimized out>)
at /usr/src/sys/kern/sched_ule.c:1945
#1 0xffffffff80551271 in mi_switch (flags=260, newtd=0x0) at
/usr/src/sys/kern/kern_synch.c:491
#2 0xffffffff80594ffb in sleepq_catch_signals (wchan=0xfffff80052018c80,
pri=0) at /usr/src/sys/kern/subr_sleepqueue.c:426
#3 0xffffffff80594eaf in sleepq_wait_sig (wchan=0x0, pri=0) at
/usr/src/sys/kern/subr_sleepqueue.c:632
#4 0xffffffff80550c7d in _sleep (ident=<value optimized out>, lock=<value
optimized out>, priority=<value optimized out>,
wmesg=<value optimized out>, sbt=<value optimized out>, pr=<value optimized
out>, flags=<value optimized out>)
at /usr/src/sys/kern/kern_synch.c:253
#5 0xffffffff80565285 in umtxq_sleep (uq=0xfffff80052018c80,
wmesg=0xffffffff808b2ebc "uwrlck", abstime=0x0)
at /usr/src/sys/kern/kern_umtx.c:780
#6 0xffffffff8056881f in do_rw_wrlock (td=0xfffff80052d114b0,
rwlock=0x800a42880, timeout=<value optimized out>)
at /usr/src/sys/kern/kern_umtx.c:3109
#7 0xffffffff8056c4a7 in __umtx_op_rw_wrlock (td=<value optimized out>,
uap=<value optimized out>)
at /usr/src/sys/kern/kern_umtx.c:3657
#8 0xffffffff807db84f in amd64_syscall (td=0xfffff80052d114b0, traced=0) at
subr_syscall.c:141
#9 0xffffffff807c040b in Xfast_syscall () at
/usr/src/sys/amd64/amd64/exception.S:398
#10 0x0000000800833e8c in ?? ()
Previous frame inner to this frame (corrupt stack?)
(kgdb) bt full
#0 sched_switch (td=0xfffff80052d114b0, newtd=<value optimized out>,
flags=<value optimized out>)
at /usr/src/sys/kern/sched_ule.c:1945
tdq = <value optimized out>
ts = <value optimized out>
mtx = <value optimized out>
#1 0xffffffff80551271 in mi_switch (flags=260, newtd=0x0) at
/usr/src/sys/kern/kern_synch.c:491
td = (struct thread *) 0xfffff80052d114b0
new_switchtime = <value optimized out>
runtime = <value optimized out>
#2 0xffffffff80594ffb in sleepq_catch_signals (wchan=0xfffff80052018c80,
pri=0) at /usr/src/sys/kern/subr_sleepqueue.c:426
td = <value optimized out>
ret = Error accessing memory address 0x4: Bad address.
--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-threads
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.