make installworld crashes the system in g_slice_access geom_slice.c:127

From: Ali Abdallah <ali.abdallah_at_suse.com>
Date: Tue, 16 Feb 2021 11:17:01 +0100
Hello,

While upgrading from source my 13-CURRENT box from ALPHA1 to BETA1, I
got the following crash on make installworld.

Fatal trap 12: page fault while in kernel mode
cpuid = 1; apic id = 01
fault virtual address	= 0x30
fault code		= supervisor read data, page not present
instruction pointer	= 0x20:0xffffffff8034d5b0
stack pointer	        = 0x28:0xfffffe00c8204600
frame pointer	        = 0x28:0xfffffe00c8204640
code segment		= base 0x0, limit 0xfffff, type 0x1b
			= DPL 0, pres 1, long 1, def32 0, gran 1
			processor eflags	= interrupt enabled,
			resume, IOPL = 0
			current process		= 65294 (fsck_ufs)
			trap number		= 12
panic: page fault
			cpuid = 1
			time = 1613467739

#16 0xffffffff8034d5b0 in g_slice_access (pp=0xfffff80003ca5100, dr=1,
dw=0, de=0) at /usr/src/sys/geom/geom_slice.c:127
#17 0xffffffff8034e6e4 in g_access (cp=0xfffff80003c82e00,
dcr=<optimized out>, dcr_at_entry=1, dcw=<optimized out>, dcw_at_entry=0,
dce=dce_at_entry=0) at /usr/src/sys/geom/geom_subr.c:1042
#18 0xffffffff8034698f in g_dev_open (dev=<optimized out>,
flags=<optimized out>, fmt=<optimized out>, td=<optimized out>) at
/usr/src/sys/geom/geom_dev.c:442
#19 0xffffffff80342e46 in devfs_open (ap=0xfffffe00c82047a0) at
/usr/src/sys/fs/devfs/devfs_vnops.c:1290
#20 0xffffffff806bb05c in VOP_OPEN_APV (vop=0xffffffff80863e20
<devfs_specops>, a=a_at_entry=0xfffffe00c82047a0) at vnode_if.c:436
#21 0xffffffff804bef1e in VOP_OPEN (vp=0xfffff80003cdc000, mode=1,
cred=0xfffff800029d4420, td=0x0, fp=0xfffff802a7208140) at
./vnode_if.h:220
#22 vn_open_vnode (vp=vp_at_entry=0xfffff80003cdc000, fmode=fmode_at_entry=1,
cred=<optimized out>, cred_at_entry=0xfffff80002993700, td=<optimized out>,
td_at_entry=0xfffffe00c8149300, fp=<optimized out>) at
/usr/src/sys/kern/vfs_vnops.c:411
#23 0xffffffff804bead0 in vn_open_cred
(ndp=ndp_at_entry=0xfffffe00c8204970, flagp=<optimized out>,
flagp_at_entry=0xfffffe00c8204a94, cmode=<optimized out>,
vn_open_flags=vn_open_flags_at_entry=0, cred=<optimized out>, fp=0x7) at
/usr/src/sys/kern/vfs_vnops.c:318
#24 0xffffffff804be6ad in vn_open (ndp=0xfffff80003ca5100,
ndp_at_entry=0xfffffe00c8204970, flagp=0xfffff800029d43c0,
flagp_at_entry=0xfffffe00c8204a94, cmode=0, fp=0xfffff800029d4420) at
/usr/src/sys/kern/vfs_vnops.c:193
#25 0xffffffff804b4983 in kern_openat (td=0xfffffe00c8149300,
fd=<optimized out>, path=<optimized out>, pathseg=<optimized out>,
flags=1, mode=<optimized out>) at /usr/src/sys/kern/vfs_syscalls.c:1143
#26 0xffffffff8068ea5c in syscallenter (td=0xfffffe00c8149300) at
/usr/src/sys/amd64/amd64/../../kern/subr_syscall.c:189

(kgdb) frame 16
#16 0xffffffff8034d5b0 in g_slice_access (pp=0xfffff80003ca5100, dr=1,
dw=0, de=0) at /usr/src/sys/geom/geom_slice.c:127
127				if ((pp->acw + dw) > 0 && pp2->ace > 0)

(kgdb) p pp2
$2 = (struct g_provider *) 0x0

pp2 is null, and pp2->ace crashes the system.

Does the above crash pattern rings any bell? My system uses UFS SU+trim on GELI.

On reboot, I had to manually run fsck. At the end I did reinstall
successfully world from my poudriere server through NFS, since I wasn't
sure about the state of the files in /usr/obj...

Regards,

Ali
Received on Tue Feb 16 2021 - 09:17:05 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:27 UTC