Bug#447036: gnumach: panic: fp_intr: already caught intr
Uh, odd: with qemu, the program just fails. Natively, it loops getting
SIGFPEs and not making progress. With Xen, I was getting another panic
which was because Xen doesn't provide the interrupt, it's now fixed and
behaves like native. The mileage probably vary according to the CPU...
Could you add a printf in the SIGFPE handle in the program to see
whether it gets called?
Could you also try whether the attached patch helps?
RCS file: /cvsroot/hurd/gnumach/i386/i386/fpu.c,v
retrieving revision 18.104.22.168
diff -u -p -r22.214.171.124 fpu.c
--- i386/i386/fpu.c 8 May 2007 20:48:13 -0000 126.96.36.199
+++ i386/i386/fpu.c 17 Oct 2007 23:32:28 -0000
@@ -674,7 +674,7 @@ ASSERT_IPL(SPL1);
/* leave fp_intr_thread THREAD_NULL */
- if (fp_intr_thread != THREAD_NULL)
+ if (fp_intr_thread != THREAD_NULL && fp_intr_thread != thread)
panic("fp_intr: already caught intr");
fp_intr_thread = thread;
#endif /* NCPUS == 1 */