From nobody@FreeBSD.org  Thu Apr  4 11:13:51 2002
Return-Path: <nobody@FreeBSD.org>
Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21])
	by hub.freebsd.org (Postfix) with ESMTP id ED12737B41B
	for <freebsd-gnats-submit@FreeBSD.org>; Thu,  4 Apr 2002 11:13:50 -0800 (PST)
Received: (from nobody@localhost)
	by freefall.freebsd.org (8.11.6/8.11.6) id g34JDo923305;
	Thu, 4 Apr 2002 11:13:50 -0800 (PST)
	(envelope-from nobody)
Message-Id: <200204041913.g34JDo923305@freefall.freebsd.org>
Date: Thu, 4 Apr 2002 11:13:50 -0800 (PST)
From: Gary Thorpe <gat7634@hotmail.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: Symbol problems dependant on boot method, affects user utilities
X-Send-Pr-Version: www-1.0

>Number:         36761
>Category:       i386
>Synopsis:       Symbol problems dependant on boot method, affects user utilities
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Apr 04 11:20:01 PST 2002
>Closed-Date:    Sun Jul 13 00:44:28 PDT 2003
>Last-Modified:  Sun Jul 13 00:44:28 PDT 2003
>Originator:     Gary Thorpe
>Release:        4.2
>Organization:
>Environment:
[dmesg output is included in description, forgot to get uname -a :-(]
>Description:
Booting the kernel using the second stage bootstrap instead of the third stage loader causes symbols to become hidden from some user programs.

Specific symbol problems:

swapinfo: undefined symbol: _numvnodes [when swapinfo is run]
systat: nlist: can't find following symbols: _ccpu ;_fscale [when systat is run]
top: nlist failed [when top is run]
vmstat: undefined symbols:
 _kmemstatistics _bucket _zlist [when vmstat is run]

dmesg output when booted using loader:

Copyright (c) 1992-2000 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 4.2-RELEASE #7: Mon Sep  3 18:42:50 PDT 2001
    gthorpe@elf.elven.org:/usr/src/sys/compile/ELF
Timecounter "i8254"  frequency 1193182 Hz
CPU: Pentium II/Pentium II Xeon/Celeron (266.62-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x652  Stepping = 2
  Features=0x183f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR>
real memory  = 100597760 (98240K bytes)
avail memory = 94867456 (92644K bytes)
Preloaded elf kernel "kernel" at 0xc02f0000.
Pentium Pro MTRR support enabled
apm0: <APM BIOS> on motherboard
apm: found APM BIOS v1.2, connected at v1.2
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Intel 82443BX host to PCI bridge (AGP disabled)> on motherboard
pci0: <PCI bus> on pcib0
pcic-pci0: <Toshiba ToPIC97 PCI-CardBus Bridge> at device 2.0 on pci0
pcic-pci1: <Toshiba ToPIC97 PCI-CardBus Bridge> at device 2.1 on pci0
pci0: <Chips & Technologies 65555 SVGA controller> at 4.0
isab0: <Intel 82371AB PCI to ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 ATA33 controller> port 0xfe60-0xfe6f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
pci0: <Intel 82371AB/EB (PIIX4) USB controller> at 7.2 irq 11
intpm0: <Intel 82371AB Power management controller> port 0xfe70-0xfe7f irq 9 at device 7.3 on pci0
intpm0: I/O mapped fe70
intpm0: intr IRQ 9 enabled revision 0
smbus0: <System Management Bus> on intsmb0
smb0: <SMBus general purpose I/O> on smbus0
intpm0: PM I/O mapped fe00 
chip1: <Toshiba Fast Infra Red controller> port 0xff80-0xff9f irq 11 at device 10.0 on pci0
fdc0: <NEC 765 or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model GlidePoint, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
pcic0: <Intel i82365> at port 0x3e0 iomem 0xd0000 on isa0
pcic0: Polling mode
pccard0: <PC Card bus -- kludge version> on pcic0
pccard1: <PC Card bus -- kludge version> on pcic0
sio0 at port 0x3f8-0x3ff irq 4 flags 0x20010 on isa0
sio0: type ST16650A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 drq 3 on isa0
ppc0: Generic chipset (ECP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
plip0: <PLIP network interface> on ppbus0
ppi0: <Parallel I/O> on ppbus0
unknown: <PNP0000> can't assign resources
unknown: <PNP0303> can't assign resources
unknown: <PNP0f13> can't assign resources
unknown: <PNP0c02> can't assign resources
unknown: <PNP0700> can't assign resources
unknown: <PNP0501> can't assign resources
unknown: <PNP0401> can't assign resources
unknown: <PNP0e03> can't assign resources
pcm0: <Yamaha OPL-SAx> at port 0x220-0x233,0x530-0x537,0x388-0x38f,0x330-0x333,0x538-0x539 irq 5 drq 1,0 on isa0
ata1-slave: ata_command: timeout waiting for intr
ata1-slave: identify failed
ad0: 4126MB <TOSHIBA MK4310MAT> [8944/15/63] at ata0-master UDMA33
acd0: CDROM <CD-224E> at ata1-master using WDMA2
Mounting root from ufs:/dev/ad0s2a

dmesg output when booted from second stage bootstrap:

Copyright (c) 1992-2000 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 4.2-RELEASE #7: Mon Sep  3 18:42:50 PDT 2001
    gthorpe@elf.elven.org:/usr/src/sys/compile/ELF
Timecounter "i8254"  frequency 1193182 Hz
CPU: Pentium II/Pentium II Xeon/Celeron (266.62-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x652  Stepping = 2
  Features=0x183f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR>
real memory  = 100597760 (98240K bytes)
avail memory = 94871552 (92648K bytes)
Pentium Pro MTRR support enabled
apm0: <APM BIOS> on motherboard
apm: found APM BIOS v1.2, connected at v1.2
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Intel 82443BX host to PCI bridge (AGP disabled)> on motherboard
pci0: <PCI bus> on pcib0
pcic-pci0: <Toshiba ToPIC97 PCI-CardBus Bridge> at device 2.0 on pci0
pcic-pci1: <Toshiba ToPIC97 PCI-CardBus Bridge> at device 2.1 on pci0
pci0: <Chips & Technologies 65555 SVGA controller> at 4.0
isab0: <Intel 82371AB PCI to ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 ATA33 controller> port 0xfe60-0xfe6f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
pci0: <Intel 82371AB/EB (PIIX4) USB controller> at 7.2 irq 11
intpm0: <Intel 82371AB Power management controller> port 0xfe70-0xfe7f irq 9 at device 7.3 on pci0
intpm0: I/O mapped fe70
intpm0: intr IRQ 9 enabled revision 0
smbus0: <System Management Bus> on intsmb0
smb0: <SMBus general purpose I/O> on smbus0
intpm0: PM I/O mapped fe00 
chip1: <Toshiba Fast Infra Red controller> port 0xff80-0xff9f irq 11 at device 10.0 on pci0
fdc0: <NEC 765 or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model GlidePoint, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
pcic0: <Intel i82365> at port 0x3e0 iomem 0xd0000 on isa0
pcic0: Polling mode
pccard0: <PC Card bus -- kludge version> on pcic0
pccard1: <PC Card bus -- kludge version> on pcic0
sio0 at port 0x3f8-0x3ff irq 4 flags 0x20010 on isa0
sio0: type ST16650A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 drq 3 on isa0
ppc0: Generic chipset (ECP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
plip0: <PLIP network interface> on ppbus0
ppi0: <Parallel I/O> on ppbus0
unknown: <PNP0000> can't assign resources
unknown: <PNP0303> can't assign resources
unknown: <PNP0f13> can't assign resources
unknown: <PNP0c02> can't assign resources
unknown: <PNP0700> can't assign resources
unknown: <PNP0501> can't assign resources
unknown: <PNP0401> can't assign resources
unknown: <PNP0e03> can't assign resources
pcm0: <Yamaha OPL-SAx> at port 0x220-0x233,0x530-0x537,0x388-0x38f,0x330-0x333,0x538-0x539 irq 5 drq 1,0 on isa0
ata1-slave: ata_command: timeout waiting for intr
ata1-slave: identify failed
ad0: 4126MB <TOSHIBA MK4310MAT> [8944/15/63] at ata0-master UDMA33
acd0: CDROM <CD-224E> at ata1-master using WDMA2
Mounting root from ufs:ad0s2a


>How-To-Repeat:
When the second stage loader pauses, hit any key except enter. Then type 0:ad(0,a)/kernel (which replaces 0:ad(0,a)/boot/loader) and hit enter. This boots the kernel directly instead of using the third stage loader.
>Fix:
Use the third stage loader (but there is no REASON why booting the kernel diffeently should result in symbol problems!).
>Release-Note:
>Audit-Trail:

From: Bruce Evans <bde@zeta.org.au>
To: Gary Thorpe <gat7634@hotmail.com>
Cc: freebsd-gnats-submit@FreeBSD.ORG
Subject: Re: i386/36761: Symbol problems dependant on boot method, affects
 user utilities
Date: Fri, 5 Apr 2002 23:08:48 +1000 (EST)

 On Thu, 4 Apr 2002, Gary Thorpe wrote:
 
 > >Description:
 > Booting the kernel using the second stage bootstrap instead of the third stage loader causes symbols to become hidden from some user programs.
 >
 > Specific symbol problems:
 >
 > swapinfo: undefined symbol: _numvnodes [when swapinfo is run]
 > systat: nlist: can't find following symbols: _ccpu ;_fscale [when systat is run]
 > top: nlist failed [when top is run]
 > vmstat: undefined symbols:
 >  _kmemstatistics _bucket _zlist [when vmstat is run]
 
 This is essentially a duplicate of PR 17422.
 
 > >How-To-Repeat:
 > When the second stage loader pauses, hit any key except enter. Then type 0:ad(0,a)/kernel (which replaces 0:ad(0,a)/boot/loader) and hit enter. This boots the kernel directly instead of using the third stage loader.
 > >Fix:
 > Use the third stage loader (but there is no REASON why booting the kernel diffeently should result in symbol problems!).
 
 The might be a good reason (the second stage loader might not know how to
 load all the symbols), but actually there are only the bad reasons that the
 second stage loader doesn't know how to module metadata table, and the
 kernel doesn't know what to do when there is no such table.  The followup
 to PR 17422 contains a quick fix.  I use a current version of this most of
 the time.
 
 This problem has mostly gone away for userland utilities in -current,
 because the data behind the symbols is fetched using sysctl(3).  The
 main effect of the bug is now that the kernel debugger can't find
 static synbols.
 
 Bruce
 
State-Changed-From-To: open->closed 
State-Changed-By: kris 
State-Changed-When: Sun Jul 13 00:44:13 PDT 2003 
State-Changed-Why:  
Duplicate of 17422 

http://www.freebsd.org/cgi/query-pr.cgi?pr=36761 
>Unformatted:
