Bug 267691 - FreeBSD 13 and newer panic on boot on Pentium Pro system
Summary: FreeBSD 13 and newer panic on boot on Pentium Pro system
Status: Closed Not Enough Information
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: CURRENT
Hardware: i386 Any
: --- Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords: crash, needs-qa
Depends on:
Blocks:
 
Reported: 2022-11-10 13:21 UTC by hannula
Modified: 2022-11-15 09:57 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description hannula 2022-11-10 13:21:49 UTC
The system has no problems booting latest 12.4, no errors, HW is working perfectly after all these years, tested with memtest86.

But booting 13 or CURRENT results in a crash after loading crypto, always with the same Address 0x3446ff003446ff MCA:

crypto: <crypto core>
MCA: Bank 2, Status 0xb600000000140001
MCA: Global Cap 0x0000000000000005, Status 0x0000000000000004
MCA: Vendor "GenuineIntel", ID 0x619, APIC ID 0 
MCA: CPU 0 UNCOR EN PCC unclassified error
MCA: Address 0x3446ff003446ff
panic: Unrecoverable machine check exception 
cpuid = 0
time = 1
KDB: stack backtrace:
#0 0x107540f at kdb_backtrace+0x4f
#1 0x102da3e at vpanic+0xlle
#2 0x102d914 at panic+0x14
#3 0xl3d7ef8 at mca_intr+0xa8
#4 0x141dbd7 at trap+0x237
#5 0xffc0319f at _end+0xfde379cf
#6 0x28 at 11+0x7

Booting from FreeBSD-14.0-CURRENT-i386-20221103-5cc5c9254da-259005-mini-memstick.img gives a more detailed report:

MCA: Address 0x3446ff003446ff
panic: Unrecoverable machine check exception
cpuid = 0
time = 1
KDB: stack backtrace:
db_trace_self_wrapper(0,1d906a0,0,8086,0,...) at db_trace_self_wrapper+0x28/fram
e 0x22f9a24
vpanic(1553304,22f9a60,22f9a60,22f9a70,13cc948,...) at vpanic+0xf4/frame 0x22f9a
40
panic(1553304,d906a0,22f9b3c,22fa000,1c,...) at panic+0x14/frame 0x22f9a54
mca_intr(1e28d78,8,14a05da,215,1d9033c,...) at mca_intr+0xa8/frame 0x22f9a70
trap(22f9b3c,8,28,28,40,...) at trap+0x14e/frame 0x22f9b30
calltrap() at 0xffc0321f/frame 0x22f9b30
--- trap 0xlc, eip = 0x12c129d, esp = 0x22f9b7c, ebp = 0x22f9bcc ---
zone_import(3c12c80,3c4540c,7d,0,2,...) at zone_import+0x2fd/frame 0x22f9bcc
cache_alloc(0,2) at cache_alloc+0x36e/frame 0x22f9c2c
cache_alloc_retry(0,2,1c) at cache_alloc_retry+0x18/frame 0x22f9c4c
uma_zalloc_arg(3c12c80,0,2) at uma_zalloc_arg+0xfa/frame 0x22f9c6c
malloc(44,1acef28,2) at malloc+0x6b/frame 0x22f9c8c
sysctl_add_oid(0,3df8080,ffffffff,14aa195,8004000f,3c13918,0,0,1007fb0,1518df1,1
4a0506,0) at sysctl_add_oid+0x1ab/frame 0x22f9cac
zone_alloc_sysctl(2300000,0,22f9d38,f8d144,0,...) at zone_alloc_sysctl+0x2f2/fra
me 0x22f9d04
uma_startup3(0) at uma_startup3+0x59/frame 0x22f9d14
mi_startup() at mi_startup+0x214/frame 0x22f9d38
btext() at btext+0x5f
KDB: enter: panic
[ thread pid 0 tid 100000 ]
Stopped at kdb_enter+0x34: movl $0,kdb_why
db> 

As I have no serial console this was OCR from screenshot, I hope I got all the mistakes corrected.
Comment 1 hannula 2022-11-10 14:28:25 UTC
Looks like I hit a bug that jhb tried to fix in 2012:
https://lists.freebsd.org/pipermail/freebsd-current/2012-February/031879.html

But what is strange is that FreeBSD 12 works perfectly on the system, no "hw.mca.enabled=0" needed.

Furthermore when setting hw.mca.enabled=0 the boot now continues further but crashes with:
ahc_isa_identify 14: ioport 0xec00 alloc failed
pnp_identify: Trying Read_Port at 203 
pnp_identify: Trying Read_Port at 243 
pnp_identify: Trying Read_Port at 283 
pnp_identify: Trying Read_Port at 2c3 
pnp_identify: Trying Read_Port at 303 
pnp_identify: Trying Read_Port at 343 
pnp_identify: Trying Read_Port at 383 
pnp_identify: Trying Read_Port at 3c3 
PHIP Identify complete
pnpbios: 13 devices, largest 98 bytes
panic: isa_set_pnpbios_handle failed for (null) on bus isa0, error = 2
cpuid = 0
time = 1
KDB: stack backtrace:
db_trace_self_wrapper(0,1d906a0,0,b8dde80,2,...) at db_trace_self_wrapper+0x28/f 
rame 0x22f9c10
vpanic(155e5ec,22f9c4c,22f9c4c,22f9cc4,13ec318,...) at vpanic+0xf4/frame 0x22f9c 
2c
panic(155e5ec,147a78d,8,b8e0870,2,...) at panic+0x14/frame 0x22f9c40 
pnpbios_identify(1b1b9fc,b8de680) at pnpbios_identify+0x648/frame 0x22f9cc4 
bus_generic_probe(b8de680) at bus_generic_probe+0x25/frame 0x22f9ce0 
isa_probe_children(b8de680) at isa_probe_children+0x12/frame 0x22f9d08 
configure(8) at configure+0x17/frame 0x22f9d14
mi_startup() at mi_startup+0x214/frame 0x22f9d38 
btext() at btext+0x5f
KDB: enter: panic
[ thread pid 0 tid 100000 ]
Stopped at    kdb_enter+0x34: movl $8,kdb_why
db>

Why I am reporting this - FreeBSD 13 switched i386 to 686/P6 meaning Pentium Pro should be the minimum supported system. I have no real world use case for the machine.
Comment 2 hannula 2022-11-10 14:41:48 UTC
The last comment applies for FreeBSD-14.0-CURRENT-i386-20221103-5cc5c9254da-259005-mini-memstick.img.

FreeBSD 13.1 works on the machine when booting with "hw.mca.enabled=0".

So this is 2 bugs now in a single bug report:
* 13+ needs "hw.mca.enabled=0"
* CURRENT panics with: isa_set_pnpbios_handle failed for (null) on bus isa0, error = 2
Comment 3 Graham Perrin freebsd_committer freebsd_triage 2022-11-10 22:33:22 UTC
(In reply to hannula from comment #2)

> 2 bugs now in a single bug report:

For things to be more easily tracked and actionable: have separate reports, with distinctive summary lines and other details. 

Also, please note the tiering for i386: <https://www.freebsd.org/platforms/>. 

Thanks
Comment 4 hannula 2022-11-15 09:57:30 UTC
I will close this ticket and think about opening 2 new tickets with more details.