UFS (softdep) deadlock(?)
Bjoern A. Zeeb
bzeeb-lists at lists.zabbadoz.net
Sat Jan 30 18:32:20 UTC 2021
On 30 Jan 2021, at 16:22, Bjoern A. Zeeb wrote:
> Hi,
>
> while building some packages on arm64/HEAD (this is recursively so
> don’t ask me how it got there):
>
> ..
> ===> Building for libmspack-0.10.1
> <hang>
>
> I was wondering so I checked on serial console and found this:
>
> 65634 1 DN 1:15.69 mkdir mspack/.libs
> 65640 1 DN 1:16.12 mkdir mspack/.libs
> 65650 1 DN 1:15.18 mkdir mspack/.libs
> 65651 1 DN 1:16.31 mkdir mspack/.libs
> 65652 1 DN 1:15.22 mkdir mspack/.libs
> 65653 1 DN 1:16.11 mkdir mspack/.libs
> 65654 1 DN 1:15.13 mkdir mspack/.libs
> 65705 1 DN 1:15.04 mkdir mspack/.libs
> 65706 1 DN 1:15.22 mkdir mspack/.libs
> 65707 1 DN 1:15.87 mkdir mspack/.libs
> 65708 1 DN 1:15.71 mkdir mspack/.libs
> 65709 1 DN 1:15.64 mkdir mspack/.libs
> 65710 1 DN 1:16.39 mkdir mspack/.libs
> 65711 1 DN 1:15.65 mkdir mspack/.libs
> 65712 1 DN 1:14.97 mkdir mspack/.libs
> 65713 1 DN 1:15.04 mkdir mspack/.libs
>
>
> PID TID COMM TDNAME KSTACK
> 65634 101149 mkdir - mi_switch sleeplk
> lockmgr_xlock_hard ffs_lock vn_lock_pair softdep_prelink ufs_mkdir
> VOP_MKDIR_APV kern_mkdirat do_el0_sync handle_el0_sync
> 65640 101134 mkdir - mi_switch sleeplk
> lockmgr_slock_hard ffs_lock _vn_lock vget_finish cache_lookup
> vfs_cache_lookup lookup namei kern_mkdirat do_el0_sync handle_el0_sync
> 65650 101099 mkdir - <running>
> 65651 101174 mkdir - <running>
> 65652 197951 mkdir - <running>
> 65653 102615 mkdir - mi_switch sleeplk
> lockmgr_slock_hard ffs_lock _vn_lock vget_finish cache_lookup
> vfs_cache_lookup lookup namei kern_mkdirat do_el0_sync handle_el0_sync
> 65654 101140 mkdir - mi_switch sleeplk
> lockmgr_xlock_hard ffs_lock vn_lock_pair softdep_prelink ufs_mkdir
> VOP_MKDIR_APV kern_mkdirat do_el0_sync handle_el0_sync
> 65705 116563 mkdir - mi_switch sleeplk
> lockmgr_slock_hard ffs_lock _vn_lock vget_finish cache_lookup
> vfs_cache_lookup lookup namei kern_mkdirat do_el0_sync handle_el0_sync
> 65706 117852 mkdir - mi_switch sleeplk
> lockmgr_slock_hard ffs_lock _vn_lock vget_finish cache_lookup
> vfs_cache_lookup lookup namei kern_mkdirat do_el0_sync handle_el0_sync
> 65707 101101 mkdir - mi_switch sleeplk
> lockmgr_slock_hard ffs_lock _vn_lock vget_finish cache_lookup
> vfs_cache_lookup lookup namei kern_mkdirat do_el0_sync handle_el0_sync
> 65708 100214 mkdir - mi_switch sleeplk
> lockmgr_xlock_hard ffs_lock vn_lock_pair softdep_prelink ufs_mkdir
> VOP_MKDIR_APV kern_mkdirat do_el0_sync handle_el0_sync
> 65709 105512 mkdir - <running>
> 65710 101203 mkdir - mi_switch sleeplk
> lockmgr_xlock_hard ffs_lock _vn_lock lookup namei kern_mkdirat
> do_el0_sync handle_el0_sync
> 65711 100180 mkdir - <running>
> 65712 100218 mkdir - mi_switch sleeplk
> lockmgr_slock_hard ffs_lock _vn_lock vget_finish cache_lookup
> vfs_cache_lookup lookup namei kern_mkdirat do_el0_sync handle_el0_sync
> 65713 100141 mkdir - mi_switch sleeplk
> lockmgr_slock_hard ffs_lock _vn_lock vget_finish cache_lookup
> vfs_cache_lookup lookup namei kern_mkdirat do_el0_sync handle_el0_sync
>
>
> I’ll probably have to reboot to get out of this but I’ll let it
> sit for a few minutes in case someone has questions.
was wise to let it there.. wasn’t completely deadlocked. It cleared
up after a loooong while.
In case anyone has any insights, I’ll be happy to try to repro (or the
package build may in a minute anyway).
/bz
More information about the freebsd-fs
mailing list