After moving my old laptop around I got home, booted it and got a very distressing message:
messages.2.gz:Jun 14 22:40:09 hopek /bsd: acpitz2: Critical temperature 4938C (52112K), shutting down Perhaps some dust moved around, or a cable disconnected. Unfortunately, the system shut down before it booted. I booted bsd.rd, read some manpages and booted with -c 'disable acpitz' - everything worked fine. I attach a diff to only shutdown if the temperature is below 2000C. If it's above then it's too late to shut down anyway :) BTW, for no apparent reason my laptop started working fine again. Index: acpitz.c =================================================================== RCS file: /cvs/src/sys/dev/acpi/acpitz.c,v retrieving revision 1.43 diff -u -r1.43 acpitz.c --- acpitz.c 15 Jun 2011 00:15:54 -0000 1.43 +++ acpitz.c 16 Jun 2011 15:09:14 -0000 @@ -326,11 +326,17 @@ } /* critical trip points */ if (sc->sc_crt != -1 && sc->sc_crt <= sc->sc_tmp) { - /* do critical shutdown */ - printf("%s: critical temperature exceeded %dC (%dK), shutting " - "down\n", - DEVNAME(sc), KTOC(sc->sc_tmp), sc->sc_tmp); - psignal(initproc, SIGUSR2); + if (KTOC(sc->sc_tmp) > 2000) { + printf("%s: absurdly high temperature %dC (%dK), " + "doing nothing\n", + DEVNAME(sc), KTOC(sc->sc_tmp), sc->sc_tmp); + } else { + /* do critical shutdown */ + printf("%s: critical temperature exceeded %dC (%dK), " + "shutting down\n", + DEVNAME(sc), KTOC(sc->sc_tmp), sc->sc_tmp); + psignal(initproc, SIGUSR2); + } } if (sc->sc_hot != -1 && sc->sc_hot <= sc->sc_tmp) { printf("%s: _HOT temperature\n", DEVNAME(sc)); -- Michal Mazurek