On 10.5.2022. 22:55, Alexander Bluhm wrote: > Yes. It is similar. > > I have read the whole mail thread and the final fix got commited. > But it looks incomplete, pf is still sleeping. > > Hrvoje, can you run the tests again that triggered the panics a > year ago?
Hi, year ago panics was triggered when veb or tpmr bridged traffic. I've tried that right now and I couldn't trigger that panics. If I put vport and route traffic over veb than I can trigger panic with or without vlans as child-iface for veb. For panic i need to have pf enabled and to run ifconfig veb destroy or ifconfig vlan destroy and sh netstart in loop. this is panic without vlans panic: kernel diagnostic assertion "curcpu()->ci_schedstate.spc_smrdepth == 0" failed: file "/sys/kern/subr_xxx.c", line 163 Stopped at db_enter+0x10: popq %rbp TID PID UID PRFLAGS PFLAGS CPU COMMAND 57981 52408 0 0x14000 0x200 3 softnet 18952 62179 0 0x14000 0x200 5 softnet db_enter() at db_enter+0x10 panic(ffffffff81f36a34) at panic+0xbf __assert(ffffffff81faa7fa,ffffffff81fd47a7,a3,ffffffff81fe7c9d) at __assert+0x25 assertwaitok() at assertwaitok+0xcc mi_switch() at mi_switch+0x40 sleep_finish(ffff800022c707a0,1) at sleep_finish+0x10b rw_enter(ffffffff822b3ad8,2) at rw_enter+0x232 pf_test(2,3,ffff8000000c6048,ffff800022c70a58) at pf_test+0xcf0 ip_output(fffffd80a32f1f00,0,ffff800022c70be8,1,0,0,e8e0f1a7c10273fe) at ip_output+0x6b7 ip_forward(fffffd80a32f1f00,ffff8000014ee000,fffffd83a8657078,0) at ip_forward+0x2da ip_input_if(ffff800022c70d28,ffff800022c70d34,4,0,ffff8000014ee000) at ip_input_if+0x353 ipv4_input(ffff8000014ee000,fffffd80a32f1f00) at ipv4_input+0x39 ether_input(ffff8000014ee000,fffffd80a32f1f00) at ether_input+0x3ad vport_if_enqueue(ffff8000014ee000,fffffd80a32f1f00) at vport_if_enqueue+0x19 end trace frame: 0xffff800022c70e70, count: 0 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{4}> ddb{4}> show reg rdi 0 rsi 0x14 rbp 0xffff800022c705f0 rbx 0xffff800022424ff0 rdx 0x8000000000000000 rcx 0x286 rax 0x7d r8 0x101010101010101 r9 0 r10 0x5b4ef42a9c796b43 r11 0xada7e964a691819f r12 0xffff800022425a60 r13 0xffff800022c450a0 r14 0 r15 0xffffffff81f36a34 cmd0646_9_tim_udma+0x2d9d2 rip 0xffffffff81c01c30 db_enter+0x10 cs 0x8 rflags 0x286 rsp 0xffff800022c705f0 ss 0x10 db_enter+0x10: popq %rbp ddb{4}> ddb{4}> ps PID TID PPID UID S FLAGS WAIT COMMAND 14129 480066 92457 0 3 0x3 netlock ifconfig 92457 504149 2002 0 3 0x10008b sigsusp sh 2002 26492 1517 0 3 0x10008b sigsusp sh 1517 131574 1 0 3 0x10008b sigsusp ksh 26252 251094 1 0 3 0x100098 kqread cron 20251 457205 97875 95 3 0x1100092 kqread smtpd 62139 255853 97875 103 3 0x1100092 kqread smtpd 29505 64154 97875 95 3 0x1100092 kqread smtpd 20035 471489 97875 95 3 0x100092 kqread smtpd 91114 73268 97875 95 3 0x1100092 kqread smtpd 78396 414422 97875 95 3 0x1100092 kqread smtpd 97875 113010 1 0 3 0x100080 kqread smtpd 21916 226987 1 0 3 0x88 kqread sshd 9017 4247 1 0 3 0x100080 kqread ntpd 72358 391459 38133 83 3 0x100092 kqread ntpd 38133 355054 1 83 3 0x1100012 netlock ntpd 91824 285625 60194 73 3 0x1100090 kqread syslogd 60194 367623 1 0 3 0x100082 netio syslogd 73270 113983 0 0 3 0x14200 bored smr 51379 478537 0 0 3 0x14200 pgzero zerothread 85386 54454 0 0 3 0x14200 aiodoned aiodoned 10937 491268 0 0 3 0x14200 syncer update 85008 360847 0 0 3 0x14200 cleaner cleaner 76642 501363 0 0 3 0x14200 reaper reaper 32934 257878 0 0 3 0x14200 pgdaemon pagedaemon 48583 371156 0 0 3 0x14200 usbtsk usbtask 53660 310701 0 0 3 0x14200 usbatsk usbatsk 19211 31258 0 0 3 0x40014200 acpi0 acpi0 11856 305318 0 0 3 0x40014200 idle5 9933 290633 0 0 3 0x40014200 idle4 41570 94891 0 0 3 0x40014200 idle3 8005 288623 0 0 7 0x40014200 idle2 94335 428797 0 0 7 0x40014200 idle1 41936 315516 0 0 3 0x14200 bored sensors 29925 368584 0 0 3 0x14200 pf_state_loc softnet *57081 250665 0 0 3 0x14200 pf_state_loc softnet 52408 57981 0 0 7 0x14200 softnet 62179 18952 0 0 7 0x14200 softnet 27530 318849 0 0 3 0x14200 bored systqmp 85837 522405 0 0 3 0x14200 netlock systq 77716 326935 0 0 3 0x40014200 netlock softclock 7796 40566 0 0 7 0x40014200 idle0 1 473596 0 0 3 0x82 wait init 0 0 -1 0 3 0x10200 scheduler swapper ddb{4}> show all locks CPU 4: exclusive sched_lock &sched_lock r = 0 (0xffffffff824819c0) #0 witness_lock+0x311 #1 sleep_setup+0xa5 #2 rw_enter+0x211 #3 pf_test+0xcf0 #4 ip_output+0x6b7 #5 ip_forward+0x2da #6 ip_input_if+0x353 #7 ipv4_input+0x39 #8 ether_input+0x3ad #9 vport_if_enqueue+0x19 #10 veb_port_input+0x529 #11 ether_input+0x100 #12 if_input_process+0x6f #13 ifiq_process+0x69 #14 taskq_thread+0x11a #15 proc_trampoline+0x1c Process 29925 (softnet) thread 0xffff8000ffffefc0 (368584) shared rwlock netlock r = 0 (0xffffffff822c3538) #0 witness_lock+0x311 #1 if_input_process+0x43 #2 ifiq_process+0x69 #3 taskq_thread+0x11a #4 proc_trampoline+0x1c shared rwlock softnet r = 0 (0xffff800000031370) #0 witness_lock+0x311 #1 taskq_thread+0x10d #2 proc_trampoline+0x1c Process 57081 (softnet) thread 0xffff8000ffffe7e0 (250665) shared rwlock netlock r = 0 (0xffffffff822c3538) #0 witness_lock+0x311 #1 rw_enter+0x292 #2 if_input_process+0x43 #3 ifiq_process+0x69 #4 taskq_thread+0x11a #5 proc_trampoline+0x1c shared rwlock softnet r = 0 (0xffff800000031270) #0 witness_lock+0x311 #1 taskq_thread+0x10d #2 proc_trampoline+0x1c exclusive sched_lock &sched_lock r = 0 (0xffffffff824819c0) #0 witness_lock+0x311 #1 sleep_setup+0xa5 #2 rw_enter+0x211 #3 pf_test+0xcf0 #4 ip_output+0x6b7 #5 ip_forward+0x2da #6 ip_input_if+0x353 #7 ipv4_input+0x39 #8 ether_input+0x3ad #9 vport_if_enqueue+0x19 #10 veb_port_input+0x529 #11 ether_input+0x100 #12 if_input_process+0x6f #13 ifiq_process+0x69 #14 taskq_thread+0x11a #15 proc_trampoline+0x1c Process 52408 (softnet) thread 0xffff8000ffffe000 (57981) shared rwlock netlock r = 0 (0xffffffff822c3538) #0 witness_lock+0x311 #1 if_input_process+0x43 #2 ifiq_process+0x69 #3 taskq_thread+0x11a #4 proc_trampoline+0x1c shared rwlock softnet r = 0 (0xffff800000031170) #0 witness_lock+0x311 #1 taskq_thread+0x10d #2 proc_trampoline+0x1c Process 62179 (softnet) thread 0xffff8000ffffe2a0 (18952) exclusive rwlock pf_state_lock r = 0 (0xffffffff822b3ae8) #0 witness_lock+0x311 #1 rw_enter+0x292 #2 pf_state_insert+0x7b #3 pf_test_rule+0xe8e #4 pf_test+0x10a1 #5 veb_pf+0xbf #6 veb_port_input+0x44a #7 ether_input+0x100 #8 if_input_process+0x6f #9 ifiq_process+0x69 #10 taskq_thread+0x11a #11 proc_trampoline+0x1c exclusive rwlock pf_lock r = 0 (0xffffffff822b3ab8) #0 witness_lock+0x311 #1 pf_test+0x107a #2 veb_pf+0xbf #3 veb_port_input+0x44a #4 ether_input+0x100 #5 if_input_process+0x6f #6 ifiq_process+0x69 #7 taskq_thread+0x11a #8 proc_trampoline+0x1c shared rwlock netlock r = 0 (0xffffffff822c3538) #0 witness_lock+0x311 #1 rw_enter+0x292 #2 if_input_process+0x43 #3 ifiq_process+0x69 #4 taskq_thread+0x11a #5 proc_trampoline+0x1c shared rwlock softnet r = 0 (0xffff800000031070) #0 witness_lock+0x311 #1 taskq_thread+0x10d #2 proc_trampoline+0x1c Process 85837 (systq) thread 0xffff8000ffffea80 (522405) shared rwlock systq r = 0 (0xffffffff822b4590) #0 witness_lock+0x311 #1 taskq_thread+0x10d #2 proc_trampoline+0x1c Process 77716 (softclock) thread 0xffff8000ffffed20 (326935) shared rwlock timeout r = 0 (0xffffffff822b2e00) #0 witness_lock+0x311 #1 timeout_run+0x88 #2 softclock_thread+0x11d #3 proc_trampoline+0x1c ddb{4}> ddb{4}> mach ddbcpu 0 Stopped at x86_ipi_db+0x12: leave x86_ipi_db(ffffffff822a7ff0) at x86_ipi_db+0x12 x86_ipi_handler() at x86_ipi_handler+0x80 Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23 __mp_lock(ffffffff824817b8) at __mp_lock+0xaa wakeup_n(ffffffff823381a0,ffffffff) at wakeup_n+0x32 softintr_dispatch(0) at softintr_dispatch+0xeb Xsoftclock() at Xsoftclock+0x1f acpicpu_idle() at acpicpu_idle+0x203 sched_idle(ffffffff822a7ff0) at sched_idle+0x280 end trace frame: 0x0, count: 6 ddb{0}> mach ddbcpu 1 Stopped at x86_ipi_db+0x12: leave x86_ipi_db(ffff800022409ff0) 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+0x203 sched_idle(ffff800022409ff0) 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(ffff800022412ff0) at x86_ipi_db+0x12 x86_ipi_handler() at x86_ipi_handler+0x80 Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23 __mp_lock(ffffffff824817b8) at __mp_lock+0xb3 wakeup_n(ffff800000031100,1) at wakeup_n+0x32 task_add(ffff800000031100,ffff800000099860) at task_add+0x7f ifiq_input(ffff800000099800,ffff800022c88e70) at ifiq_input+0x188 ixgbe_rxeof(ffff8000000973a0) at ixgbe_rxeof+0x32b ixgbe_queue_intr(ffff800000024d00) at ixgbe_queue_intr+0x3c intr_handler(ffff800022c88fb0,ffff800000081e00) at intr_handler+0x6e Xintr_ioapic_edge0_untramp() at Xintr_ioapic_edge0_untramp+0x18f acpicpu_idle() at acpicpu_idle+0x203 sched_idle(ffff800022412ff0) at sched_idle+0x280 end trace frame: 0x0, count: 2 ddb{2}> mach ddbcpu 3 Stopped at x86_ipi_db+0x12: leave x86_ipi_db(ffff80002241bff0) at x86_ipi_db+0x12 x86_ipi_handler() at x86_ipi_handler+0x80 Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23 __mp_lock(ffffffff824817b8) at __mp_lock+0xb3 wakeup_n(ffffffff822b3ad8,ffffffff) at wakeup_n+0x32 pf_test(2,1,ffff800000095048,ffff800022c6b320) at pf_test+0xd31 veb_pf(ffff800000095048,1,fffffd80a3310c00) at veb_pf+0xbf veb_port_input(ffff800000095048,fffffd80a3310c00,ecf4bbdaf7f8,ffff8000014c3400) at veb_port_input+0x2e8 ether_input(ffff800000095048,fffffd80a3310c00) at ether_input+0x100 if_input_process(ffff800000095048,ffff800022c6b4b8) at if_input_process+0x6f ifiq_process(ffff800000099800) at ifiq_process+0x69 taskq_thread(ffff800000031100) at taskq_thread+0x11a end trace frame: 0x0, count: 3 ddb{3}> mach ddbcpu 4 Stopped at db_enter+0x10: popq %rbp db_enter() at db_enter+0x10 panic(ffffffff81f36a34) at panic+0xbf __assert(ffffffff81faa7fa,ffffffff81fd47a7,a3,ffffffff81fe7c9d) at __assert+0x25 assertwaitok() at assertwaitok+0xcc mi_switch() at mi_switch+0x40 sleep_finish(ffff800022c707a0,1) at sleep_finish+0x10b rw_enter(ffffffff822b3ad8,2) at rw_enter+0x232 pf_test(2,3,ffff8000000c6048,ffff800022c70a58) at pf_test+0xcf0 ip_output(fffffd80a32f1f00,0,ffff800022c70be8,1,0,0,e8e0f1a7c10273fe) at ip_output+0x6b7 ip_forward(fffffd80a32f1f00,ffff8000014ee000,fffffd83a8657078,0) at ip_forward+0x2da ip_input_if(ffff800022c70d28,ffff800022c70d34,4,0,ffff8000014ee000) at ip_input_if+0x353 ipv4_input(ffff8000014ee000,fffffd80a32f1f00) at ipv4_input+0x39 ether_input(ffff8000014ee000,fffffd80a32f1f00) at ether_input+0x3ad vport_if_enqueue(ffff8000014ee000,fffffd80a32f1f00) at vport_if_enqueue+0x19 end trace frame: 0xffff800022c70e70, count: 0 ddb{4}> mach ddbcpu 5 Stopped at x86_ipi_db+0x12: leave x86_ipi_db(ffff80002242dff0) at x86_ipi_db+0x12 x86_ipi_handler() at x86_ipi_handler+0x80 Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23 __mp_lock(ffffffff824817b8) at __mp_lock+0xa0 wakeup_n(ffff800000031000,1) at wakeup_n+0x32 task_add(ffff800000031000,ffff8000000c63e8) at task_add+0x7f if_enqueue_ifq(ffff8000000c6048,fffffd80a379e300) at if_enqueue_ifq+0x6b ether_output(ffff8000000c6048,fffffd80a379e300,ffff8000014e9e60,fffffd83a865707 8) at ether_output+0x7e ip_output(fffffd80a379e300,0,ffff800022c655e8,1,0,0,e8e0f1a7c10273fe) at ip_output+0x8ee ip_forward(fffffd80a379e300,ffff8000014ee000,fffffd83a8657078,0) at ip_forward+0x2da ip_input_if(ffff800022c65728,ffff800022c65734,4,0,ffff8000014ee000) at ip_input_if+0x353 ipv4_input(ffff8000014ee000,fffffd80a379e300) at ipv4_input+0x39 ether_input(ffff8000014ee000,fffffd80a379e300) at ether_input+0x3ad vport_if_enqueue(ffff8000014ee000,fffffd80a379e300) at vport_if_enqueue+0x19 end trace frame: 0xffff800022c65870, count: 0 ddb{5}> ix0: flags=8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500 lladdr ec:f4:bb:da:f7:f8 index 1 priority 0 llprio 3 media: Ethernet autoselect (10GSFP+Cu full-duplex,rxpause,txpause) status: active ix1: flags=8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500 lladdr ec:f4:bb:da:f7:fa index 2 priority 0 llprio 3 media: Ethernet autoselect (10GSFP+Cu full-duplex,rxpause,txpause) status: active veb0: flags=a843<UP,BROADCAST,RUNNING,SIMPLEX,LINK1,MULTICAST> index 9 llprio 3 groups: veb ix0 flags=3<LEARNING,DISCOVER> port 1 ifpriority 0 ifcost 0 vport0 flags=3<LEARNING,DISCOVER> port 11 ifpriority 0 ifcost 0 veb1: flags=a843<UP,BROADCAST,RUNNING,SIMPLEX,LINK1,MULTICAST> index 10 llprio 3 groups: veb ix1 flags=3<LEARNING,DISCOVER> port 2 ifpriority 0 ifcost 0 vport1 flags=3<LEARNING,DISCOVER> port 12 ifpriority 0 ifcost 0 vport0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500 lladdr ec:f4:bb:da:f7:f8 index 11 priority 0 llprio 3 groups: vport inet 192.168.100.11 netmask 0xffffff00 broadcast 192.168.100.255 vport1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500 lladdr ec:f4:bb:da:f7:fa index 12 priority 0 llprio 3 groups: vport inet 192.168.111.11 netmask 0xffffff00 broadcast 192.168.111.255 r620-1# netstat -rnf inet | grep vport 16/8 192.168.100.111 UGS 0 0 - 8 vport0 48/8 192.168.111.111 UGS 0 0 - 8 vport1 192.168.100/24 192.168.100.11 UCn 1 0 - 4 vport0 192.168.100.11 ec:f4:bb:da:f7:f8 UHLl 0 0 - 1 vport0 192.168.100.111 link#11 UHLch 1 2 - 3 vport0 192.168.100.255 192.168.100.11 UHb 0 0 - 1 vport0 192.168.111/24 192.168.111.11 UCn 1 0 - 4 vport1 192.168.111.11 ec:f4:bb:da:f7:fa UHLl 0 0 - 1 vport1 192.168.111.111 link#12 UHLch 1 2 - 3 vport1 192.168.111.255 192.168.111.11 UHb 0 0 - 1 vport1