Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Feb 2003 14:29:26 -0500
From:      Mike Tancsa <mike@sentex.net>
To:        Dag-Erling Smorgrav <des@ofug.org>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: debugging a repeating panic that does not produce a dump
Message-ID:  <5.2.0.9.0.20030217135903.064d7378@marble.sentex.ca>
In-Reply-To: <xzpptpq4u8f.fsf@flood.ping.uio.no>
References:  <5.2.0.9.0.20030217091242.05b184b0@marble.sentex.ca> <5.2.0.9.0.20030217091242.05b184b0@marble.sentex.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
At 07:50 PM 17/02/2003 +0100, Dag-Erling Smorgrav wrote:
>Mike Tancsa <mike@sentex.net> writes:
> > I am seeing a repeatable panic with a 4.x SMP machine (not when in uni
> > mode). It never produces a crash dump, but always panics when periodic
> > runs.
>
>Hmm, it doesn't even seem to *try* to dump...  are you sure you have
>configured a dump device?

Arrrrrrggggh... There was a typo on /etc/rc.conf :-(

dumpdev="/dev/twed0s1b"         # Device name to crashdump to (or NO).
dumpdir="/var/crash"    # Directory where crash dumps are to be stored
istead of the correct

/dev/twed0b

I have corrected that and did a

ns4# dumpon -v /dev/twed0b
dumpon: crash dumps to /dev/twed0b (147, 1)
ns4#


> > instruction pointer     = 0x8:0xc0174830
>
>This is the address of the instruction which caused the fault.  You
>can run nm(1) on your kernel to find out where in the kernel that is,
>e.g.:
>
># nm /kernel | grep \^c0174 | sort


ns4# nm /kernel | grep \^c0174 | sort
c0174034 t switch_timecounter
c01740c4 t sync_other_counter
c0174130 t tco_forward
c0174278 t sysctl_kern_timecounter_hardware
c0174310 T pps_ioctl
c01743fc T pps_init
c0174420 T pps_event
c0174578 T devsw
c017459c T cdevsw_add
c01746c4 T cdevsw_remove
c017471c T major
c017473c T minor
c017475c T lminor
c0174788 T makebdev
c01747d4 T makedev
c01748f4 T freedev
c0174980 T dev2udev
c017499c T udev2dev
c0174a00 T uminor
c0174a0c T umajor
c0174a18 T makeudev
c0174a28 T make_dev
c0174a68 T destroy_dev
c0174a90 T devtoname
c0174b2c T getdtablesize
c0174b54 T dup2
c0174bf4 T dup
c0174c4c T fcntl
ns4#

Does this actually show the location ?
ns4# gdb -k kernel.debug
GNU gdb 4.18 (FreeBSD)
Copyright 1998 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-unknown-freebsd"...Deprecated bfd_read 
called at 
/usr/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb/gdb/dbxread.c 
line 2627 in elfstab_build_psymtabs
Deprecated bfd_read called at 
/usr/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb/gdb/dbxread.c 
line 933 in fill_symbuf

(kgdb) list *0xc0174830
0xc0174830 is in makedev (/usr/src/sys/kern/kern_conf.c:208).
203             if (x == umajor(NOUDEV) && y == uminor(NOUDEV))
204                     Debugger("makedev of NOUDEV");
205             udev = (x << 8) | y;
206             hash = udev % DEVT_HASH;
207             LIST_FOREACH(si, &dev_hash[hash], si_hash) {
208                     if (si->si_udev == udev)
209                             return (si);
210             }
211             if (stashed >= DEVT_STASH) {
212                     MALLOC(si, struct specinfo *, sizeof(*si), M_DEVT,
(kgdb)


>this should give you a list of maybe a dozen symbols; the one you want
>is the last one in the list that has a lower address than c0174830.
>
>How do you build your kernels - 'make buildkernel' or manually?

Always make buildkernel. I have a debug kernel built as well 
(makeoptions     DEBUG=-g)

Thanks for responding. Your above comment was what was needed to triple 
check my rc.conf and correct the typo :(

         ---Mike 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




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