Re: IGMP+WiFi panic on recent kernel - in igmp_fasttimo()

From: Coleman Kane <cokane_at_FreeBSD.org>
Date: Tue, 17 Mar 2009 09:05:17 -0400
On Tue, 2009-03-17 at 08:12 +0000, Bruce Simpson wrote:
> Sam Leffler wrote:
> > It is the same issue but the root cause is unclear.  There is much 
> > code that does assumes ifma_protospec might be NULL and checks for 
> > it.  In my case (creating a wlan ifnet and then destroying it on 
> > eject) the patch below is sufficient.  I don't care to dig right now 
> > to understand how this stuff is supposed to work; it should be clear 
> > from comments etc but the code is lacking.
> >
> 
>     This is just to say I've tried to reproduce the 802.11 related 
> panics,  however have hit a brick wall because the PCI-CardBus bridge 
> does not seem to detect anything in its slot. (1U Itox Expanding Dragon 
> industrial PC w/a SiteCom branded Ricoh RL475 cardbus card). I tried 
> unloading if_fxp with IGMPv3 active on the ifnet, and didn't see any 
> panic, I'm assuming this is OK for the time being.
> 
>     Qing Li volunteered to test IGMPv3 out for any VLAN related issues 
> -- I understand it stacks ifnets in a similar way to that of 802.11 -- 
> however I have had no feedback from him since last week.
>     So I'm waiting for a HEAD build to a USB2 stick to finish, so I can 
> try testing nondestructively on my laptop, where I know for sure that 
> the PCI-CardBus bridge slot works, and I can detach an 802.11 card on 
> the fly.
> 
>     Re ifma_protospec: Yes, there are tricks in the ifnet/in layer which 
> set it to NULL and look for it to be NULL. I ended up doing it this way 
> mainly because adding reference counting to ifnet would have simply been 
> too much work, and it's really a ball that needs to be kicked around at 
> a dev summit. However time presses on and it's better to get SOMETHING 
> out there.
>     Most likely the IGMPv3 changes are hitting this in the 802.11 case 
> somehow, I don't have a complete picture of how/why/what's going on, and 
> have been relying on feedback from others so far.
> 
> cheers
> BMS
> 

Today I played with it a bit. I've been unable to produce the crash on
my wired (if_bge) interface, however it happens regularly on my wireless
(ndis0/wlan0) interface. I was unable to get a core dump for other
reasons.

However, on my system I do not get the crash if I turn off avahi_daemon
(set avahi_daemon_enable="NO" in /etc/rc.conf). I tried booting to
single user, ran dhclient on wlan0 (after setting it up properly), and
then proceeded to boot the system multi-user. As soon as avahi went
live, the kernel panicked, as above.

If you are looking for a reliable test case, this might be it for you,
but I think you need a wlan interface to test it with:
  * Install net/avahi from ports
  * Set avahi_daemon_enable="YES" in rc.conf
  * Configure VAP params for wlan0 card in rc.conf
  * Log in and run "dhclient wlan0" to trigger the panic

-- 
Coleman Kane

Received on Tue Mar 17 2009 - 12:06:49 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:44 UTC