NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/60811: build.sh on LFS can enter deadlock
>Number: 60811
>Category: kern
>Synopsis: build.sh on LFS can enter deadlock
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Sep 27 06:50:00 +0000 2026
>Originator: Shinichi Doyashiki
>Release: 11.99.8 around 2026-09-26 16:00 JST
>Organization:
at home
>Environment:
NetBSD kanade2.hq.csel.org 11.99.8 NetBSD 11.99.8 (KANADE2_12) #25: Sun Sep 27 13:20:24 JST 2026 clare%kanade2.hq.csel.org@localhost:/export/netbsd/debuglfs/src/sys/arch/amd64/compile/KANADE2_12 amd64
>Description:
build.sh on LFS can enter deadlock
Running build.sh on an LFS filesystem eventually deadlocked.
Reproducibility is currently unknown.
db{0}> show all locks
PID LID CPU STRUCT LWP * OWNER BITS LOCK
10068 10068 0 ffff8f6624747400 ffff8f662203e000 7 ffff8f66103f2280 #sh
8006 8006 0 ffff8f662203e000 ffff8f662203e400 2 netbsd:lfs_lock #sh
10375 10375 2 ffff8f661f8fb000 ffff8f662203e000 7 ffff8f66103f2280 #sh
9398 9398 1 ffff8f662203e800 ffff8f662203e400 2 netbsd:lfs_lock #nbmake
10074 10074 2 ffff8f662203e400 20 3 ffff8f65f94e02b8 #nbmake
4551 4551 1 ffff8f65fb6c8800 ffff8f662203e400 2 netbsd:lfs_lock #lfs_cleanerd
0 4024 2 ffff8f65ffd2a400 ffff8f662203e400 2 netbsd:lfs_lock #lfs_writer
0 169 3 ffff8f65f863b000 ffff8f662203e400 2 netbsd:lfs_lock #ioflush
db{0}> ps
PID LID S CPU FLAGS STRUCT LWP * NAME WAIT
10068 10068 3 0 0 ffff8f6624747400 sh rwlock
8006 8006 3 0 0 ffff8f662203e000 sh mutex
10375 10375 3 2 0 ffff8f661f8fb000 sh rwlock
9398 9398 3 1 0 ffff8f662203e800 nbmake mutex
10074 10074 3 2 0 ffff8f662203e400 nbmake rwlock
4551 4551 3 1 0 ffff8f65fb6c8800 lfs_cleanerd mutex
0 4024 3 2 240 ffff8f65ffd2a400 lfs_writer mutex
0 169 3 3 240 ffff8f65f863b000 ioflush mutex
nbmake
db{0}> show proc /a ffff8f662203e400
lwp_t ffff8f662203e400
nbmake: pid 10074 proc ffff8f661a1e7c40 vmspace/map ffff8f65fa823c80 flags 4000
lwp 10074 ffff8f662203e400 pcb ffffa18957035000
stat 3 flags 0 cpu 2 pri 39 ref 0
wmesg rwlock wchan ffff8f65f94e02b8
db{0}> bt /a ffff8f662203e400
trace: pid 10074 lid 10074 at 0xffffa18957039c50
sleepq_block() at netbsd:sleepq_block+0xea
turnstile_block() at netbsd:turnstile_block+0x24b
rw_vector_enter() at netbsd:rw_vector_enter+0x161
lfs_prelock() at netbsd:lfs_prelock+0x86
lfs_itimes() at netbsd:lfs_itimes+0x3c9
lfs_close() at netbsd:lfs_close+0x81
VOP_CLOSE() at netbsd:VOP_CLOSE+0xa0
vn_close() at netbsd:vn_close+0x34
closef() at netbsd:closef+0xa1
fd_close() at netbsd:fd_close+0xf3
sys_close() at netbsd:sys_close+0x22
syscall() at netbsd:syscall+0x9d
--- syscall (number 6) ---
netbsd:syscall+0x9d:
sh
db{0}> show proc /a ffff8f662203e000
lwp_t ffff8f662203e000
sh: pid 8006 proc ffff8f6624017c00 vmspace/map ffff8f65fbbaee40 flags 4000
lwp 8006 ffff8f662203e000 pcb ffffa1895dff7000
stat 3 flags 0 cpu 0 pri 39 ref 0
wmesg mutex wchan ffffffff814e9778
db{0}> bt /a ffff8f662203e000
trace: pid 8006 lid 8006 at 0xffffa1895dffb760
sleepq_block() at netbsd:sleepq_block+0xea
turnstile_block() at netbsd:turnstile_block+0x24b
mutex_vector_enter() at netbsd:mutex_vector_enter+0x13f
lfs_strategy() at netbsd:lfs_strategy+0x7a
VOP_STRATEGY() at netbsd:VOP_STRATEGY+0x64
bio_doread() at netbsd:bio_doread+0x5f
bread() at netbsd:bread+0x18
lfs_loadvnode() at netbsd:lfs_loadvnode+0x2b2
vcache_get() at netbsd:vcache_get+0x1cf
ulfs_lookup() at netbsd:ulfs_lookup+0xc47
VOP_LOOKUP() at netbsd:VOP_LOOKUP+0x83
lookup_once() at netbsd:lookup_once+0x1aa
namei_tryemulroot() at netbsd:namei_tryemulroot+0x11a5
namei() at netbsd:namei+0x2d
fd_nameiat.isra.0() at netbsd:fd_nameiat.isra.0+0x95
do_sys_statat() at netbsd:do_sys_statat+0x87
sys___stat50() at netbsd:sys___stat50+0x28
syscall() at netbsd:syscall+0x9d
--- syscall (number 439) ---
netbsd:syscall+0x9d:
sh
db{0}> show proc /a ffff8f6624747400
lwp_t ffff8f6624747400
sh: pid 10068 proc ffff8f6620207400 vmspace/map ffff8f65fb674900 flags 0
lwp 10068 ffff8f6624747400 pcb ffffa1895b6c0000
stat 3 flags 0 cpu 0 pri 39 ref 0
wmesg rwlock wchan ffff8f66103f2280
db{0}> bt /a ffff8f6624747400
trace: pid 10068 lid 10068 at 0xffffa1895b6c49c0
sleepq_block() at netbsd:sleepq_block+0xea
turnstile_block() at netbsd:turnstile_block+0x24b
rw_vector_enter() at netbsd:rw_vector_enter+0x161
genfs_lock() at netbsd:genfs_lock+0x89
VOP_LOCK() at netbsd:VOP_LOCK+0xf8
vn_lock() at netbsd:vn_lock+0xb0
lookup_once() at netbsd:lookup_once+0x19c
namei_tryemulroot() at netbsd:namei_tryemulroot+0x11a5
namei() at netbsd:namei+0x2d
fd_nameiat.isra.0() at netbsd:fd_nameiat.isra.0+0x95
do_sys_statat() at netbsd:do_sys_statat+0x87
sys___stat50() at netbsd:sys___stat50+0x28
syscall() at netbsd:syscall+0x9d
--- syscall (number 439) ---
netbsd:syscall+0x9d:
lfs_cleanerd
db{0}> show proc /a ffff8f65fb6c8800
lwp_t ffff8f65fb6c8800
lfs_cleanerd: pid 4551 proc ffff8f65f97c9480 vmspace/map ffff8f65fc293040 flags
0
lwp 4551 ffff8f65fb6c8800 pcb ffffa1894710f000
stat 3 flags 0 cpu 1 pri 29 ref 0
wmesg mutex wchan ffffffff814e9778
db{0}> bt /a ffff8f65fb6c8800
trace: pid 4551 lid 4551 at 0xffffa18947113c70
sleepq_block() at netbsd:sleepq_block+0xea
turnstile_block() at netbsd:turnstile_block+0x24b
mutex_vector_enter() at netbsd:mutex_vector_enter+0x13f
lfs_fcntl() at netbsd:lfs_fcntl+0xa46
VOP_FCNTL() at netbsd:VOP_FCNTL+0x6e
sys_fcntl() at netbsd:sys_fcntl+0xa05
syscall() at netbsd:syscall+0x9d
--- syscall (number 92) ---
netbsd:syscall+0x9d:
db{0}> bt /a ffff8f65ffd2a400
trace: pid 0 lid 4024 at 0xffffa1894ea2be60
sleepq_block() at netbsd:sleepq_block+0xea
turnstile_block() at netbsd:turnstile_block+0x24b
mutex_vector_enter() at netbsd:mutex_vector_enter+0x13f
cv_timedwait() at netbsd:cv_timedwait+0xde
lfs_writerd() at netbsd:lfs_writerd+0x3ad
>How-To-Repeat:
repeat run of build.sh on LFS.
size of the LFS I used is around 40GiB; userland cleaner was used.
this deadlock did not require interaction with lfs_cleanerd, may be.
>Fix:
unknown
Home |
Main Index |
Thread Index |
Old Index