Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Oct 2007 01:17:38 +0200
From:      Kris Kennaway <kris@FreeBSD.org>
To:        Doug Poland <doug@polands.org>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: Fatal trap 12 on 7.0-BETA1 i386
Message-ID:  <471FD292.7070800@FreeBSD.org>
In-Reply-To: <471FA648.7020407@polands.org>
References:  <471FA648.7020407@polands.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Doug Poland wrote:
> Hello,
> 
> I just had a kernel panic using BETA1.  According to the Developer 
> Handbook Kernel Debugging, I'm supplying the following information in 
> hopes that it is useful.  Please note:  I'm not familiar with this 
> process so you need more data, just ask:
> 
>  kgdb kernel.debug /var/crash/vmcore.0
> [GDB will not be able to debug user-mode threads: 
> /usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]
> 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 "i386-marcel-freebsd".
> 
> Unread portion of the kernel message buffer:
> 
> 
> Fatal trap 12: page fault while in kernel mode
> cpuid = 1; apic id = 01
> fault virtual address   = 0x9006004
> fault code              = supervisor read, page not present
> instruction pointer     = 0x20:0xc079c961
> stack pointer           = 0x28:0xe74a7bcc
> frame pointer           = 0x28:0xe74a7be0
> code segment            = base 0x0, limit 0xfffff, type 0x1b
>                         = DPL 0, pres 1, def32 1, gran 1
> processor eflags        = interrupt enabled, resume, IOPL = 0
> current process         = 46 (ath0 taskq)
> trap number             = 12
> panic: page fault
> cpuid = 1
> Uptime: 4h9m30s
> Physical memory: 3435 MB
> Dumping 214 MB: ...
> 
> #0  doadump () at pcpu.h:195
> 195             __asm __volatile("movl %%fs:0,%0" : "=r" (td));
> (kgdb) list *0xc079c961
> 0xc079c961 is in mb_free_ext (/usr/src/sys/kern/uipc_mbuf.c:226).
> 221              * check if the header is embedded in the cluster
> 222              */
> 223             skipmbuf = (m->m_flags & M_NOFREE);
> 224
> 225             /* Free attached storage if this mbuf is the only 
> reference to it. */
> 226             if (*(m->m_ext.ref_cnt) == 1 ||
> 227                 atomic_fetchadd_int(m->m_ext.ref_cnt, -1) == 1) {
> 228                     switch (m->m_ext.ext_type) {
> 229                     case EXT_PACKET:        /* The packet zone is 
> special. */
> 230                             if (*(m->m_ext.ref_cnt) == 0)

Almost :)

What does 'bt' show in kgdb?

Kris




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?471FD292.7070800>