Fatal trap 12: if_io_tqg_11: ~main-n248851-0d55bc8eb2a:

From: Oleg Ginzburg <olevole_at_olevole.ru>
Date: Sun, 22 Aug 2021 20:12:23 UTC
Hi,

One of my regularly updated hosts on the 14-CURRENT started to reboot
constantly when initializing the network stack (both IPv4/V6 stacks are
active), current rev: ( 22997b755013bdde60119fdc781769192ab7e1e0 Sat Aug 7
21:25:36 2021 +0100 )

crash info:
--
...
<118>Starting devd.
<118>Starting Network: igb1.
<118>igb1: flags=8822<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
<118>
  options=4e507bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6,NOMAP>

<118>   ether b4:96:91:95:97:ed

Fatal trap 12: page fault while in kernel mode
cpuid = 11; apic id = 0b
fault virtual address   = 0x128
fault code              = supervisor read data, page not present
instruction pointer     = 0x20:0xffffffff80c1effd
stack pointer           = 0x28:0xfffffe01159efeb0
frame pointer           = 0x28:0xfffffe01159efeb0
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         = 0 (if_io_tqg_11)
trap number             = 12
panic: page fault
cpuid = 11
time = 1629661329
Uptime: 1m14s
Dumping 2158 out of 65309
MB:..1%..11%..21%..31%..41%..51%..61%..71%..81%..91%

__curthread () at /usr/jails/src/src_14/src/sys/amd64/include/pcpu_aux.h:55
55              __asm("movq %%gs:%P1,%0" : "=r" (td) : "n" (offsetof(struct
pcpu,
(kgdb)

(kgdb) list *0xffffffff80c1effd
0xffffffff80c1effd is in __rw_rlock_int
(/usr/jails/src/src_14/src/sys/kern/kern_rwlock.c:679).
674             KASSERT(rw_wowner(rw) != td,
675                 ("rw_rlock: wlock already held for %s @ %s:%d",
676                 rw->lock_object.lo_name, file, line));
677             WITNESS_CHECKORDER(&rw->lock_object, LOP_NEWORDER, file,
line, NULL);
678
679             v = RW_READ_VALUE(rw);
680             if (__predict_false(LOCKSTAT_PROFILE_ENABLED(rw__acquire) ||
681                 !__rw_rlock_try(rw, td, &v, true LOCK_FILE_LINE_ARG)))
682                     __rw_rlock_hard(rw, td, v LOCK_FILE_LINE_ARG);
683             else


--


I haven’t looked at the details so far, perhaps you have comments on the
latest changes. Latest revision that works successfully: n246318-163153c2a08
( the host is updated approximately once a week )