[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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?

Index: i386/i386/fpu.c
RCS file: /cvsroot/hurd/gnumach/i386/i386/fpu.c,v
retrieving revision
diff -u -p -r1.2.4.11 fpu.c
--- i386/i386/fpu.c	8 May 2007 20:48:13 -0000
+++ 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 */

Reply to: