Hyperthreading crashes
Mikulas Patocka
mikulas at artax.karlin.mff.cuni.cz
Sat Dec 13 13:56:30 PST 2003
> Hi
>
> I use FreeBSD-4.9-RC1 on a machine with hyperthreading (it seems that
> hyperthreading support was ripped out of final 4.9 release --- why?)
>
> I get random SIGBUSes when compiling (once I got SIGSEGV too). When I
> compile only with make -j 1, I get no errors. Is it known problem with
> FreeBSD? Or does it mean that the machine is bad?
>
> How can I find what's the reason for particular SIGBUS signal --- what did
> the program wrong?
I found that it is caused by bogus aligment exceptions, when i modified
the kernel this way, it works (and programs don't crash):
Does anybody have a clue why this happens?
--- ../sys-49/i386/i386/trap.c Thu Feb 27 19:09:59 2003
+++ i386/i386/trap.c Sat Dec 13 22:33:48 2003
@@ -290,6 +290,11 @@
type = frame.tf_trapno;
code = frame.tf_err;
+ if (type == T_ALIGNFLT) {
+ printf("Bogus alignment check exception!\n");
+ return;
+ }
+
if (in_vm86call) {
if (frame.tf_eflags & PSL_VM &&
(type == T_PROTFLT || type == T_STKFLT)) {
Mikulas
More information about the freebsd-smp
mailing list