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