Re: sparc64 traps during probe (r293243)

From: Mark Cave-Ayland <mark.cave-ayland_at_ilande.co.uk>
Date: Fri, 8 Jan 2016 16:57:58 +0000
On 08/01/16 15:42, Kurt Lidl wrote:

> I recently updated a sparc64 V120 from r291993
> to r293243, and it now traps during the
> autoconfiguration phase of the kernel boot:
> 
> Hit [Enter] to boot immediately, or any other key for command prompt.
> Booting [/boot/kernel/kernel]...
> jumping to kernel entry at 0xc00b0000.
> GDB: no debug ports present
> KDB: debugger backends: ddb
> KDB: current backend: ddb
> Copyright (c) 1992-2016 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 is a registered trademark of The FreeBSD Foundation.
> FreeBSD 11.0-CURRENT #4 r293243M: Thu Jan  7 13:50:04 EST 2016
>     lidl_at_ton.pix.net:/usr/obj/usr/src/sys/GENERIC sparc64
> gcc version 4.2.1 20070831 patched [FreeBSD]
> WARNING: WITNESS option enabled, expect reduced performance.
> VT: init without driver.
> real memory  = 2147483648 (2048 MB)
> avail memory = 2063785984 (1968 MB)
> cpu0: Sun Microsystems UltraSparc-IIe Processor (648.00 MHz CPU)
> 
> [...]
> 
> da0 at sym0 bus 0 scbus2 target 0 lun 0
> da0: <FUJITSU MAP3367NC 5605> Fixed Direct Access SCSI-3 device
> da0: Serial Number UPL3P310365J
> da0: 80.000MB/s transfers (40.000MHz, offset 31, 16bit)
> da0: Command Queueing enabled
> da0: 34732MB (71132959 512 byte sectors)
> cd0 at ata2 bus 0 scbus0 target 0 lun 0
> cd0: <TEAC DV-28E-B 1.2B> Removable CD-ROM SCSI device
> cd0: 33.300MB/s transfers (UDMA2, ATAPI 12bytes, PIO 65534bytes)
> cd0: 393MB (201600 2048 byte sectors)
> da1 at sym0 bus 0 scbus2 target 1 lun 0
> da1: <FUJITSU MAP3367NC 5605> Fixed Direct Access SCSI-3 device
> da1: Serial Number UPL3P3506STC
> da1: 80.000MB/s transfers (40.000MHz, offset 31, 16bit)
> da1: Command Queueing enabled
> da1: 34732MB (71132959 512 byte sectors)
> WARNING: WITNESS option enabled, expect reduced performance.
> Trying to mount root from zfs:sys/ROOT/default []...
> GEOM_MIRROR: Device mirror/gswap launched (2/2).
> [ thread pid 1 tid 100002 ]
> Stopped at      tl0_utrap+0x20: ldx             [%l0 + %l1], %l0
> db> bt
> Tracing pid 1 tid 100002 td 0xfffff800016164d0
> KDB: reentering
> KDB: stack backtrace:
> kdb_reenter() at kdb_reenter+0x5c
> trap() at trap+0x2fc
> -- data access exception sfar=0xfffffcf821ca0218 sfsr=0x41029
> %o7=0xc06165e8 --
> sched_clock() at sched_clock+0x94
> statclock_cnt() at statclock_cnt+0x1c0
> handleevents() at handleevents+0x138
> timercb() at timercb+0x410
> tick_intr() at tick_intr+0x220
> -- interrupt level=0xe pil=0 %o7=0xc09c6c20 --
> -- kernel stack fault %o7=0xc00b1288 --
> db_read_bytes() at db_read_bytes+0x44
> KDB: reentering
> KDB: stack backtrace:
> kdb_reenter() at kdb_reenter+0x5c
> trap() at trap+0x2fc
> -- kernel stack fault %o7=0xc011f8f0 --
> db_read_bytes() at db_read_bytes+0x44
> KDB: reentering
> KDB: stack backtrace:
> kdb_reenter() at kdb_reenter+0x5c
> trap() at trap+0x2fc
> 
> And then the stack backtrace just keeps repeating.

This looks amazingly similar to what I get trying to boot FreeBSD under
QEMU, i.e. pointing at sched_clock():


Booting [/boot/kernel/kernel]...
jumping to kernel entry at 0xc00b0000.
GDB: no debug ports present
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2015 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 is a registered trademark of The FreeBSD Foundation.
FreeBSD 11.0-CURRENT #0 1eb7424(master): Thu Sep 24 06:41:18 BST 2015

