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}>

Reply via email to