Buggy code:
public class ResultViewController implements IDebugEventSetListener { private static final String MAKEGOOD_RESULTVIEWCONTROLLER_MARKER_CREATE = "MAKEGOOD_RESULTVIEWCONTROLLER_MARKER_CREATE" ; private static final String MAKEGOOD_RESULTVIEWCONTROLLER_MARKER_TERMINATE = "MAKEGOOD_RESULTVIEWCONTROLLER_MARKER_TERMINATE" ; private TestLifecycle testLifecycle ; @ Override public void handleDebugEvents ( DebugEvent [ ] events ) { } private void handleCreateEvent ( final MakeGoodLaunch launch ) { } private void handleTerminateEvent ( final MakeGoodLaunch launch ) { if ( terminateEventFired ( launch ) ) { return ; } if ( ! ( createEventFired ( launch ) ) ) { handleCreateEvent ( launch ) ; } if ( ! ( createEventFired ( launch ) ) ) { return ; } markAsTerminateEventFired ( launch ) ; Job job = new UIJob ( "MakeGood<seq2seq4repair_space>Test<seq2seq4repair_space>End" ) { @ Override public IStatus runInUIThread ( IProgressMonitor monitor ) { testLifecycle . end ( ) ; if ( testLifecycle . getProgress ( ) . noTestsFound ( ) ) { MakeGoodContext . getInstance ( ) . updateStatus ( TestsNotFound ) ; } else { MakeGoodContext . getInstance ( ) . updateStatus ( WaitingForTestRun , MakeGoodContext . getInstance ( ) . getActivePart ( ) . getProject ( ) ) ; } ResultSquare . getInstance ( ) . endTest ( ) ; if ( testLifecycle . getProgress ( ) . hasFailures ( ) ) { ResultSquare . getInstance ( ) . markAsFailed ( ) ; } else { ResultSquare . getInstance ( ) . markAsPassed ( ) ; } ResultView resultView = ( ( ResultView ) ( ViewOpener . find ( VIEW_ID ) ) ) ; if ( resultView != null ) { resultView . endTest ( ) ; } if ( testLifecycle . hasErrors ( ) ) { ResultSquare . getInstance ( ) . markAsStopped ( ) ; if ( resultView != null ) { testLifecycle . getProgress ( ) . markAsStopped ( ) ; resultView . markAsStopped ( ) ; resultView . expandResultTreeToResult ( testLifecycle . getProgress ( ) . getResult ( ) . getLast ( ) ) ; } if ( ! ( StopTestAction . isStoppedByAction ( launch ) ) ) { FatalErrorMarkerFactory markerFactory = new FatalErrorMarkerFactory ( ) ; try { <START_BUG> IMarker marker = markerFactory . create ( testLifecycle . getStreamOutput ( ) ) ; <END_BUG> if ( marker != null ) { EditorOpener . open ( marker ) ; } else { ViewOpener . open ( ID_CONSOLE_VIEW ) ; EditorOpener . open ( markerFactory . getFile ( ) , markerFactory . getLine ( ) ) ; } } catch ( CoreException e ) { Activator . getDefault ( ) . getLog ( ) . log ( new Status ( IStatus . ERROR , Activator . PLUGIN_ID , e . getMessage ( ) , e ) ) ; } catch ( UnknownFatalErrorMessageException e ) { Activator . getDefault ( ) . getLog ( ) . log ( new Status ( IStatus . WARNING , Activator . PLUGIN_ID , e . getMessage ( ) , e ) ) ; ViewOpener . open ( ID_CONSOLE_VIEW ) ; } } } TestLifecycle . destroy ( ) ; return Status . OK_STATUS ; } } ; job . schedule ( ) ; } private void preventConsoleViewFocusing ( ) { } private ILaunch getLaunch ( Object eventSource ) { } private void markAsCreateEventFired ( ILaunch launch ) { } private boolean createEventFired ( ILaunch launch ) { } private void markAsTerminateEventFired ( ILaunch launch ) { } private boolean terminateEventFired ( ILaunch launch ) { } public class ResultProjector implements ResultReaderListener { @ Override public void startTestSuite ( TestSuiteResult testSuite ) { } @ Override public void endTestSuite ( TestSuiteResult testSuite ) { } @ Override public void startTestCase ( final TestCaseResult testCase ) { } @ Override public void endTestCase ( final TestCaseResult testCase ) { } @ Override public void startFailure ( final TestCaseResult failure ) { } @ Override public void endFailure ( TestCaseResult failure ) { } @ Override public void startError ( final TestCaseResult error ) { } @ Override public void endError ( TestCaseResult error ) { } @ Override public void startTest ( ) { } @ Override public void endTest ( ) { } @ Override public void onFirstTestSuite ( final TestSuiteResult testSuite ) { } } private class EndTestCaseUIJob extends UIJob { private TestLifecycle testLifecycle ; public EndTestCaseUIJob ( String name , TestLifecycle testLifecycle ) { } @ Override public IStatus runInUIThread ( IProgressMonitor monitor ) { } @ Override public boolean belongsTo ( Object family ) { } } }

Fix:
IMarker marker = markerFactory . create ( launch . getStreamOutput ( ) ) ;