mca_at_freebsd:/usr/home/mca/obj/sparc64.sparc64/usr/home/mca/src/sys/GENERIC
sparc64
gcc version 4.2.1 20070831 patched [FreeBSD]
WARNING: WITNESS option enabled, expect reduced performance.
VT: init without driver.
real memory  = 134217728 (128 MB)
avail memory = 98312192 (93 MB)
cpu0: Sun Microsystems UltraSparc-IIi Processor (100.00 MHz CPU)
random: entropy device external interface
kbd0 at kbdmux0
nexus0: <Open Firmware Nexus device>
nexus0: <builtin>: incomplete
pcib0: <U2P UPA-PCI bridge> mem 0x1fe00000000-0x1fe01ffffff irq
2032,2030,2031,2021 on nexus0
pcib0: Sabre, impl 0, version 0, IGN 0x1f, bus A, 33MHz
pcib0: DVMA map: 0xc0000000 to 0xc3ffffff 8192 entries
pcib0: [GIANT-LOCKED]
pci0: <OFW PCI bus> on pcib0
pcib1: <APB PCI-PCI bridge> at device 1.0 on pci0
pci1: <OFW PCI bus> on pcib1
pcib2: <APB PCI-PCI bridge> at device 1.1 on pci0
pci2: <OFW PCI bus> on pcib2
ebus0: <PCI-EBus2 bridge> port 0x4000-0x7fff mem 0x3000000-0x3ffffff at
device 3.0 on pci0
vgapci0: <VGA-compatible display> mem
0x1000000-0x1ffffff,0x2000000-0x2000fff at device 2.0 on pci0
vgapci0: Boot video device
eeprom0: <EEPROM/clock> addr 0x1400002000-0x1400003fff on ebus0
eeprom0: model mk48t59
ebus0: <fdthree> addr 0 (no driver attached)
uart0: <16550 or compatible> addr 0x14000003f8-0x14000003ff irq 43 on ebus0
uart0: console (9600,n,8,1)
ebus0: <kb_ps2> addr 0x1400000060-0x1400000067 (no driver attached)
pci0: <network, ethernet> at device 4.0 (no driver attached)
atapci0: <SiI (CMD) 646U2 UDMA33 controller> port
0x8100-0x8107,0x8180-0x8183,0x8200-0x8207,0x8280-0x8283,0x8300-0x830f at
device 5.0 on pci0
ata2: <ATA channel> at channel 0 on atapci0
ata3: <ATA channel> at channel 1 on atapci0
cryptosoft0: <software crypto> on nexus0
nexus0: <syscons> type unknown (no driver attached)
Timecounter "tick" frequency 100000000 Hz quality 1000
Event timer "tick" frequency 100000000 Hz quality 1000
Timecounters tick every 1.000 msec
IPsec: Initialized Security Association Processing.
cd0 at ata3 bus 0 scbus1 target 0 lun 0
cd0: <QEMU QEMU DVD-ROM 2.5+> Removable CD-ROM SCSI device
cd0: Serial Number QM00003
cd0: 33.300MB/s transfers (UDMA2, ATAPI 12bytes, PIO 65534bytes)
cd0: cd present [250560 x 2048 byte records]
WARNING: WITNESS option enabled, expect reduced performance.
Trying to mount root from cd9660:/dev/iso9660/TEST [ro]...
[ thread pid 1 tid 100002 ]
Stopped at      tl1_trap+0x24:  stx             %o0, [%sp + 0x997]
db> bt
Tracing pid 1 tid 100002 td 0xfffff800015e84d0
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc05743e0 --
sched_clock() at sched_clock+0x94
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
db_read_bytes() at db_read_bytes+0x44
KDB: reentering
KDB: stack backtrace:
kdb_reenter() at kdb_reenter+0x5c
trap() at trap+0x2fc
-- kernel stack fault %o7=0xc011a050 --
panic: longjmp botch
cpuid = -1012475520
KDB: stack backtrace:
Uptime: 3s


Note also the "longjmp botch" error right at the end. This is with the
sun4u timer fix patch developed with help from Marius which has recently
been applied to QEMU git master. So maybe this is a kernel bug after all?


ATB,

Mark.
Received on Fri Jan 08 2016 - 16:15:13 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:02 UTC