Bug 241470 - dummynet: setting bandwidth and delay causes repeatable panic: mpanic: Assertion in_epoch(net_epoch_preempt)
Summary: dummynet: setting bandwidth and delay causes repeatable panic: mpanic: Assert...
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: CURRENT
Hardware: amd64 Any
: --- Affects Some People
Assignee: freebsd-net (Nobody)
URL:
Keywords: crash, needs-qa
Depends on:
Blocks:
 
Reported: 2019-10-24 14:53 UTC by Julius Flohr
Modified: 2020-04-05 07:42 UTC (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Julius Flohr 2019-10-24 14:53:53 UTC
Hi, I'm running base r354020 in a bhyve vm. I tried modifying link metrics for a specific IP and came across this reproducible kernel panic. Details how to reproduce and resulting panic attached below.

Cheers.


jules@freebsd-rtr-1:~ % sudo ipfw list

00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
00400 deny ip from any to ::1
00500 deny ip from ::1 to any
00600 allow ipv6-icmp from :: to ff02::/16
00700 allow ipv6-icmp from fe80::/10 to fe80::/10
00800 allow ipv6-icmp from fe80::/10 to ff02::/16
00900 allow ipv6-icmp from any to any icmp6types 1
01000 allow ipv6-icmp from any to any icmp6types 2,135,136
65000 allow ip from any to any
65535 allow ip from any to any
jules@freebsd-rtr-1:~ % sudo ipfw add 10 pipe 1 ip from 10.42.42.2 to any
00010 pipe 1 ip from 10.42.42.2 to any
jules@freebsd-rtr-1:~ % sudo ipfw add 20 pipe 2 ip from 10.42.42.2 to any
00020 pipe 2 ip from 10.42.42.2 to any
jules@freebsd-rtr-1:~ % sudo ipfw pipe 1 config bw 1Mbit/s delay 20ms
mpanic: Assertion in_epoch(net_epoch_preempt) failed at /remote/src/sys/netpfil/ipfw/ip_dn_io.c:745
cpuid = 0
time = 1571927589
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe000b39b880
vpanic() at vpanic+0x19d/frame 0xfffffe000b39b8d0
panic() at panic+0x43/frame 0xfffffe000b39b930
dummynet_send() at dummynet_send+0x44/frame 0xfffffe000b39b970
dummynet_task() at dummynet_task+0x335/frame 0xfffffe000b39b9e0
taskqueue_run_locked() at taskqueue_run_locked+0x10c/frame 0xfffffe000b39ba40
taskqueue_thread_loop() at taskqueue_thread_loop+0x88/frame 0xfffffe000b39ba70
fork_exit() at fork_exit+0x84/frame 0xfffffe000b39bab0
fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe000b39bab0
--- trap 0, rip = 0, rsp = 0, rbp = 0 ---
KDB: enter: panic
[ thread pid 0 tid 100043 ]
Stopped at      kdb_enter+0x3b: movq    $0,kdb_why
db>
Comment 1 Kristof Provost freebsd_committer freebsd_triage 2020-03-31 07:05:58 UTC
I believe this was fixed by r358081. I can't reproduce it any more on CURRENT.

Can you confirm?