Project

General

Profile

Bug #10792

Crash when switching interface off and on again in cohesion with multicast

Added by Louis van Breda about 2 months ago. Updated about 2 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Operating System
Target version:
Start date:
07/28/2020
Due date:
% Done:

0%

Estimated time:
Affected Version:
Affected Architecture:

Description

Hello,

There are still crashes when switching off and on (vlan)interfaces. One of those crashes seems to be triggered by PIMD/Multicast. So I opened a FeeBSD Bug. This one is FreeBSD bug 248243.
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248243

Note that in general the number of crashes related to switching off and on (vlan)interfaces, is much better now than it was in the past months. So some one has allready fixed one or more issues :)

For info, monitoring and follow up.

Louis

Copied from FreeBSD

I try to get PIMD running on latest pfSense release. One of the two problems I am facing is that FreeBsd as crashing as soon as I switch off and on again one of the interfaces, especially the interface being used as PIMD register_vif.

Hereby the relevant lines from "the core dump"

curthread = 0xfffff8000439f000: pid 12 tid 100040 "swi1: netisr 2"

Tracing pid 12 tid 100040 td 0xfffff8000439f000

kdb_enter() at kdb_enter+0x37/frame 0xfffffe00004de4b0
vpanic() at vpanic+0x197/frame 0xfffffe00004de500
panic() at panic+0x43/frame 0xfffffe00004de560
trap_fatal() at trap_fatal+0x391/frame 0xfffffe00004de5c0
trap_pfault() at trap_pfault+0x4f/frame 0xfffffe00004de610
trap() at trap+0x286/frame 0xfffffe00004de720
calltrap() at calltrap+0x8/frame 0xfffffe00004de720
***--- trap 0xc, rip = 0xffffffff80e934f5, rsp = 0xfffffe00004de7f0, rbp =

0xfffffe00004de7f0 ---***
if_inc_counter() at if_inc_counter+0x15/frame 0xfffffe00004de7f0
if_simloop() at if_simloop+0xd1/frame 0xfffffe00004de830
pim_input() at pim_input+0x409/frame 0xfffffe00004de890

encap_input() at encap_input+0xd1/frame 0xfffffe00004de900
encap4_input() at encap4_input+0x28/frame 0xfffffe00004de930
ip_input() at ip_input+0x168/frame 0xfffffe00004de9e0
swi_net() at swi_net+0x12b/frame 0xfffffe00004dea50
ithread_loop() at ithread_loop+0x23c/frame 0xfffffe00004deab0
fork_exit() at fork_exit+0x7e/frame 0xfffffe00004deaf0
fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe00004deaf0

IMHO the problem is like this:
- pim is asking som info from underlying core
- that is translated into a trap
- the trap is not handled correctly and/or parameters are not correct
- the trap is handeld by thread 12 "swi1: netisr 2"
- which lead to a fatal crash

Louis
PS related but another problem #248103

History

#1 Updated by Louis van Breda about 2 months ago

I did retest interface stability. The situation is much better now. I can not reproduce crashes any more.

Also available in: Atom PDF