Since kernel 2.6.22.1-27.fc7 (x86 SMP) this test fails because the abort(), which should never be reached is triggered in funit-breakpoints: // Generating a trap event ourselves, simulating "bad code". Setup // a sigsetjump so we can handle it and return from this function // safely when the signal handler uses longjmp. On some // architectures the PC isn't incremented on invallid/trapping // instructions. So this makes sure we skip it when we return. if (sigsetjmp (env, 1) == 0) { send_trap++; #if defined(__i386__) || defined(__x86_64__) asm("int3"); #elif defined(__powerpc64__) || defined(__powerpc__) asm(".long 0x7d821008"); #else #error unsuported architecture #endif abort(); // Should never be reached. This is most likely related to and depends on a real fix for handling signals during stepping outlined in bug #4747 (int3 is a somewhat difficult case though, that probably should be handled independently by special casing since it generates a SIGTRAP which isn't a rt signal, so it doesn't queue multiple and you will only get one). 1) testSteppingtestHitAndRun(frysk.proc.TestBreakpoints)java.lang.NullPointerException at java.lang.Integer.parseInt(libgcj.so.8rh) at java.lang.Integer.decode(libgcj.so.8rh) at frysk.proc.TestBreakpoints$GoAround.run(TestRunner) 2) testSteppingtestInsertRemove(frysk.proc.TestBreakpoints)java.lang.NullPointerException at java.lang.Integer.parseInt(libgcj.so.8rh) at java.lang.Integer.decode(libgcj.so.8rh) at frysk.proc.TestBreakpoints$GoAround.run(TestRunner) 3) testSteppingAddLots(frysk.proc.TestBreakpoints)java.lang.NullPointerException at java.lang.Integer.parseInt(libgcj.so.8rh) at java.lang.Integer.decode(libgcj.so.8rh) at frysk.proc.TestBreakpoints$GoAround.run(TestRunner)
Marked the following test as unresolved() for now: frysk.proc.TestBreakpoints.testSteppingtestHitAndRun frysk.proc.TestBreakpoints.testSteppingtestInsertRemove frysk.proc.TestBreakpoints.testSteppingAddLots
Signal handling and stepping works correctly now. But on x86 kernels you will hit bug #6044. commit f3f9eddf68ae48f414d20539f4ed80d897a36c14 Author: Mark Wielaard <mwielaard@redhat.com> Date: Thu Apr 17 18:27:24 2008 +0200 All TestBreakpoint tests should now PASS (except on broken x86 kernels). frysk-core/frysk/proc/ChangeLog 2008-04-17 Mark Wielaard <mwielaard@redhat.com> * TestBreakpoints.java (testSteppingtestHitAndRun): No longer unresolved because of bug #4847, but make unresolvedOnIA32 because of bug #6044. (testSteppingtestInsertRemove): Likewise. (testSteppingAddLots): Likewise. *** This bug has been marked as a duplicate of 6044 ***