DragonFlyBSD Kernel Audit
DF-2657 / run.log
← back to finding ↓ download raw
# DF-2657 — baseline run on the STOCK kernel (#0, INVARIANTS)
# NOTE: reconstructed verbatim from the audit session (the decisive lines).
# The on-guest /root/poc/df2657/ directory was destroyed by the mandated
# `vm.sh reset with-src` before the fix-kernel build (same procedure caveat
# as DF-2631).  Setup: m1/m2 = dd clones of one newfs_hammer2 -L testvol
# image (MD5 0fd1fe17bf4df91c9315f43d0f651c80 both), MASTER+MASTER, same
# pfs_clid; mount #2 merges its chain into the mounted pmp (EBUSY, expected).
#
# Guest: DragonFly dfbsd 6.5-DEVELOPMENT #0: Thu Jul  2 06:02:54 UTC 2026
#        root@dfbsd:/usr/obj/usr/src/sys/X86_64_GENERIC  (INVARIANTS)

=== 0. base image ===
NEWFS_RC=0
MD5 (/root/poc/base.img)             = 0fd1fe17bf4df91c9315f43d0f651c80
MD5 (/root/poc/df2657/m1.img)        = 0fd1fe17bf4df91c9315f43d0f651c80
MD5 (/root/poc/df2657/m2.img)        = 0fd1fe17bf4df91c9315f43d0f651c80

=== 1. mount MASTER #1 (single master) ===
MOUNT1_RC=0

=== 2. same-clid merge via second device ===
MOUNT2_RC=1                      # EBUSY: "PFS already mounted!" (chains merged)
--- T2 h2nod wchan census (DEFECT: h2coll park BEFORE any umount) ---
    0     -1      0   0 -12 -64      0      0 h2coll   B3     ??    0:00.00 (h2nod-LOCAL)
    0     -1      0   0 -12 -64      0      0 h2coll   B4     ??    0:00.00 (h2nod-LOCAL)
    0     -1      0   0 -12 -64      0      0 h2coll   B1     ??    0:00.00 (h2nod-testvol)
    0     -1      0   0 -12 -64      0      0 h2coll   B2     ??    0:00.00 (h2nod-testvol)

=== 3. ls works (quorum 2/2 for VFS ops) ===
LS_RC=0

=== 4. umount -f  (wedge) ===
--- +3s ---
    0   1070   1068  22 196   0   4392    704 h2twait  D4     ??    0:00.01 umount -f /mnt/h2
    0     -1      0   0 -12 -64      0      0 h2coll   B1     ??    0:00.00 (h2nod-testvol)
    0     -1      0   0 -12 -64      0      0 h2coll   B2     ??    0:00.00 (h2nod-testvol)
    0     -1      0   0 -12 -64      0      0 h2coll   B3     ??    0:00.00 (h2nod-LOCAL)
    0     -1      0   0 -12 -64      0      0 h2coll   B4     ??    0:00.00 (h2nod-LOCAL)
--- +10s: identical (umount D4 h2twait, 4x h2coll) ---
--- +65s (past one full 60 s tsleep cycle): STILL identical ---
UMF_RC=1                          # umount(8) gave up after ~65 s (empty msg)
# elapsed: ts_umount_start=1788063244 -> ts_umount_end=1788063309 = 65 s

=== minutes later (post-trigger census) ===
    0     -1      0   0 -12 -64      0      0 h2coll   B1     ??    0:00.00 (h2nod-testvol)
    0     -1      0   0 -12 -64      0      0 h2coll   B2     ??    0:00.00 (h2nod-testvol)
    0     -1      0   0 -12 -64      0      0 h2coll   B3     ??    0:00.00 (h2nod-LOCAL)
    0     -1      0   0 -12 -64      0      0 h2coll   B4     ??    0:00.00 (h2nod-LOCAL)
# -> the four sync threads NEVER leave h2coll; frozen h2xop-testvol worker
#    cohorts remain in h2twait/h2idle mixed generations; pmp is dead weight.

=== 5. third same-clid mount blocks on mntlk (held by the stuck umount) ===
    0   1113   1101  22 196   0   6456    752 mntlk    D3     ??    0:00.01 mount_hammer2 -o ro /dev/vn2@testvol /mnt/h2d
MOUNT3_RC=1                       # timed out (timeout 15)

=== stock kernel dmesg (excerpt) ===
hammer2_mount: PFS already mounted!
hammer2_mount: devstr="/dev/vn2@testvol"     # third mount attempt
# no sync_slaves error prints (the threads never return from the collect)

BASELINE COMPLETE — guest wedged; recovery: reset.