Date: Fri, 07 Oct 2011 16:18:47 +0200 From: Niclas Zeising <niclas.zeising@gmail.com> To: Rene Ladan <rene@freebsd.org> Cc: current@FreeBSD.ORG Subject: Re: iwn panic with 9.0-BETA3-amd64 Message-ID: <4E8F0A47.1010408@gmail.com> In-Reply-To: <4E8ED3C8.1020108@freebsd.org> References: <4E8ED3C8.1020108@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 10/07/11 12:26, Rene Ladan wrote: > Hi, > > just experienced a panic with if_iwn on 9.0-BETA3-amd64 (base and > kernel compiled with clang, CPUTYPE?=core2, GENERIC with CAPABILITIES). > > My network card: iwn0:<Intel(R) WiFi Link 5100> mem > 0xf5200000-0xf5201fff irq 17 at device 0.0 on pci3 > > iwn0: flags=8803<UP,BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 2290 > ether 00:26:c6:xx:xx:xx > nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> > media: IEEE 802.11 Wireless Ethernet autoselect mode 11b > status: associated > > Some snippets from /var/crash/core.txt.24 : > > Unread portion of the kernel message buffer: > Kernel page fault with the following non-sleepable locks held: > exclusive sleep mutex iwn0 (network driver) r = 0 (0xffffff8000882018) > locked @ /usr/src/9/sys/dev/iwn/if_iwn.c:3135 > KDB: stack backtrace: > db_trace_self_wrapper() at db_trace_self_wrapper+0x2b > kdb_backtrace() at kdb_backtrace+0x39 > witness_warn() at witness_warn+0x438 > trap() at trap+0x14c > calltrap() at calltrap+0x8 > --- trap 0xc, rip = 0xffffffff804fd1c7, rsp = 0xffffff811850a9d0, rbp = > 0xffffff811850aa30 --- > iwn_ampdu_tx_done() at iwn_ampdu_tx_done+0xa7 > iwn_notif_intr() at iwn_notif_intr+0x523 > iwn_intr() at iwn_intr+0x60c > intr_event_execute_handlers() at intr_event_execute_handlers+0x7e > ithread_loop() at ithread_loop+0xf0 > fork_exit() at fork_exit+0x80 > fork_trampoline() at fork_trampoline+0xe > --- trap 0, rip = 0, rsp = 0xffffff811850ad00, rbp = 0 --- > > Fatal trap 12: page fault while in kernel mode > cpuid = 0; apic id = 00 > fault virtual address = 0xa > fault code = supervisor read data, page not present > instruction pointer = 0x20:0xffffffff804fd1c7 > stack pointer = 0x28:0xffffff811850a9d0 > frame pointer = 0x28:0xffffff811850aa30 > 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 = 12 (irq259: iwn0) > trap number = 12 > panic: page fault > cpuid = 0 > Uptime: 1h23m24s > Dumping 692 out of 4055 MB:..3%..12%..21%..31%..42%..51%..61%..72%..81%..91% > > No symbol "dumptid" in current context. > [...] > > #0 sched_switch (td=dwarf2_read_address: Corrupted DWARF expression. > ) at /usr/src/9/sys/kern/sched_ule.c:1854 > 1854 /usr/src/9/sys/kern/sched_ule.c: No such file or directory. > in /usr/src/9/sys/kern/sched_ule.c > (kgdb) #0 sched_switch (td=dwarf2_read_address: Corrupted DWARF expression. > ) at /usr/src/9/sys/kern/sched_ule.c:1854 > #1 0xffffffff807f23c9 in mi_switch (flags=dwarf2_read_address: > Corrupted DWARF expression. > ) > at /usr/src/9/sys/kern/kern_synch.c:448 > #2 0x0000000000000000 in ?? () > #3 0xffffff811c0367d0 in ?? () > #4 0x0000000000000046 in ?? () > #5 0xffffff811c036810 in ?? () > #6 0xffffffff807c2075 in intr_event_handle (ie=dwarf2_read_address: > Corrupted DWARF expression. > ) > at /usr/src/9/sys/kern/kern_intr.c:1476 > Previous frame inner to this frame (corrupt stack?) > > [...] > > More information upon request. > > Regards, > René This might or might not be related, but, I'm having trouble with the iwn firmware crashing. I also have a clang built kernel (and userland) buildwith CPUTYPE=core2. My iwn device is iwn0: <Intel(R) Wireless WiFi Link 4965> mem 0xe4000000-0xe4001fff irq 17 at device 0.0 on pci16 and the firmware gives the following output when it dies. iwn0: iwn_intr: fatal firmware error firmware error log: error type = "NMI_INTERRUPT_WDG" (0x00000004) program counter = 0x0000046C source line = 0x000000D0 error data = 0x0000000207430000 branch link = 0x00008370000004C2 interrupt link = 0x000006DA000018B8 time = 1052095 driver status: tx ring 0: qid=0 cur=246 queued=0 tx ring 1: qid=1 cur=0 queued=0 tx ring 2: qid=2 cur=0 queued=0 tx ring 3: qid=3 cur=13 queued=0 tx ring 4: qid=4 cur=183 queued=0 tx ring 5: qid=5 cur=0 queued=0 tx ring 6: qid=6 cur=0 queued=0 tx ring 7: qid=7 cur=0 queued=0 tx ring 8: qid=8 cur=0 queued=0 tx ring 9: qid=9 cur=0 queued=0 tx ring 10: qid=10 cur=0 queued=0 tx ring 11: qid=11 cur=0 queued=0 tx ring 12: qid=12 cur=0 queued=0 tx ring 13: qid=13 cur=0 queued=0 tx ring 14: qid=14 cur=0 queued=0 tx ring 15: qid=15 cur=0 queued=0 rx ring: cur=38 The only way to restore the firmware is to reboot the computer. Regards! -- Niclas Zeising
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E8F0A47.1010408>