[Bug 271945] panic: deadlres_td_sleep_q : possible deadlock detected for … (stat) | (postgres) | (LTO toml.54d28171-c) , blocked for … ticks – during poudriere-bulk(8)
Date: Fri, 21 Jul 2023 19:06:50 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271945 --- Comment #7 from Cy Schubert <cy@FreeBSD.org> --- (In reply to Graham Perrin ◐ from comment #6) I'm using a custom kernel. I removed all device drivers except those needed to boot. Then, NICs are included in loader.conf. Each machine is different since though they have the same motherboard, they include different NICs. The laptop and firewall have disabled WITNESS and INVARIANTS, while the two server machines leave them enabled. Additionally, my kernels include BREAK_TO_DEBUGGER to allow me to enter DDB through the serial console. The problem occurs with and without WITNESS and INVARIANTS enabled in the kernel. It only occurs on one machine, the machine that builds my amd64 packages. The other machine uses poudriere to build i386 packages. It is unaffected. Both machines boot off UFS and have a single ZPOOL. The ZPOOLs are mirrored. The ZPOOL on the machine that has the problem has four vdevs in its pool. The machine that builds i386 packages has only two vdevs in its pool. The hypothesis is that this is probably related to ZFS in some way. The victim process is either postgres I use as a backend for gitea or a c++. My theory is that it's likely that poudriere is cloning jails from its snapshot when creating new jails which results in the deadlock while other processes are trying to write to the same pool. -- You are receiving this mail because: You are the assignee for the bug.