Skip site navigation (1)Skip section navigation (2)
Date:      25 Dec 1999 20:45:34 +0100
From:      Assar Westerlund <assar@sics.se>
To:        Bill Paul <wpaul@skynet.ctr.columbia.edu>
Cc:        bugs@freebsd.org
Subject:   Re: kern/15689: gdb on core-dump does not work on current-19991225
Message-ID:  <5logbe6bz5.fsf@assaris.sics.se>
In-Reply-To: Bill Paul's message of "Sat, 25 Dec 1999 14:45:14 -0500 (EST)"
References:  <199912251945.OAA16864@skynet.ctr.columbia.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
Bill Paul <wpaul@skynet.ctr.columbia.edu> writes:
> > >Environment:
> > 
> > i386 running 4.0-19991225-CURRENT
> 
> *smack!* Not enough information! What hardware do you have! Show us
> the output of dmesg on this machine!

output from dmesg:

----------------------------------------------------------------------
Copyright (c) 1992-1999 The FreeBSD Project.
Copyright (c) 1982, 1986, 1989, 1991, 1993
	The Regents of the University of California. All rights reserved.
FreeBSD 4.0-19991225-CURRENT #0: Sat Dec 25 19:08:41 CET 1999
    root@hunahpu.sics.se:/usr/src/sys/compile/HUNAHPU
