Hello! I've recently "rediscovered" a computer that I'd been using as a Linux fileserver a few years ago. Since it's hardware is considerably better than the even older machine I'm using now as an OpenBSD fileserver, I tried if I could make it run.
In principle, everything works fine, to some extent much smoother than on Linux (especially getting the sensors to work back then was a true nightmare, and I eventually gave up in defeat -- on OpenBSD, they just work). However, if I do `shutdown -h -p` (thus power off), I get a kernel panic; specifically, "AML PARSE ERROR" (see below). This only happens when doing '-p' is involved somehow; rebooting works, and just '-h' without '-p' does, too. I've done some research, and it turns out that the motherboard seems to a particularly buggy ACPI tables. And just as well, if I disable ACPI, the kernel panic vanishes. However, the machine doesn't get turned off as well, so it's not really a victory. All this was done using 4.6 release, as this was a few months ago. Before I do any further research or experiments with that machine, I just wanted to ask if I'd have any chances to work against this problems. As far as I understood from some ancient NetBSD mailinglist threads, in theory it should be possible to somehow do something such that the kernel loads patched ACPI tables which have those particular bugs corrected. So, if this would be possible on OpenBSD, I knew that I should spend some more time on this, without it being wasted. The motherboard in question is a Tyan Tiger S2466 dual-Athon multiprocessor board, with both processor sockets filled. As already said, not the most recent of mainboard imaginable, so I don't think that trying 4.7 would be much difference, especially as it seems that the bug is in the BIOS, not in OpenBSD. If anyone has a pointer---a "no, it won't work" would be more than helpful, too---, I'd be grateful. If I could get that thing to work again, my poor student's budget would be saved yet another expense. ;o) Regards, Stefan Here is the kernel panic that I've recorded from the machine. Unfortunately, I've lost the dmesg that I thought I had prepared; if there _is_ a chance to make this work, I'll post it as soon as I again have some floor space to set it up again. | syscing disks... done | ### AML PARSE ERROR (0x455): Undefined name: IO2B | multiply freed item 0xd1d62b00 | panic: free: duplicated free | Stopped at Debugger+0x4: leave | | ddb{0}> trace | Debugger(d0825e18,8,dc247d60,d1d62b00,21) at Debugger+0x4 | panic(d0717761,d1d62b00,dc247de0,d06ce12b,40) at panic+0x55 | free(d1d62b00,21,3f9,0) at free+0x40 | aml_freevalue(d1d62c44,d0817227,75d) at aml_freevalue+0xdb | aml_xpopscope(d1d62c44,54,d0817578,d1c06504,dc247eac) at aml_xpopscope+0x81 | aml_xeval(0,d1c06504,74,1,dc247e78,dc247e72,dc247e90,d04c8555) at aml_xeval+0x13f | aml_evalnode(d1bfec00,d1c06544,1,dc247e78,0,1,dc247ea0,d06c90c7) at aml_evalnode+0x57 | acpi_prepare_sleep_state(d1bfec00,5,dc247f00,d04ab607) at acpi_prepare_sleep_state+0xfa | acpi_powerdown(d0944b60,d6a62420,dc247f20,d035f7f8,1008) at acpi_powerdown+0x22 | boot(1009,0,0,0,d0824a34) at boot+0x190 | __stack_smash_handler(d6a62420,dc247f68,dc247f58,d6a62420) at __stack_smash_handler | syscall() at syscall+0x12b | --- syscall (number 55) --- | 0x1c000a59: | | ddb{0}> ps | PID PPID PGRP UID S FLAGS WAIT COMMAND | *11147 1 11147 0 7 0x42004000 halt | 15 0 0 0 3 0x2100200 bored crypto | 14 0 0 0 3 0x2100200 aiodoned aiodonec | 13 0 0 0 3 0x2100200 syncer update | 12 0 0 0 3 0x2100200 cleaner cleaner | 11 0 0 0 3 0x100200 reaper reaper | 10 0 0 0 3 0x2100200 pgdaemon pagedaemon | 9 0 0 0 3 0x2100200 pftm pfpurge | 8 0 0 0 3 0x2100200 usbtsk usbtask | 7 0 0 0 3 0x2100200 usbevt usb0 | 6 0 0 0 3 0x2100200 acpi_idle acpi0 | 5 0 0 0 7 0x40100200 idle1 | 4 0 0 0 3 0x2100200 bored syswq | 3 0 0 0 3 0x40100200 idle0 | 2 0 0 0 3 0x2100200 kmalloc kmthread | 1 0 1 0 3 0x2004080 wait init | 0 -1 0 0 3 0x2080200 scheduler swapper