Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 342962 - setter / getter step filter test failures on Mac
Summary: setter / getter step filter test failures on Mac
Status: RESOLVED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Debug (show other bugs)
Version: 3.5.1   Edit
Hardware: Macintosh Mac OS X - Carbon (unsup.)
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Michael Rennie CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-15 08:58 EDT by Michael Rennie CLA
Modified: 2012-03-02 23:38 EST (History)
0 users

See Also:


Attachments
patch (1.72 KB, patch)
2011-04-15 09:54 EDT, Michael Rennie CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Rennie CLA 2011-04-15 08:58:14 EDT
the build from N20110414-2000 had a test failure for the setter / getter step filters:

Wrong line number expected:<91> but was:<88>
junit.framework.AssertionFailedError: Wrong line number expected:<91> but was:<88>
at org.eclipse.jdt.debug.test.stepping.StepFilterTests.testSetterFilters(StepFilterTests.java:280)
at org.eclipse.jdt.debug.tests.AbstractDebugTest.runBare(AbstractDebugTest.java:1763)
at org.eclipse.jdt.debug.tests.DebugSuite$1.run(DebugSuite.java:54)
at java.lang.Thread.run(Thread.java:613)

The two following exceptions were found in the log:

!ENTRY org.eclipse.jdt.debug 4 125 2011-04-14 23:49:47.684
!MESSAGE Internal error logged from JDI Debug: 
!STACK 0
com.sun.jdi.InternalException: Got error code in reply:13
	at org.eclipse.jdi.internal.MirrorImpl.defaultReplyErrorHandler(MirrorImpl.java:277)
	at org.eclipse.jdi.internal.request.EventRequestImpl.enable(EventRequestImpl.java:232)
	at org.eclipse.jdt.internal.debug.core.model.JDIThread$StepHandler.createStepRequest(JDIThread.java:2035)
	at org.eclipse.jdt.internal.debug.core.model.JDIThread$StepHandler.createSecondaryStepRequest(JDIThread.java:2293)
	at org.eclipse.jdt.internal.debug.core.model.JDIThread$StepHandler.createSecondaryStepRequest(JDIThread.java:2271)
	at org.eclipse.jdt.internal.debug.core.model.JDIThread$StepHandler.handleEvent(JDIThread.java:2172)
	at org.eclipse.jdt.internal.debug.core.EventDispatcher.dispatch(EventDispatcher.java:154)
	at org.eclipse.jdt.internal.debug.core.EventDispatcher.access$0(EventDispatcher.java:104)
	at org.eclipse.jdt.internal.debug.core.EventDispatcher$1.run(EventDispatcher.java:248)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

!ENTRY org.eclipse.jdt.debug 4 125 2011-04-14 23:49:47.703
!MESSAGE Internal error logged from JDI Debug: 
!STACK 0
java.lang.NullPointerException
	at org.eclipse.jdi.internal.request.EventRequestManagerImpl.deleteEventRequest(EventRequestManagerImpl.java:376)
	at org.eclipse.jdt.internal.debug.core.model.JDIThread$StepHandler.deleteStepRequest(JDIThread.java:2093)
	at org.eclipse.jdt.internal.debug.core.model.JDIThread$StepHandler.stepEnd(JDIThread.java:2247)
	at org.eclipse.jdt.internal.debug.core.model.JDIThread$StepHandler.handleEvent(JDIThread.java:2180)
	at org.eclipse.jdt.internal.debug.core.EventDispatcher.dispatch(EventDispatcher.java:154)
	at org.eclipse.jdt.internal.debug.core.EventDispatcher.access$0(EventDispatcher.java:104)
	at org.eclipse.jdt.internal.debug.core.EventDispatcher$1.run(EventDispatcher.java:248)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Comment 1 Michael Rennie CLA 2011-04-15 09:40:13 EDT
The test failure looks like the creation of the step request failed which ended up causing us to pass in a null request to be removed from the manager.

We should change the code a bit in JDIThread to prevent this NPE in the future, from:

manager.deleteEventRequest(getStepRequest());

to:

StepRequest req = getStepRequest();
if(req != null) {
  manager.deleteEventRequest(req);
}
Comment 2 Michael Rennie CLA 2011-04-15 09:54:44 EDT
Created attachment 193376 [details]
patch

This patch will prevent further NPEs while I figure out what caused the wrong line numbers to be reported from the test.
Comment 3 Michael Rennie CLA 2011-04-15 11:35:28 EDT
applied the patch + some Javadoc updates
Comment 4 Michael Rennie CLA 2011-04-15 11:48:27 EDT
Looks like the test failed because the step request failed. Marking this bug as fixed. I will reopen if the test fails again.
Comment 5 Michael Rennie CLA 2011-04-20 09:20:34 EDT
The testGetterFilters test failed in the I20110419-1004.

The step request failed again, at least not from an NPE this time:

!ENTRY org.eclipse.jdt.debug 4 125 2011-04-19 14:54:35.333
!MESSAGE Internal error logged from JDI Debug: 
!STACK 0
com.sun.jdi.InternalException: Got error code in reply:13
	at org.eclipse.jdi.internal.MirrorImpl.defaultReplyErrorHandler(MirrorImpl.java:277)
	at org.eclipse.jdi.internal.request.EventRequestImpl.enable(EventRequestImpl.java:232)
	at org.eclipse.jdt.internal.debug.core.model.JDIThread$StepHandler.createStepRequest(JDIThread.java:2066)
	at org.eclipse.jdt.internal.debug.core.model.JDIThread$StepHandler.createSecondaryStepRequest(JDIThread.java:2336)
	at org.eclipse.jdt.internal.debug.core.model.JDIThread$StepHandler.createSecondaryStepRequest(JDIThread.java:2314)
	at org.eclipse.jdt.internal.debug.core.model.JDIThread$StepHandler.handleEvent(JDIThread.java:2209)
	at org.eclipse.jdt.internal.debug.core.EventDispatcher.dispatch(EventDispatcher.java:154)
	at org.eclipse.jdt.internal.debug.core.EventDispatcher.access$0(EventDispatcher.java:104)
	at org.eclipse.jdt.internal.debug.core.EventDispatcher$1.run(EventDispatcher.java:248)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54

For reference, error code 13 is: THREAD_NOT_SUSPENDED from the JDWP spec
Comment 6 Michael Rennie CLA 2012-03-02 23:38:14 EST
Re-closing as fixed. These tests have not failed for quite some time.