Test description: Debugger forces debuggee start test thread which in infinite loop call method which should be inlined. Debugger obtains ThreadReference for test thread, suspend it and call forceEarlyReturn() and also debugger checks that MethodExitEvent is generated for interrupted method. When debugger receives MethodExitEvent event it try to print event data, but MethodExitEvent.location().lineNumber() throws InternalError and MethodExitEvent.location().codeIndex() returns strange negative value. Bug isn't reproducible on sparc machines. Test output: debuggee out>>>Command received: StartTestThread Method testMethod Code index -1045171372 Unexpected exception: java.lang.InternalError: Location with invalid code index at com.sun.tools.jdi.ConcreteMethodImpl.codeIndexToLineInfo(ConcreteMethodImpl.java:167) at com.sun.tools.jdi.LocationImpl.getBaseLineInfo(LocationImpl.java:108) at com.sun.tools.jdi.LocationImpl.getLineInfo(LocationImpl.java:122) at com.sun.tools.jdi.LocationImpl.lineNumber(LocationImpl.java:199) at com.sun.tools.jdi.LocationImpl.lineNumber(LocationImpl.java:195) at com.sun.tools.jdi.LocationImpl.lineNumber(LocationImpl.java:191) at MethodExitEventTest.main(MethodExitEventTest.java:359) debuggee out>>>Command received: QUIT debuggee out>>>Exit TEST FAIL
|