Date: Tue, 26 Jun 2018 09:52:11 +0200 From: Dave Cottlehuber <dch@skunkwerks.at> To: freebsd-net@freebsd.org, freebsd-current@freebsd.org Subject: Re: unloading pf causes desktop system to freeze since ~ r335651 [coredump] Message-ID: <1529999531.2330685.1420550472.409ED830@webmail.messagingengine.com> In-Reply-To: <1529960902.613046.1420067144.3B445531@webmail.messagingengine.com> References: <1529960902.613046.1420067144.3B445531@webmail.messagingengine.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 25 Jun 2018, at 23:08, Dave Cottlehuber wrote: > [cross-posting for advice on general debugging + network-specific thoughts] The HPET NMI watchdog patch was very timely - works a treat: https://reviews.freebsd.org/D15630 > However each time there's no crashdump, & the usual ctrl-alt-esc does't > work either. I bumped my /usr/src to latest HEAD, applied HPET NMI watchdog hack & after freezing via `service pf stop`, I was rewarded with a coredump on next reboot; full log: https://git.io/f4Q4P [1202] panic: Assertion !in_epoch() && !mtx_owned(&(&(*(__typeof(vnet_entry_tcbinfo)*) (((((__curthread())->td_vnet))->vnet_data_base) + (uintptr_t)&vnet_entry_tcbinfo)))->ipi_lock) failed at /usr/src/sys/netinet/tcp_input.c:802 [1202] cpuid = 4 [1202] time = 1529997533 [1202] KDB: stack backtrace: [1202] db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe0077ddc4a0 [1202] vpanic() at vpanic+0x1a3/frame 0xfffffe0077ddc500 [1202] doadump() at doadump/frame 0xfffffe0077ddc580 [1202] tcp_input() at tcp_input+0x940/frame 0xfffffe0077ddc6c0 [1202] ip_input() at ip_input+0x3f7/frame 0xfffffe0077ddc720 [1202] netisr_dispatch_src() at netisr_dispatch_src+0xa2/frame 0xfffffe0077ddc780 [1202] ether_demux() at ether_demux+0x16e/frame 0xfffffe0077ddc7b0 [1202] ether_nh_input() at ether_nh_input+0x402/frame 0xfffffe0077ddc820 [1202] netisr_dispatch_src() at netisr_dispatch_src+0xa2/frame 0xfffffe0077ddc880 [1202] ether_input() at ether_input+0x8f/frame 0xfffffe0077ddc8c0 [1202] iflib_rxeof() at iflib_rxeof+0xcce/frame 0xfffffe0077ddc9b0 [1202] _task_fn_rx() at _task_fn_rx+0x7f/frame 0xfffffe0077ddc9f0 [1202] gtaskqueue_run_locked() at gtaskqueue_run_locked+0x139/frame 0xfffffe0077ddca40 [1202] gtaskqueue_thread_loop() at gtaskqueue_thread_loop+0x88/frame 0xfffffe0077ddca70 [1202] fork_exit() at fork_exit+0x84/frame 0xfffffe0077ddcab0 [1202] fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe0077ddcab0 [1202] --- trap 0, rip = 0, rsp = 0, rbp = 0 --- [1202] KDB: enter: panic db:0:kdb.enter.panic> run lockinfo db:1:lockinfo> show locks db:1:lockinfo> show alllocks Process 12789 (h2o) thread 0xfffff8020dd4f580 (101673) Process 17635 (pflogd) thread 0xfffff8017c91c580 (101027) db:1:lockinfo> show lockedvnods Locked vnodes db:0:kdb.enter.panic> show pcpu cpuid = 4 dynamic pcpu = 0xfffffe00848dd8c0 curthread = 0xfffff801067f2000: pid 0 tid 100029 "if_io_tqg_4" curpcb = 0xfffffe0077ddcb80 fpcurthread = none idlethread = 0xfffff80106796000: tid 100007 "idle: cpu4" curpmap = 0xffffffff81ffbe08 tssp = 0xffffffff82066ac0 commontssp = 0xffffffff82066ac0 rsp0 = 0xfffffe0077ddcb80 gs32p = 0xffffffff8206d6f8 ldt = 0xffffffff8206d738 tss = 0xffffffff8206d728 curvnet = 0xfffff801000ca0c0 spin locks held: db:0:kdb.enter.panic> bt Tracing pid 0 tid 100029 td 0xfffff801067f2000 kdb_enter() at kdb_enter+0x3b/frame 0xfffffe0077ddc4a0 vpanic() at vpanic+0x1c0/frame 0xfffffe0077ddc500 doadump() at doadump/frame 0xfffffe0077ddc580 tcp_input() at tcp_input+0x940/frame 0xfffffe0077ddc6c0 ip_input() at ip_input+0x3f7/frame 0xfffffe0077ddc720 netisr_dispatch_src() at netisr_dispatch_src+0xa2/frame 0xfffffe0077ddc780 ether_demux() at ether_demux+0x16e/frame 0xfffffe0077ddc7b0 ether_nh_input() at ether_nh_input+0x402/frame 0xfffffe0077ddc820 netisr_dispatch_src() at netisr_dispatch_src+0xa2/frame 0xfffffe0077ddc880 ether_input() at ether_input+0x8f/frame 0xfffffe0077ddc8c0 iflib_rxeof() at iflib_rxeof+0xcce/frame 0xfffffe0077ddc9b0 _task_fn_rx() at _task_fn_rx+0x7f/frame 0xfffffe0077ddc9f0 gtaskqueue_run_locked() at gtaskqueue_run_locked+0x139/frame 0xfffffe0077ddca40 gtaskqueue_thread_loop() at gtaskqueue_thread_loop+0x88/frame 0xfffffe0077ddca70 fork_exit() at fork_exit+0x84/frame 0xfffffe0077ddcab0 fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe0077ddcab0 --- trap 0, rip = 0, rsp = 0, rbp = 0 --- Please keep replies just to freebsd-net@ from here on. A+ Dave
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1529999531.2330685.1420550472.409ED830>