Re: stopping ndis caused fatal trap 12

From: Andrew Thompson <thompsa_at_FreeBSD.org>
Date: Sun, 15 Jul 2007 23:06:29 +1200
On Sun, Jul 15, 2007 at 05:32:32AM -0500, Scot Hetzel wrote:
> hp010# uname -a
> FreeBSD hp010 7.0-CURRENT FreeBSD 7.0-CURRENT #0: Sat Jul 14 02:20:09
> CDT 2007     root_at_hp010:/usr/src/7x/sys-p4/amd64/compile/GENERIC.debug
> amd64
> 
> I was testing wpa_supplicant at work, and couldn't get it to associate
> with the network (open, no encryption), and so I had hardcoded the
> network.  When I went home and booted the system, it still had the
> hardcoded wireless network configured.  I then did a netif stop ndis0,
> made the change to set ndis to "WPA DHCP", then when I used 'netif
> start ndis0', it didn't obtain an IP.  So I performed an 'netif stop
> ndis0' and received the following panic:
> 
> #/etc/rc.d/netif stop ndis0
> Stopping network: Stopping wpa_supplicant
> waiting for PIDS: 474Jul 15 01:28:08 hp010 dhclient[1424]: connection closed
> Jul 15 01:28:08 hp010 dhclient[1424]: exiting
> 
> Fatal trap 12: page fault while in kernel mode
> cpuid = 0; apic id = 00
> fault virtual address   = 0xffffffff816e46c8
> fault code              = supervisor read data, page not present
> instruction pointer     = 0x8:0xffffffff80d0269a
> stack pointer           = 0x10:0xffffffffa45036c0
> frame pointer           = 0x10:0xffffffffa4503820
> code segment            = base 0x0, limit 0xfffff, type 0x1b
>                        = DPL 0, pres 1, long 1, def32 0, gran 1
> processor eflags        = interrupt enabled, resume, IOPL = 0
> current process         = 1513 (ifconfig)
> [thread pid 1513 tid 100095]
> Stopped at        0xffffffff80d0269a:     movq    0x16c8(%rdi), %rax
> 
> Let me know if there is any more debug info I can provide for this crash.
 
As far as I can tell from recently working on the 80211 part of ndis,
the code seems to lack large parts of locking. The code really needs
someone to go through and check this, and hopefully maintain it in the
long term.

So back to the ndis association problem. Did the card find the access
point? you can list the scan cache from 'ifconfig ndis0 list scan'.
 
> PS:  I tried to reproduce the problem, and wasn't able to reproduce it.

Its most likely a race condition, the problem will still be there :)
Received on Sun Jul 15 2007 - 09:06:31 UTC

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