Timecounter "i8254"  frequency 1193182 Hz
CPU: Pentium Pro (199.31-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x617  Stepping = 7
  Features=0xfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV>
real memory  = 134217728 (131072K bytes)
config> di lnc0
No such device: lnc0
Invalid command or syntax.  Type `?' for help.
config> di le0
No such device: le0
Invalid command or syntax.  Type `?' for help.
config> di ie0
No such device: ie0
Invalid command or syntax.  Type `?' for help.
config> di fe0
No such device: fe0
Invalid command or syntax.  Type `?' for help.
config> di ex0
config> di ed0
config> di cs0
No such device: cs0
Invalid command or syntax.  Type `?' for help.
config> q
avail memory = 126816256 (123844K bytes)
Programming 24 pins in IOAPIC #0
FreeBSD/SMP: Multiprocessor motherboard
 cpu0 (BSP): apic id:  1, version: 0x00040011, at 0xfee00000
 cpu1 (AP):  apic id:  0, version: 0x00040011, at 0xfee00000
 io0 (APIC): apic id:  2, version: 0x00170011, at 0xfec00000
Preloaded elf kernel "kernel" at 0xc0339000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc033909c.
Pentium Pro MTRR support enabled
md0: Malloc disk
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
isab0: <Intel 82371SB PCI to ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
ata-pci0: <Intel PIIX3 ATA controller> at device 7.1 on pci0
ata-pci0: Busmastering DMA supported
ata0 at 0x01f0 irq 14 on ata-pci0
vga-pci0: <S3 968 graphics accelerator> irq 2 at device 12.0 on pci0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
ata-isa0: already registered as ata0
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x6f on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
vga0: <Generic ISA VGA> at port 0x3b0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> on isa0
sc0: VGA <16 virtual consoles, flags=0x200>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
sio2: not probed (disabled)
sio3: not probed (disabled)
ppc0 at port 0x378-0x37f irq 7 flags 0x40 on isa0
ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode
plip0: <PLIP network interface> on ppbus 0
lpt0: <generic printer> on ppbus 0
lpt0: Interrupt-driven port
ppi0: <generic parallel i/o> on ppbus 0
ed0: not probed (disabled)
ex0: not probed (disabled)
ep0: <3Com 3C509-Combo EtherLink III> at port 0x300-0x30f irq 9 on isa0
ep0: Ethernet address 00:a0:24:77:5d:eb
ep0: supplying EUI64: 00:a0:24:ff:fe:77:5d:eb
APIC_IO: Testing 8254 interrupt delivery
APIC_IO: routing 8254 via pin 2
SMP: AP CPU #1 Launched!
ad0: <IBM-DSOA-20810/A91C53> ATA-3 disk at ata0 as master
ad0: 775MB (1587600 sectors), 1575 cyls, 16 heads, 63 S/T, 512 B/S
ad0: 16 secs/int, 1 depth queue, DMA
Mounting root from ufs:/dev/ad0s1a
WARNING: / was not properly dismounted
ep0: starting DAD for fe80:0002::02a0:24ff:fe77:5deb
ep0: DAD complete for fe80:0002::02a0:24ff:fe77:5deb - no duplicates found
----------------------------------------------------------------------

and here's my kernel configuration file:

----------------------------------------------------------------------
#
# HUNAHPU- based on GENERIC -- Generic machine with WD/AHx/NCR/BTx family disks
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
#    http://www.freebsd.org/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (http://www.FreeBSD.ORG/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ./LINT configuration file. If you are
# in doubt as to the purpose or necessity of a line, check first in LINT.
#
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.219 1999/12/23 05:32:53 wpaul Exp $

machine		i386
cpu		I686_CPU
ident		HUNAHPU
maxusers	32

makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols

options 	INET			#InterNETworking
options 	INET6			#IPv6 communications protocols
options 	FFS			#Berkeley Fast Filesystem
options 	FFS_ROOT		#FFS usable as root device [keep this!]
options 	MFS			#Memory Filesystem
options 	MD_ROOT			#MD is a potential root device
options 	NFS			#Network Filesystem
options 	NFS_ROOT		#NFS usable as root device, "NFS" req'ed
options 	MSDOSFS			#MSDOS Filesystem
options 	CD9660			#ISO 9660 Filesystem
options 	CD9660_ROOT		#CD-ROM usable as root. "CD9660" req'ed
options 	PROCFS			#Process filesystem
options 	COMPAT_43		#Compatible with BSD 4.3 [KEEP THIS!]
options 	SCSI_DELAY=15000	#Be pessimistic about Joe SCSI device
options 	UCONSOLE		#Allow users to grab the console
options 	USERCONFIG		#boot -c editor
options 	VISUAL_USERCONFIG	#visual boot -c editor
options 	KTRACE			#ktrace(1) syscall trace support
options 	SYSVSHM			#SYSV-style shared memory
options 	SYSVMSG			#SYSV-style message queues
options 	SYSVSEM			#SYSV-style semaphores

# To make an SMP kernel, the next two are needed
options 	SMP			# Symmetric MultiProcessor Kernel
options 	APIC_IO			# Symmetric (APIC) I/O
# Optionally these may need tweaked, (defaults shown):
#options 	NCPU=2			# number of CPUs
#options 	NBUS=4			# number of busses
#options 	NAPIC=1			# number of IO APICs
#options 	NINTR=24		# number of INTs

controller	isa0
controller	eisa0
controller	pci0

# Floppy drives
controller	fdc0	at isa? port IO_FD1 irq 6 drq 2
device		fd0	at fdc0 drive 0
device		fd1	at fdc0 drive 1

# ATA and ATAPI devices
controller	ata0	at isa? port IO_WD1 irq 14
controller	ata1	at isa? port IO_WD2 irq 15
controller	ata2
device		atadisk0	# ATA disk drives
device		atapicd0	# ATAPI CDROM drives
device		atapifd0	# ATAPI floppy drives
device		atapist0	# ATAPI tape drives
options 	ATA_STATIC_ID		#Static device numbering
#options 	ATA_ENABLE_ATAPI_DMA	#Enable DMA on ATAPI devices

# SCSI Controllers
# A single entry for any of these controllers (ahb, ahc, amd, ncr, etc...) is
# sufficient for any number of installed devices.
#controller	ahb0		# EISA AHA1742 family
#controller	ahc0		# AHA2940 and onboard AIC7xxx devices
#controller	amd0		# AMD 53C974 (Teckram DC-390(T))
#controller	dpt0		# DPT Smartcache - See LINT for options!
#controller	isp0		# Qlogic family
#controller	ncr0		# NCR/Symbios Logic
#controller	sym0		# NCR/Symbios Logic (newer chipsets)
#
#controller	adv0	at isa? port ? irq ?
#controller	adw0
#controller	bt0	at isa? port ? irq ?
#controller	aha0	at isa? port ? irq ?
#controller	aic0	at isa? port ? irq ?

# SCSI peripherals
# Only one of each of these is needed, they are dynamically allocated.
#controller	scbus0		# SCSI bus (required)
#device		da0		# Direct Access (disks)
#device		sa0		# Sequential Access (tape etc)
#device		cd0		# CD
#device		pass0		# Passthrough device (direct SCSI access)

# RAID controllers
#device		amr0		# AMI MegaRAID
#device		mlx0		# Mylex DAC960 family

# atkbdc0 controls both the keyboard and the PS/2 mouse
controller	atkbdc0	at isa? port IO_KBD
device		atkbd0	at atkbdc? irq 1
device		psm0	at atkbdc? irq 12

device		vga0	at isa? port ? conflicts

# splash screen/screen saver
pseudo-device	splash

# syscons is the default console driver, resembling an SCO console
device		sc0	at isa?

# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device		vt0	at isa?
#options 	XSERVER			# support for X server
#options 	FAT_CURSOR		# start with block cursor
# If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines
#options 	PCVT_SCANSET=2		# IBM keyboards are non-std

# Floating point support - do not disable.
device		npx0	at nexus? port IO_NPX irq 13

# Power management support (see LINT for more options)
device		apm0    at nexus? disable flags 0x20 # Advanced Power Management

# PCCARD (PCMCIA) support
#controller	card0
#device		pcic0	at isa?
#device		pcic1	at isa?

# Serial (COM) ports
device		sio0	at isa? port IO_COM1 flags 0x10 irq 4
device		sio1	at isa? port IO_COM2 irq 3
device		sio2	at isa? disable port IO_COM3 irq 5
device		sio3	at isa? disable port IO_COM4 irq 9

# Parallel port
device		ppc0	at isa? port? flags 0x40 irq 7
controller	ppbus0		# Parallel port bus (required)
device		lpt0		# Printer
device		plip0		# TCP/IP over parallel
device		ppi0		# Parallel port interface device
#controller	vpo0		# Requires scbus and da0


# PCI Ethernet NICs.
device		de0		# DEC/Intel DC21x4x (``Tulip'')
device		fxp0		# Intel EtherExpress PRO/100B (82557, 82558)
device		tx0		# SMC 9432TX (83c170 ``EPIC'')
device		vx0		# 3Com 3c590, 3c595 (``Vortex'')

# PCI Ethernet NICs that use the common MII bus controller code.
controller	miibus0		# MII bus support
device		dc0		# DEC/Intel 21143 and various workalikes
device		rl0		# RealTek 8129/8139
device		sf0		# Adaptec AIC-6915 (``Starfire'')
device		sis0		# Silicon Integrated Systems SiS 900/SiS 7016
device		ste0		# Sundance ST201 (D-Link DFE-550TX)
device		tl0		# Texas Instruments ThunderLAN
device		vr0		# VIA Rhine, Rhine II
device		wb0		# Winbond W89C840F
device		xl0		# 3Com 3c90x (``Boomerang'', ``Cyclone'')

# ISA Ethernet NICs.
device		ed0	at isa? port 0x280 irq 10 iomem 0xd8000
device		ex0	at isa? port? irq?
# NOTE: This removes the isa attachment so that the pccard unit numbers
# come out right.
device		ep0
# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
# exists only as a PCMCIA device, so there is no ISA attatement needed
# and resources will always be dynamically assigned by the pccard code.
#device		wi0
# The probe order of these is presently determined by i386/isa/isa_compat.c.
#device		ie0	at isa? port 0x300 irq 10 iomem 0xd0000
#device		fe0	at isa? port 0x300 irq ?
#device		le0	at isa? port 0x300 irq 5 iomem 0xd0000
#device		lnc0	at isa? port 0x280 irq 10 drq 0
#device		cs0	at isa? port 0x300 irq ?
#device		sn0	at isa? port 0x300 irq 10
# requires PCCARD (PCMCIA) support to be activated
#device		xe0	at isa? port? irq ?

# Pseudo devices - the number indicates how many units to allocated.
pseudo-device	loop		# Network loopback
pseudo-device	ether		# Ethernet support
pseudo-device	sl	1	# Kernel SLIP
pseudo-device	ppp	1	# Kernel PPP
pseudo-device	tun		# Packet tunnel.
pseudo-device	pty		# Pseudo-ttys (telnet etc)
pseudo-device	md		# Memory "disks"

# The `bpf' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
pseudo-device	bpf		#Berkeley packet filter

# USB support
#controller	uhci0		# UHCI PCI->USB interface
#controller	ohci0		# OHCI PCI->USB interface
#controller	usb0		# USB Bus (required)
#device		ugen0		# Generic
#device		uhid0		# "Human Interface Devices"
#device		ukbd0		# Keyboard
#device		ulpt0		# Printer
#controller	umass0		# Disks/Mass storage - Requires scbus and da0
#device		ums0		# Mouse

#####################################################################
# DEBUGGING OPTIONS

#
# Enable the kernel debugger.
#
options 	DDB

#
# Don't drop into DDB for a panic. Intended for unattended operation
# where you may want to drop to DDB from the console, but still want
# the machine to recover from a panic
#
options 	DDB_UNATTENDED

#
# If using GDB remote mode to debug the kernel, there's a non-standard
# extension to the remote protocol that can be used to use the serial
# port as both the debugging port and the system console.  It's non-
# standard and you're on your own if you enable it.  See also the
# "remotechat" variables in the FreeBSD specific version of gdb.
#
options 	GDB_REMOTE_CHAT

#
# KTRACE enables the system-call tracing facility ktrace(2).
#
options 	KTRACE			#kernel tracing

#
# The INVARIANTS option is used in a number of source files to enable
# extra sanity checking of internal structures.  This support is not
# enabled by default because of the extra time it would take to check
# for these conditions, which can only occur as a result of
# programming errors.
#
options 	INVARIANTS

#
# The INVARIANT_SUPPORT option makes us compile in support for
# verifying some of the internal structures.  It is a prerequisite for
# 'INVARIANTS', as enabling 'INVARIANTS' will make these functions be
# called.  The intent is that you can set 'INVARIANTS' for single
# source files (by changing the source file or specifying it on the
# command line) if you have 'INVARIANT_SUPPORT' enabled.
#
options 	INVARIANT_SUPPORT

#
# The DIAGNOSTIC option is used to enable extra debugging information
# from some parts of the kernel.  As this makes everything more noisy,
# it is disabled by default.
#
options 	DIAGNOSTIC

#####################################################################
# DEBUGGING OPTIONS

#
# Enable the kernel debugger.
#
options 	DDB

#
# Don't drop into DDB for a panic. Intended for unattended operation
# where you may want to drop to DDB from the console, but still want
# the machine to recover from a panic
#
options 	DDB_UNATTENDED

#
# If using GDB remote mode to debug the kernel, there's a non-standard
# extension to the remote protocol that can be used to use the serial
# port as both the debugging port and the system console.  It's non-
# standard and you're on your own if you enable it.  See also the
# "remotechat" variables in the FreeBSD specific version of gdb.
#
options 	GDB_REMOTE_CHAT

#
# KTRACE enables the system-call tracing facility ktrace(2).
#
options 	KTRACE			#kernel tracing

#
# The INVARIANTS option is used in a number of source files to enable
# extra sanity checking of internal structures.  This support is not
# enabled by default because of the extra time it would take to check
# for these conditions, which can only occur as a result of
# programming errors.
#
options 	INVARIANTS

#
# The INVARIANT_SUPPORT option makes us compile in support for
# verifying some of the internal structures.  It is a prerequisite for
# 'INVARIANTS', as enabling 'INVARIANTS' will make these functions be
# called.  The intent is that you can set 'INVARIANTS' for single
# source files (by changing the source file or specifying it on the
# command line) if you have 'INVARIANT_SUPPORT' enabled.
#
options 	INVARIANT_SUPPORT

#
# The DIAGNOSTIC option is used to enable extra debugging information
# from some parts of the kernel.  As this makes everything more noisy,
# it is disabled by default.
#
options 	DIAGNOSTIC

----------------------------------------------------------------------

> > >Description:
> > 
> > Running gdb on a crash-dump produces this:
> > 
> > (kgdb) exec-file kernel.6
> > (kgdb) core-file vmcore.6
> 
> Show us exactly what command you typed. Yes, that's important too.

I typed gdb -k kernel.debug and then here's my complete emacs buffer
with the GDB session:

----------------------------------------------------------------------
Current directory is /sys/compile/HUNAHPU/
GNU gdb 4.18
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"...
(kgdb) pwd
Working directory /usr/src/sys/compile/HUNAHPU.
(kgdb) cd /var/crash
Working directory /var/crash
 (canonically /usr/crash).
(kgdb) shell ls 
bounds		kernel.6	minfree		vmcore.6
(kgdb) exec-file kernel.6
(kgdb) core-file vmcore.6
SMP -1072279740 cpus
IdlePTD 0
initial pcb at 2d3500
panic messages:
---
dmesg: kvm_read: invalid address (c02ca214)
---
cannot read proc pointer at ff800004

(kgdb) bt
#0  0x0 in ?? ()
(kgdb) 
----------------------------------------------------------------------

Do you need more information?  If so, tell me what.

/assar


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




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