Hi all ! My last running kernel is from 03/05/2009, I can't get a working kernel since then, because it panics soon after the boot process (or even while booting), whenever my laptop start networking. The panic seems to be related to IGMPv3 interrupts. The pointer given to m_freem() seems... abnormal ;) But I don't know how to debug this. Anyway, it may be related to the IGMPv3 merge on 03/09/2009 at rev r189592. Here is the kgdb output with a kernel compiled today from latest current, I hope this helps, and I'm at your disposition if more infos are required to solve this problem. :) Thanks ! [root_at_Korriban ~] # kgdb /boot/kernel.noop/kernel /usr/crash/vmcore.0 GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "amd64-marcel-freebsd"... Unread portion of the kernel message buffer: Fatal trap 9: general protection fault while in kernel mode cpuid = 0; apic id = 00 instruction pointer = 0x8:0xffffffff803ae495 stack pointer = 0x10:0xfffffffe40035ad0 frame pointer = 0x10:0xfffffffe40035af0 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 (swi1: net) panic: from debugger cpuid = 0 Uptime: 2m51s Physical memory: 2027 MB Dumping 146 MB: 131 115 99 83 67 51 35 19 3 #0 doadump () at pcpu.h:215 215 pcpu.h: No such file or directory. in pcpu.h (kgdb) bt #0 doadump () at pcpu.h:215 #1 0xffffffff803583f2 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:420 #2 0xffffffff803588a0 in panic (fmt=Variable "fmt" is not available. ) at /usr/src/sys/kern/kern_shutdown.c:576 #3 0xffffffff801dadc7 in db_panic (addr=Variable "addr" is not available. ) at /usr/src/sys/ddb/db_command.c:478 #4 0xffffffff801db251 in db_command (last_cmdp=0xffffffff8080c6a0, cmd_table=Variable "cmd_table" is not available. ) at /usr/src/sys/ddb/db_command.c:445 #5 0xffffffff801db499 in db_command_loop () at /usr/src/sys/ddb/db_command.c:498 #6 0xffffffff801dd2f7 in db_trap (type=Variable "type" is not available. ) at /usr/src/sys/ddb/db_main.c:229 #7 0xffffffff80384662 in kdb_trap (type=9, code=0, tf=0xfffffffe40035a20) at /usr/src/sys/kern/subr_kdb.c:534 #8 0xffffffff805b0e0d in trap_fatal (frame=0xfffffffe40035a20, eva=Variable "eva" is not available. ) at /usr/src/sys/amd64/amd64/trap.c:745 #9 0xffffffff805b1855 in trap (frame=0xfffffffe40035a20) at /usr/src/sys/amd64/amd64/trap.c:551 #10 0xffffffff8058f2be in calltrap () at /usr/src/sys/amd64/amd64/exception.S:217 #11 0xffffffff803ae495 in m_freem (mb=0xdeadc0dedeadc0de) at /usr/src/sys/kern/uipc_mbuf.c:163 #10 0xffffffff8058f2be in calltrap () at /usr/src/sys/amd64/amd64/exception.S:217 #11 0xffffffff803ae495 in m_freem (mb=0xdeadc0dedeadc0de) at /usr/src/sys/kern/uipc_mbuf.c:163 #12 0xffffffff80434e4c in igmp_intr (m=Variable "m" is not available. ) at /usr/src/sys/netinet/igmp.c:3454 #13 0xffffffff803fd942 in swi_net (dummy=0xffffff0004211400) at /usr/src/sys/net/netisr.c:145 #14 0xffffffff8033a195 in intr_event_execute_handlers (p=Variable "p" is not available. ) at /usr/src/sys/kern/kern_intr.c:1134 #15 0xffffffff8033ad89 in ithread_loop (arg=0xffffff0001319820) at /usr/src/sys/kern/kern_intr.c:1147 #16 0xffffffff8033819a in fork_exit (callout=0xffffffff8033acdb <ithread_loop>, arg=0xffffff0001319820, frame=0xfffffffe40035c80) at /usr/src/sys/kern/kern_fork.c:821 #17 0xffffffff8058f69e in fork_trampoline () at /usr/src/sys/amd64/amd64/exception.S:553 #18 0x0000000000000000 in ?? () #19 0x0000000000000000 in ?? () #20 0x0000000000000001 in ?? () #21 0x0000000000000000 in ?? () #22 0x0000000000000000 in ?? () #23 0x0000000000000000 in ?? () #24 0x0000000000000000 in ?? () #25 0x0000000000000000 in ?? () #26 0x0000000000000000 in ?? () #27 0x0000000000000000 in ?? () #28 0x0000000000000000 in ?? () #29 0x0000000000000000 in ?? () #30 0x0000000000000000 in ?? () #31 0x0000000000000000 in ?? () #32 0x0000000000000000 in ?? () #33 0x0000000000000000 in ?? () #34 0x0000000000000000 in ?? () #35 0x0000000000000000 in ?? () #36 0x0000000000000000 in ?? () #37 0x0000000000000000 in ?? () #38 0x0000000000000000 in ?? () #39 0x0000000000000000 in ?? () #40 0x0000000000000000 in ?? () #41 0x0000000000000000 in ?? () #42 0x0000000000ba2000 in ?? () #43 0x0000000000000109 in ?? () #44 0xffffffff8082dcc0 in affinity () #45 0xffffffff8082dcc0 in affinity () #46 0x0000000000000000 in ?? () #47 0xfffffffe40035b80 in ?? () #48 0xfffffffe40035b38 in ?? () #49 0xffffff000132d000 in ?? () #50 0xffffffff80378a99 in sched_switch (td=0xffffff0001319820, newtd=Variable "newtd" is not available. ) at /usr/src/sys/kern/sched_ule.c:1867 Previous frame inner to this frame (corrupt stack?) (kgdb) frame 11 #11 0xffffffff803ae495 in m_freem (mb=0xdeadc0dedeadc0de) at /usr/src/sys/kern/uipc_mbuf.c:163 163 while (mb != NULL) (kgdb) list 158 */ 159 void 160 m_freem(struct mbuf *mb) 161 { 162 163 while (mb != NULL) 164 mb = m_free(mb); 165 } 166 167 /*- (kgdb) frame 12 #12 0xffffffff80434e4c in igmp_intr (m=Variable "m" is not available. ) at /usr/src/sys/netinet/igmp.c:3454 3454 m_freem(m0); (kgdb) list 3449 mac_netinet_igmp_send(ifp, m0); 3450 #endif 3451 error = ip_output(m0, ipopts, NULL, 0, &imo, NULL); 3452 if (error) { 3453 CTR3(KTR_IGMPV3, "%s: ip_output(%p) = %d", __func__, m0, error); 3454 m_freem(m0); 3455 goto out; 3456 } 3457 3458 ++V_igmpstat.igps_snd_reports; (kgdb) frame 13 #13 0xffffffff803fd942 in swi_net (dummy=0xffffff0004211400) at /usr/src/sys/net/netisr.c:145 145 ni->ni_handler(m); (kgdb) list 140 141 for (;;) { 142 IF_DEQUEUE(ni->ni_queue, m); 143 if (m == NULL) 144 break; 145 ni->ni_handler(m); 146 } 147 } 148 149 /* (kgdb)
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:44 UTC