Subject: port-mac68k/35068: 68030 Macintoshes panic at reboot
To: None <port-mac68k-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>
List: netbsd-bugs
Date: 11/17/2006 21:00:01
>Number: 35068
>Category: port-mac68k
>Synopsis: 68030 Macintoshes panic at reboot
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: port-mac68k-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Nov 17 21:00:00 +0000 2006
>Originator: Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>
>Release: NetBSD 3.1_RC4 + 4.99.3
>Organization:
Falling Raindrops
>Environment:
System: NetBSD quiche 3.1_RC4 NetBSD 3.1_RC4 (GENERICSBC) #0: Thu Oct 19 19:34:55 CEST 2006 hf@Hochstuhl:/var/obj/netbsd-builds/3/mac68k/sys/arch/mac68k/compile/GENERICSBC mac68k
Architecture: m68k
Machine: mac68k
>Description:
Shutting down a 68030 Macintosh results in a kernel panic
before reboot:
[hauke@quiche] ~ >
System shutdown time has arrived
About to run shutdown hooks...
Stopping cron.
Stopping inetd.
Waiting for PIDS: 508.
Fri Nov 17 20:27:48 CET 2006
Done running shutdown hooks.
Nov 17 20:27:57 quiche syslogd: Exiting on signal 15
syncing disks... done
unmounting file systems... done
The operating system has halted.
Please press any key to reboot.
rebooting...
uvm_fault(0x268120, 0x3000, 0, 0x2) -> 0xe
type 8, code [mmu,,ssw]: 802070d
trap type 8, code = 0x802070d, v = 0x3af0
kernel program counter = 0x13ff028
kernel: MMU fault trap
pid = 617, lid = 1, pc = 013FF028, ps = 2714, sfc = 1, dfc = 1
Registers:
0 1 2 3 4 5 6 7
dreg: 00000808 00000000 00796FB4 0084E4D0 00000200 00000000 00000000 00000000
areg: 013FF000 40800000 00141F76 00003AF0 FFFFBEF0 0062AB80 00796E74 FFFFBEEC
Kernel stack (013FF6E4):
3FF6E4: 001F3AAC 013FF760 00000080 00796FB4 0084E4D0 00000200 00000000 00000000
3FF704: 00000000 00141F76 00003AF0 FFFFBEF0 0062AB80 0085F004 00000001 00000000
3FF724: 00000000 00000000 00000001 00000000 00000000 00000008 00000000 00000000
3FF744: 00000000 4A47D87D 00796E74 00003090 00000008 0802070D 00003AF0 00000808
3FF764: 00000000 00796FB4 0084E4D0 00000200 00000000 00000000 00000000 013FF000
3FF784: 40800000 00141F76 00003AF0 FFFFBEF0 0062AB80 00796E74 FFFFBEEC 00000000
3FF7A4: 2714013F F028B008 0EEE070D 43E90090 00003AF0 00003AF0 00000000 F0134000
3FF7C4: 013FF030 013FF02E 013FF02C FFFFFFFF 4000FF0D 0002F24C 00000000 58032668
3FF7E4: 00004000 00000000 20200000 013FF016 00020000 00000000 00003AF0 25251900
3FF804: 4A8F8F00 6AFC0900 00FDFD8D 82208220 01822082 208220FE 20802080 2080208D
3FF824: FC090000 FDFD8D84 20A4A001 95208020 F1E08020 9520A4A0 84208DFC 090000FD
3FF844: FD8D8020 80200180 20802080 20802080 20802080 208DFF09 00008383 00000000
3FF864: 1FC01040 107C1044 10441044 1FC40404 10040404 0407FC00 00000423 A89F6572
3FF884: 00120901 000004F6 00020000 0002CFBD 00574445 460D1910 B0980E1C 180C6E09
3FF8A4: 056E0000 BA0C6EC0 00056B00 00B02055 2F100C78 3FFF2B02 8E53EEB0 62341400
3FF8C4: B80A806F AA190A9C AA1A3727 0F1C4F48 6F11AA42 544F1B1D 5101EC64 28C52D50
panic: MMU fault
Stopped in pid 617.1 (halt) at netbsd:cpu_Debugger+0x6: unlk a6
db> t
cpu_Debugger(8022700,8,13ff760,13ff74c,1f3acc) + 6
db> ps
PID PPID PGRP UID S FLAGS LWPS COMMAND WAIT
>617 1 622 100 2 0x4102 1 halt
254 0 0 0 2 0x20200 1 nfsio nfsidl
264 0 0 0 2 0x20200 1 nfsio nfsidl
207 0 0 0 2 0x20200 1 nfsio nfsidl
221 0 0 0 2 0x20200 1 nfsio nfsidl
5 0 0 0 2 0x20200 1 aiodoned aiodone
4 0 0 0 2 0x20200 1 ioflush
3 0 0 0 2 0x20200 1 pagedaemon pgdaemo
2 0 0 0 2 0x20200 1 scsibus0 sccomp
1 0 1 0 2 0x4000 1 init wait
0 -1 0 0 2 0x20200 1 swapper schedul
db> x/i 013FF0210
0x13ff010: orib #-0x16,a3@-
0x13ff014: bneb <emul_netbsd_aoutm68k_object+0x117c612> [addr:0x13ff022 ]
0x13ff016: movq #0,d0
0x13ff018: movc d0,cacr
0x13ff01c: movc d0,tc
0x13ff020: brab <emul_netbsd_aoutm68k_object+0x117c61c> [addr:0x13ff02c ]
0x13ff022: movl #0,a3@
0x13ff028: pmovl a3@,tc
0x13ff02c: lea a1@(0x90),a1
0x13ff030: jmp a1@
db> [-- hauke@localhost detached -- Fri Nov 17 20:32:05 2006]
There have been several confirmations for other '030 Macs on
port-mac68k, and I can reproduce it with a 2006-10 NetBSD 4.99.3
kernel.
>How-To-Repeat:
Issue a 'shutdown -h now', then hit the 'Any' key to initate a
reboot.
>Fix:
According to the above disassembler listing, the panic happens
in locore.s::doboot(), around the instruction to disable the
PMMU. This may indicate a messed-up memory mapping. But,
quoting the late Richard Rauch, "I probably don't know what
I'm talking about."
>Unformatted: