From owner-freebsd-hackers Mon Feb 17 11:24:43 2003 Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 62CC737B401 for ; Mon, 17 Feb 2003 11:24:40 -0800 (PST) Received: from lava.sentex.ca (pyroxene.sentex.ca [199.212.134.18]) by mx1.FreeBSD.org (Postfix) with ESMTP id 86CAB43FB1 for ; Mon, 17 Feb 2003 11:24:39 -0800 (PST) (envelope-from mike@sentex.net) Received: from simian.sentex.net (simeon.sentex.ca [192.168.43.27]) by lava.sentex.ca (8.12.6/8.12.6) with ESMTP id h1HJOc2T019080; Mon, 17 Feb 2003 14:24:39 -0500 (EST) (envelope-from mike@sentex.net) Message-Id: <5.2.0.9.0.20030217135903.064d7378@marble.sentex.ca> X-Sender: mdtpop@marble.sentex.ca (Unverified) X-Mailer: QUALCOMM Windows Eudora Version 5.2.0.9 Date: Mon, 17 Feb 2003 14:29:26 -0500 To: Dag-Erling Smorgrav From: Mike Tancsa Subject: Re: debugging a repeating panic that does not produce a dump Cc: freebsd-hackers@freebsd.org In-Reply-To: References: <5.2.0.9.0.20030217091242.05b184b0@marble.sentex.ca> <5.2.0.9.0.20030217091242.05b184b0@marble.sentex.ca> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-Virus-Scanned: By Sentex Communications (lava/20020517) Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG At 07:50 PM 17/02/2003 +0100, Dag-Erling Smorgrav wrote: >Mike Tancsa 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