Bill Paul wrote: >>Hi. >> >> 1 boot of 3 I got similar panics in softclock(). >> >>kernel trap 12 with interrupts disabled >> >> >>Fatal trap 12: page fault while in kernel mode >>cpuid = 0; apic id = 00 >>fault virtual address = 0x218 >>fault code = supervisor read, page not present >>instruction pointer = 0x20:0xc06aa6ae >>stack pointer = 0x28:0xd4710cac >>frame pointer = 0x28:0xd4710cd4 >>code segment = base 0x0, limit 0xfffff, type 0x1b >> = DPL 0, pres 1, def32 1, gran 1 >>processor eflags = resume, IOPL = 0 >>current process = 13 (swi4: clock sio) >> >> The trace is: >> >>softclock(0) ... +0x86 >>ithread_execute_handlers >>ithread_loop >>fork_exit >>form_trampoline >> >> softclock+0x86 is here (marked with an arrow) >> >> /* >> * softticks may be modified by hard clock, so cache >> * it while we work on a given bucket. >> */ >> curticks = softticks; >> bucket = &callwheel[curticks & callwheelmask]; >> c = TAILQ_FIRST(bucket); >> while (c) { >> depth++; >>---> if (c->c_time != curticks) { >> c = TAILQ_NEXT(c, c_links.tqe); >> ++steps; >> >> Debugging shows that 'c' has the value of 0x210. Which is incorrect for >>sure. 'c_time' has an offset of 0x8, giving us fault virtual address. >> I'm using NDIS. It seems, that panic happens on first packet NDIS tries >>to send. This is when 'ntpdate' is being run at boot stage. >> As I said, I can reproduce it by rebooting a few times. Can anyone give >>a clue where to look in DDB further to help to resolve this problem? > > > If you want us to give you clues, you have to give _US_ clues. > > For example, here are some of the things you didn't bother to say: > > - _WHICH_ windows driver are you using with NDIS? bcmwl5.sys > - _WHAT_ wireless card do you have? It presents itself as ASUS 802.11g Network Adapter. Based on Broadcom chip. > - Complete dmesg output from your system (note: verbose boot is not > necessary, but _full_ output is necessary, i.e. don't remove things > you think are unimportant) Here it is. Copyright (c) 1992-2005 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 7.0-CURRENT #0: Tue Nov 8 20:52:36 MSK 2005 mcsi_at_ultra.domain:/usr/obj/usr/src/sys/ULTRA WARNING: WITNESS option enabled, expect reduced performance. Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel(R) Pentium(R) 4 CPU 3.00GHz (2992.52-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0xf29 Stepping = 9 Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> Features2=0x4400<CNTX-ID,<b14>> Logical CPUs per core: 2 real memory = 536674304 (511 MB) avail memory = 510435328 (486 MB) ACPI APIC Table: <A M I OEMAPIC > FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 ioapic0 <Version 2.0> irqs 0-23 on motherboard npx0: [FAST] npx0: <math processor> on motherboard npx0: INT 16 interface acpi0: <A M I OEMRSDT> on motherboard acpi0: Power Button (fixed) acpi_ec0: <Embedded Controller: GPE 0x1c> port 0x62,0x66 on acpi0 pci_link0: <ACPI PCI Link LNKA> irq 9 on acpi0 pci_link1: <ACPI PCI Link LNKB> irq 5 on acpi0 pci_link2: <ACPI PCI Link LNKC> irq 5 on acpi0 pci_link3: <ACPI PCI Link LNKD> irq 0 on acpi0 pci_link4: <ACPI PCI Link LNKE> irq 0 on acpi0 pci_link5: <ACPI PCI Link LNKF> irq 0 on acpi0 pci_link6: <ACPI PCI Link LNKG> irq 0 on acpi0 pci_link7: <ACPI PCI Link LNKH> irq 5 on acpi0 Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0 cpu0: <ACPI CPU> on acpi0 p4tcc0: <CPU Frequency Thermal Control> on cpu0 cpu1: <ACPI CPU> on acpi0 p4tcc1: <CPU Frequency Thermal Control> on cpu1 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 agp0: <Intel 82865 host to AGP bridge> mem 0xf8000000-0xfbffffff at device 0.0 on pci0 pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0 pci1: <ACPI PCI bus> on pcib1 drm0: <ATI Radeon RV300 Mobility 9600 M10> port 0x9800-0x98ff mem 0xe8000000-0xefffffff,0xfe9f0000-0xfe9fffff irq 16 at device 0.0 on pci1 info: [drm] AGP at 0xf8000000 64MB info: [drm] Initialized radeon 1.16.0 20050311 on minor 0 uhci0: <Intel 82801EB (ICH5) USB controller USB-A> port 0xe000-0xe01f irq 16 at device 29.0 on pci0 uhci0: [GIANT-LOCKED] usb0: <Intel 82801EB (ICH5) USB controller USB-A> on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered uhci1: <Intel 82801EB (ICH5) USB controller USB-B> port 0xe400-0xe41f irq 19 at device 29.1 on pci0 uhci1: [GIANT-LOCKED] usb1: <Intel 82801EB (ICH5) USB controller USB-B> on uhci1 usb1: USB revision 1.0 uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 2 ports with 2 removable, self powered uhci2: <Intel 82801EB (ICH5) USB controller USB-C> port 0xe800-0xe81f irq 18 at device 29.2 on pci0 uhci2: [GIANT-LOCKED] usb2: <Intel 82801EB (ICH5) USB controller USB-C> on uhci2 usb2: USB revision 1.0 uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub2: 2 ports with 2 removable, self powered uhci3: <Intel 82801EB (ICH5) USB controller USB-D> port 0xec00-0xec1f irq 16 at device 29.3 on pci0 uhci3: [GIANT-LOCKED] usb3: <Intel 82801EB (ICH5) USB controller USB-D> on uhci3 usb3: USB revision 1.0 uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub3: 2 ports with 2 removable, self powered ehci0: <Intel 82801EB/R (ICH5) USB 2.0 controller> mem 0xfebffc00-0xfebfffff irq 23 at device 29.7 on pci0 ehci0: [GIANT-LOCKED] usb4: waiting for BIOS to give up control usb4: timed out waiting for BIOS usb4: EHCI version 1.0 usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3 usb4: <Intel 82801EB/R (ICH5) USB 2.0 controller> on ehci0 usb4: USB revision 2.0 uhub4: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 uhub4: 8 ports with 8 removable, self powered pcib2: <ACPI PCI-PCI bridge> at device 30.0 on pci0 pci2: <ACPI PCI bus> on pcib2 skc0: <3Com 3C940 Gigabit Ethernet> port 0xa800-0xa8ff mem 0xfeafc000-0xfeafffff irq 18 at device 0.0 on pci2 skc0: 3Com Gigabit LOM (3C940) rev. (0x1) sk0: <Marvell Semiconductor, Inc. Yukon> on skc0 sk0: Ethernet address: 00:0e:a6:b9:f9:f8 miibus0: <MII bus> on sk0 e1000phy0: <Marvell 88E1000 Gigabit PHY> on miibus0 e1000phy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX-FDX, auto cbb0: <RF5C476 PCI-CardBus Bridge> irq 16 at device 1.0 on pci2 cardbus0: <CardBus bus> on cbb0 pccard0: <16-bit PCCard bus> on cbb0 cbb1: <RF5C476 PCI-CardBus Bridge> irq 17 at device 1.1 on pci2 cardbus1: <CardBus bus> on cbb1 pccard1: <16-bit PCCard bus> on cbb1 fwohci0: <Ricoh R5C552> mem 0xfeafb000-0xfeafb7ff irq 18 at device 1.2 on pci2 fwohci0: OHCI version 1.0 (ROM=1) fwohci0: No. of Isochronous channels is 4. fwohci0: EUI64 00:e0:18:00:03:18:f3:bc fwohci0: Phy 1394a available S400, 2 ports. fwohci0: Link S400, max_rec 2048 bytes. firewire0: <IEEE1394(FireWire) bus> on fwohci0 fwe0: <Ethernet over FireWire> on firewire0 if_fwe0: Fake Ethernet address: 02:e0:18:18:f3:bc fwe0: Ethernet address: 02:e0:18:18:f3:bc fwe0: if_start running deferred for Giant sbp0: <SBP-2/SCSI over FireWire> on firewire0 fwohci0: Initiate bus reset fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) firewire0: bus manager 0 (me) pci2: <base peripheral> at device 1.3 (no driver attached) pci2: <base peripheral> at device 1.4 (no driver attached) ndis0: <ASUS 802.11g Network Adapter> mem 0xfeaf8000-0xfeaf9fff irq 17 at device 2.0 on pci2 ndis0: NDIS API version: 5.0 ndis0: Ethernet address: 00:0e:a6:c2:00:e4 isab0: <PCI-ISA bridge> at device 31.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <Intel ICH5 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xfc00-0xfc0f at device 31.1 on pci0 ata0: <ATA channel 0> on atapci0 ata1: <ATA channel 1> on atapci0 pcm0: <Intel ICH5 (82801EB)> port 0xd400-0xd4ff,0xd000-0xd03f mem 0xfebff800-0xfebff9ff,0xfebff400-0xfebff4ff irq 17 at device 31.5 on pci0 pcm0: [GIANT-LOCKED] pcm0: <Avance Logic ALC650 AC97 Codec> pci0: <simple comms, generic modem> at device 31.6 (no driver attached) acpi_button0: <Sleep Button> on acpi0 acpi_lid0: <Control Method Lid Switch> on acpi0 acpi_button1: <Power Button> on acpi0 acpi_tz0: <Thermal Zone> on acpi0 acpi_acad0: <AC Adapter> on acpi0 battery0: <ACPI Control Method Battery> on acpi0 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: model Synaptics Touchpad, device ID 0 speaker0: <PC speaker> port 0x61 on acpi0 sio0: configured irq 4 not in bitmap of probed irqs 0 sio0: port may not be enabled sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sio0: type 16550A sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled sio1: <Generic IRDA-compatible device> port 0x2f8-0x2ff irq 3 on acpi0 sio1: type 16550A fdc0: <floppy drive controller (FDE)> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0 fdc0: [FAST] fd0: <1440-KB 3.5" drive> on fdc0 drive 0 ppc0: <ECP parallel printer port> port 0x378-0x37f,0x778-0x77f irq 7 on acpi0 ppc0: Generic chipset (ECP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/16 bytes threshold ppbus0: <Parallel port bus> on ppc0 plip0: <PLIP network interface> on ppbus0 lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port ppi0: <Parallel I/O> on ppbus0 pmtimer0 on isa0 orm0: <ISA Option ROM> at iomem 0xc0000-0xcffff pnpid ORM0000 on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 ukbd0: vendor 0x0566 product 0x3002, rev 1.10/1.00, addr 2, iclass 3/1 kbd1 at ukbd0 uhid0: vendor 0x0566 product 0x3002, rev 1.10/1.00, addr 2, iclass 3/1 ums0: Logitech Optical USB Mouse, rev 2.00/3.40, addr 3, iclass 3/1 ums0: 3 buttons and Z dir. Timecounters tick every 1.000 msec acd0: DVDR <TOSHIBA DVD-ROM SD-R6112/1731> at ata0-master UDMA33 ad2: 57231MB <IC25N060ATMR04 0 MO3OAD4A> at ata1-master UDMA100 SMP: AP CPU #1 Launched! Trying to mount root from ufs:/dev/ad2s3a WARNING: attempt to net_add_domain(netgraph) after domainfinalize() sk0: link state changed to DOWN ndis0: link state changed to UP kernel trap 12 with interrupts disabled Fatal trap 12: page fault while in kernel mode cpuid = 0; apic id = 00 fault virtual address = 0x218 fault code = supervisor read, page not present instruction pointer = 0x20:0xc06aa6ae stack pointer = 0x28:0xd4710cac frame pointer = 0x28:0xd4710cd4 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = resume, IOPL = 0 current process = 13 (swi4: clock sio) > - Did you add your NDIS driver to /boot/loader.conf, or are you loading > the driver after the system is running multiuser? I'm loading it from /boot/loader.conf > - If you are loading the driver via /boot/loader.conf, did you try > _not_ doing that, and loading it afterwards? No, I didn't. Even if I will do that, why the problem isn't solid? Right now and most of the time I'm happy with this driver loaded at boot time. > - What kind of system is this? Laptop? Desktop? Stone knives and bearskins? It's laptop ASUS L5 Series. > - Is it SMP or UP? SMP. > > When you provide this information, maybe you will get help. > > NOTE: Windows NDIS drivers assume that by the time you intialize them, > the entire OS is up and running, including scheduling and, if present, > multiple CPUs. But in FreeBSD, the kernel is running in 'cold start' > state when it probes/attaches devices, and not all of the scheduling > mechanisms are available yet (for example, you can not msleep() while > cold == 1). This means loading your driver via /boot/loader.conf is > something of a hit-or-miss proposition: sometimes they don't work right, > sometimes they do. To be really safe, you should load them _after_ the > system has come up all the way. > > Unfortunately, it's necessary to initialize the driver briefly in > ndis_attach() in order to find out the device's station address. (You > can only do it via MiniportQueryInformation(), and that only works after > MiniportInitialize() has been called.) When 'ntpdate' is called during boot process, everything is (or should be) initialized I believe. -- Maxim MaximovReceived on Thu Nov 10 2005 - 18:02:38 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:47 UTC