Re: [Ndiswrapper-general] ndiswrapper freezes system
Status: Beta
Brought to you by:
pgiri
From: Jonathan B. <be...@gm...> - 2005-01-28 05:10:46
|
On Wed, 26 Jan 2005 03:33:25 -0500, Giridhar Pemmasani <gi...@lm...> wrote: > Well, I figured another workaround for this problem and reimplemented > spinlocks using this approach. Windows spinlock (KSPIN_LOCK) is now an > index into an array of spinlocks that are allocated on-demand. With > this scheme it is possible to check if a spinlock is valid or not > etc. Right now spinlock implementation in ndiswrapper uses this > approach irrespective of whether CONFIG_DEBUG_SPINLOCK is enabled or > not. Of course, that means this implementation may break some drivers > that worked earlier. So test latest nightly tarball (CVS is slow) and > report if your driver used to work until yesterday but fails now or > CONFIG_DEBUG_SPINLOCK caused problems until yesterday but works now. > > Until it is known to work without problems, the new implementation > will be a bit verbose. Don't be alarmed if it complains about invalid > spinlocks (unless you get kernel crash); the implementation should > handle those "invalid" spinlocks. > > -- > Giri Hi Giri, Thanks for continuing to work on this. Unfortunately, the CVS from yesterday night (Jan 26) still freezes my system (with the DEBUG_SPINLOCK enabled, haven't tried without yet). (Just as an aside, why does CVS not add a version number to distinguish it from releases? It would be nice if it did.) This time I switched to a virtual console to do the modprobe and saw the kernel panic. Unfortunately, I couldn't see much usefull info still on the screen, and, well, my computer doesn't work too well with interrupts disabled (the one message I could see), hence the hard freeze. /var/log/messages does seem to have some of the oops in it, but there was definitely more on the screen. Is there any way to capture the screen output? Here is what I've got from messages (sorry about the wrapping): Jan 26 22:14:07 ClawHammer kernel: ndiswrapper version 1.0rc4 loaded (preempt=no,smp=no) Jan 26 22:14:07 ClawHammer kernel: ndiswrapper: driver netbc564 (,10/01/2002,3.70.17.5) added Jan 26 22:14:07 ClawHammer kernel: ACPI: PCI Interrupt Link [LNK3] enabled at IRQ 17 Jan 26 22:14:07 ClawHammer kernel: ACPI: PCI interrupt 0000:02:02.0[A] -> GSI 17 (level, low) -> IRQ 225 Jan 26 22:14:07 ClawHammer kernel: ndiswrapper: using irq 225 Jan 26 22:14:07 ClawHammer kernel: Unable to handle kernel NULL pointer dereference at 0000000000000030 RIP: Jan 26 22:14:07 ClawHammer kernel: <ffffffffa02160d5>{:ndiswrapper:KfAcquireSpinLock+16} Jan 26 22:14:07 ClawHammer kernel: PML4 13a24067 PGD 8c76067 PMD 0 Jan 26 22:14:07 ClawHammer kernel: Oops: 0002 [1] Jan 26 22:14:07 ClawHammer kernel: CPU 0 Jan 26 22:14:07 ClawHammer kernel: Modules linked in: ndiswrapper(U) nvidia(U) snd_intel8x0 nls_utf8 ntfs(U) parport_pc lp parport autofs4 sunrpc pcmcia ipt_REJECT ipt_state ip_conntrack iptable_filter ip_tables dm_mod video button battery ac usblp ohci1394 ieee1394 joydev yenta_socket pcmcia_core ohci_hcd ehci_hcd i2c_nforce2 i2c_core snd_intel8x0m snd_ac97_codec snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore snd_page_alloc 8139too mii ext3 jbd Jan 26 22:14:07 ClawHammer kernel: Pid: 4811, comm: loadndisdriver Tainted: P 2.6.10-1.741_FC3 Jan 26 22:14:07 ClawHammer kernel: RIP: 0010:[<ffffffffa02160d5>] <ffffffffa02160d5>{:ndiswrapper:KfAcquireSpinLock+16} Jan 26 22:14:07 ClawHammer kernel: RSP: 0018:0000010003fc5bb0 EFLAGS: 00010293 Jan 26 22:14:07 ClawHammer kernel: RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 Jan 26 22:14:07 ClawHammer kernel: RDX: 0000000000000246 RSI: 0000000000000000 RDI: 0000010019bae458 Looks like a spin lock issue. Somewhere a NULL is getting passed in. Is KfAcquireSpinLock a driver function? Or perhaps a kernel function? A quick look through the code didn't find it defined anywhere. Let me know if there is any more info I can get you, or any tests I can do. Jonathan |