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>
index | next in thread | previous in thread | raw e-mail
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
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5logbe6bz5.fsf>
