Hi,
I think that this is similar problem as what David Hill send on tech@
with subject "splassert on boot"
I've checkout tree few minutes ago and in there should be
mvs@ "Remove netlock assertion within PF_LOCK()" and
dlg@ "get rid of NET_LOCK in the pf purge work" diffs.
on boot I'm getting this splassert
splassert: pfsync_delete_state: want 2 have 256
Starting stack trace...
pfsync_delete_state(fffffd83a66644d8) at pfsync_delete_state+0x58
pf_remove_state(fffffd83a66644d8) at pf_remove_state+0x14b
pf_purge_expired_states(1fdb,40) at pf_purge_expired_states+0x202
pf_purge_states(0) at pf_purge_states+0x1c
taskq_thread(ffffffff822f69c8) at taskq_thread+0x11a
end trace frame: 0x0, count: 252
End of stack trace.
splassert: pfsync_delete_state: want 2 have 0
Starting stack trace...
pfsync_delete_state(fffffd83a6676628) at pfsync_delete_state+0x58
pf_remove_state(fffffd83a6676628) at pf_remove_state+0x14b
pf_purge_expired_states(1f9c,40) at pf_purge_expired_states+0x202
pf_purge_states(0) at pf_purge_states+0x1c
taskq_thread(ffffffff822f69c8) at taskq_thread+0x11a
end trace frame: 0x0, count: 252
End of stack trace.
and if i destroy pfsync interface and then sh /etc/netstart box panic
uvm_fault(0xffffffff823d3250, 0x810, 0, 1) -> e
kernel: page fault trap, code=0
Stopped at pfsync_q_ins+0x1a: movq 0x810(%r13),%rsi
TID PID UID PRFLAGS PFLAGS CPU COMMAND
* 68977 95532 0 0x14000 0x200 3K systqmp
pfsync_q_ins(fffffd83a6676628,2) at pfsync_q_ins+0x1a
pf_remove_state(fffffd83a6676628) at pf_remove_state+0x14b
pf_purge_expired_states(1f9c,40) at pf_purge_expired_states+0x202
pf_purge_states(0) at pf_purge_states+0x1c
taskq_thread(ffffffff822f69c8) at taskq_thread+0x11a
end trace frame: 0x0, count: 10
https://www.openbsd.org/ddb.html describes the minimum info required in
bug reports. Insufficient info makes it difficult to find and fix bugs.
ddb{3}>
ddb{3}> show panic
*cpu3: uvm_fault(0xffffffff823d3250, 0x810, 0, 1) -> e
ddb{3}> show reg
rdi 0xfffffd83a6676628
rsi 0x2
rbp 0xffff800022d5ef90
rbx 0xfffffd83a6676628
rdx 0xfe0000000000000f
rcx 0x282
rax 0xff
r8 0xffffffff8233fa38 w_locklistdata+0x43e68
r9 0xffff800022d5f100
r10 0x3925934c5d55f628
r11 0xba2a637b8a7a5b53
r12 0x40
r13 0
r14 0x2
r15 0xfffffd83a6676628
rip 0xffffffff81b88c8a pfsync_q_ins+0x1a
cs 0x8
rflags 0x10282 __ALIGN_SIZE+0xf282
rsp 0xffff800022d5ef50
ss 0x10
pfsync_q_ins+0x1a: movq 0x810(%r13),%rsi
ddb{3}> show locks
exclusive kernel_lock &kernel_lock r = 0 (0xffffffff82438590)
#0 witness_lock+0x311
#1 kpageflttrap+0x1b2
#2 kerntrap+0x91
#3 alltraps_kern_meltdown+0x7b
#4 pfsync_q_ins+0x1a
#5 pf_remove_state+0x14b
#6 pf_purge_expired_states+0x202
#7 pf_purge_states+0x1c
#8 taskq_thread+0x11a
#9 proc_trampoline+0x1c
exclusive rwlock pf_state_lock r = 0 (0xffffffff822c05a0)
#0 witness_lock+0x311
#1 pf_purge_expired_states+0x1d5
#2 pf_purge_states+0x1c
#3 taskq_thread+0x11a
#4 proc_trampoline+0x1c
exclusive rwlock pf_lock r = 0 (0xffffffff822c0570)
#0 witness_lock+0x311
#1 pf_purge_expired_states+0x1c9
#2 pf_purge_states+0x1c
#3 taskq_thread+0x11a
#4 proc_trampoline+0x1c
exclusive rwlock pfstates r = 0 (0xffffffff822b4210)
#0 witness_lock+0x311
#1 pf_purge_expired_states+0x1bd
#2 pf_purge_states+0x1c
#3 taskq_thread+0x11a
#4 proc_trampoline+0x1c
shared rwlock systqmp r = 0 (0xffffffff822f6a38)
#0 witness_lock+0x311
#1 taskq_thread+0x10d
#2 proc_trampoline+0x1c
ddb{3}>
ddb{3}> ps
PID TID PPID UID S FLAGS WAIT COMMAND
83757 73556 1 0 3 0x100083 ttyin ksh
230 204977 73028 0 3 0x100083 ttyin ksh
73028 319173 85298 1000 3 0x10008b sigsusp ksh
85298 521998 43878 1000 3 0x10 pf_state_loc sshd
43878 290809 21538 0 3 0x82 kqread sshd
50517 491548 1 0 3 0x100098 kqread cron
91327 121436 26507 95 3 0x1100092 kqread smtpd
17435 384685 26507 103 3 0x1100092 kqread smtpd
67349 520840 26507 95 3 0x1100092 kqread smtpd
97353 483313 26507 95 3 0x100092 kqread smtpd
44262 496860 26507 95 3 0x1100092 kqread smtpd
52 255319 26507 95 3 0x1100092 kqread smtpd
26507 41672 1 0 3 0x100080 kqread smtpd
21538 173086 1 0 3 0x88 kqread sshd
44849 364511 1 0 3 0x100080 kqread ntpd
33978 331427 77612 83 3 0x100092 kqread ntpd
77612 345039 1 83 3 0x1100092 kqread ntpd
85420 226346 11473 74 3 0x1100092 bpf pflogd
11473 509145 1 0 3 0x80 netio pflogd
85474 61216 21990 73 3 0x1100010 biowait syslogd
21990 383893 1 0 3 0x100082 netio syslogd
91397 180375 0 0 3 0x14200 bored smr
77326 257843 0 0 3 0x14200 pgzero zerothread
61114 325846 0 0 3 0x14200 aiodoned aiodoned
96771 152077 0 0 3 0x14200 syncer update
86220 471869 0 0 3 0x14200 cleaner cleaner
74441 522438 0 0 3 0x14200 reaper reaper
57995 483865 0 0 3 0x14200 pgdaemon pagedaemon
75691 106498 0 0 3 0x14200 usbtsk usbtask
65322 385318 0 0 3 0x14200 usbatsk usbatsk
90019 238956 0 0 3 0x40014200 acpi0 acpi0
68196 337387 0 0 7 0x40014200 idle5
14798 285548 0 0 7 0x40014200 idle4
11126 56330 0 0 3 0x40014200 idle3
82883 220988 0 0 7 0x40014200 idle2
96623 495281 0 0 7 0x40014200 idle1
49490 233046 0 0 2 0x40014200 sensors
70344 168012 0 0 3 0x14200 bored softnet
54515 398664 0 0 3 0x14200 bored softnet
27163 150081 0 0 3 0x14200 bored softnet
74244 224427 0 0 3 0x14200 bored softnet
87257 501656 0 0 3 0x14200 bored softnet
67018 215055 0 0 3 0x14200 bored softnet
*95532 68977 0 0 7 0x14200 systqmp
33639 162696 0 0 3 0x14200 bored systq
98387 87587 0 0 3 0x40014200 netlock softclock
23359 223092 0 0 7 0x40014200 idle0
1 251291 0 0 3 0x82 wait init
0 0 -1 0 3 0x10200 scheduler swapper
ddb{3}> ps /o
TID PID UID PRFLAGS PFLAGS CPU COMMAND
* 68977 95532 0 0x14000 0x200 3K systqmp
ddb{3}> trace /t 0t68977
pf_purge_states(0) at pf_purge_states+0x1c
taskq_thread(ffffffff822f69c8) at taskq_thread+0x11a
end trace frame: 0x0, count: -2
ddb{3}>
ddb{3}> trace /t 0t521998
sleep_finish(ffff800022e0ce60,1) at sleep_finish+0xfe
rw_enter(ffffffff822c0590,2) at rw_enter+0x232
pf_test(2,2,ffff8000000c6048,ffff800022e0d138) at pf_test+0xe18
ip_output(fffffd80c5a37e00,0,fffffd83b4577358,800,0,fffffd83b45772e0,1c44fe8800
283bcb) at ip_output+0x6b7
tcp_output(ffff8000014dd538) at tcp_output+0x1604
tcp_send(fffffd83af1445c8,fffffd80c5a37600,0,0) at tcp_send+0x84
sosend(fffffd83af1445c8,0,ffff800022e0d4d8,0,0,80) at sosend+0x37f
dofilewritev(ffff800022e2f508,4,ffff800022e0d4d8,0,ffff800022e0d5b0) at
dofilewritev+0x14d
sys_write(ffff800022e2f508,ffff800022e0d550,ffff800022e0d5b0) at
sys_write+0x51
syscall(ffff800022e0d620) at syscall+0x384
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x7f7ffffbbb00, count: -11
ddb{3}> mach ddbcpu 0
Stopped at x86_ipi_db+0x12: leave
x86_ipi_db(ffffffff822b6ff0) at x86_ipi_db+0x12
x86_ipi_handler() at x86_ipi_handler+0x80
Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23
__mp_lock(ffffffff82438388) at __mp_lock+0xa0
mfi_scsi_xs_done(ffff8000000a1000,ffff8000000a3700) at mfi_scsi_xs_done+0xcb
mfi_intr(ffff8000000a1000) at mfi_intr+0x1ad
intr_handler(ffff800022d4d3d0,ffff80000007f400) at intr_handler+0x6e
Xintr_ioapic_level15_untramp() at Xintr_ioapic_level15_untramp+0x193
acpicpu_idle() at acpicpu_idle+0x281
sched_idle(ffffffff822b6ff0) at sched_idle+0x280
end trace frame: 0x0, count: 5
ddb{0}> mach ddbcpu 1
Stopped at x86_ipi_db+0x12: leave
x86_ipi_db(ffff800022509ff0) at x86_ipi_db+0x12
x86_ipi_handler() at x86_ipi_handler+0x80
Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23
acpicpu_idle() at acpicpu_idle+0x281
sched_idle(ffff800022509ff0) at sched_idle+0x280
end trace frame: 0x0, count: 10
ddb{1}> mach ddbcpu 2
Stopped at x86_ipi_db+0x12: leave
x86_ipi_db(ffff800022512ff0) at x86_ipi_db+0x12
x86_ipi_handler() at x86_ipi_handler+0x80
Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23
acpicpu_idle() at acpicpu_idle+0x281
sched_idle(ffff800022512ff0) at sched_idle+0x280
end trace frame: 0x0, count: 10
ddb{2}> mach ddbcpu 3
Stopped at pfsync_q_ins+0x1a: movq 0x810(%r13),%rsi
pfsync_q_ins(fffffd83a6676628,2) at pfsync_q_ins+0x1a
pf_remove_state(fffffd83a6676628) at pf_remove_state+0x14b
pf_purge_expired_states(1f9c,40) at pf_purge_expired_states+0x202
pf_purge_states(0) at pf_purge_states+0x1c
taskq_thread(ffffffff822f69c8) at taskq_thread+0x11a
end trace frame: 0x0, count: 10
ddb{3}> mach ddbcpu 4
Stopped at x86_ipi_db+0x12: leave
x86_ipi_db(ffff800022524ff0) at x86_ipi_db+0x12
x86_ipi_handler() at x86_ipi_handler+0x80
Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23
acpicpu_idle() at acpicpu_idle+0x281
sched_idle(ffff800022524ff0) at sched_idle+0x280
end trace frame: 0x0, count: 10
ddb{4}> mach ddbcpu 5
Stopped at x86_ipi_db+0x12: leave
x86_ipi_db(ffff80002252dff0) at x86_ipi_db+0x12
x86_ipi_handler() at x86_ipi_handler+0x80
Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23
acpicpu_idle() at acpicpu_idle+0x281
sched_idle(ffff80002252dff0) at sched_idle+0x280
end trace frame: 0x0, count: 10
ddb{5}>