Buggy code:
public class JavaBuilder extends IncrementalProjectBuilder { IProject currentProject ; IJavaProject javaProject ; IWorkspaceRoot workspaceRoot ; ClasspathLocation [ ] classpath ; IContainer outputFolder ; IContainer [ ] sourceFolders ; SimpleLookupTable prereqOutputFolders ; State lastState ; BuildNotifier notifier ; char [ ] [ ] resourceFilters ; public static final String JAVA_EXTENSION = "java" ; public static final String CLASS_EXTENSION = "class" ; public static final String JAR_EXTENSION = "jar" ; public static final String ZIP_EXTENSION = "zip" ; public static final String OPTION_ResourceCopyFilter = "org.eclipse.jdt.core.builder.resourceCopyExclusionFilters" ; public static boolean DEBUG = false ; static final String ProblemMarkerTag = IJavaModelMarker . JAVA_MODEL_PROBLEM_MARKER ; static ArrayList builtProjects = null ; public static IMarker [ ] getProblemsFor ( IResource resource ) { } public static void removeProblemsFor ( IResource resource ) { } public static State readState ( DataInputStream in ) throws IOException { } public static void writeState ( Object state , DataOutputStream out ) throws IOException { } public JavaBuilder ( ) { } protected IProject [ ] build ( int kind , Map ignored , IProgressMonitor monitor ) throws CoreException { this . currentProject = getProject ( ) ; if ( ( ( currentProject ) == null ) || ( ! ( currentProject . exists ( ) ) ) ) return new IProject [ 0 ] ; if ( JavaBuilder . DEBUG ) System . out . println ( ( "\nStarting<seq2seq4repair_space>build<seq2seq4repair_space>of<seq2seq4repair_space>" + ( currentProject . getName ( ) ) ) ) ; this . notifier = new BuildNotifier ( monitor , currentProject ) ; notifier . begin ( ) ; boolean ok = false ; try { initializeBuilder ( ) ; if ( kind == ( IncrementalProjectBuilder . FULL_BUILD ) ) { buildAll ( ) ; } else { if ( ( this . lastState = getLastState ( currentProject ) ) == null ) { if ( JavaBuilder . DEBUG ) System . out . println ( "Performing<seq2seq4repair_space>full<seq2seq4repair_space>build<seq2seq4repair_space>since<seq2seq4repair_space>last<seq2seq4repair_space>saved<seq2seq4repair_space>state<seq2seq4repair_space>was<seq2seq4repair_space>not<seq2seq4repair_space>found" ) ; buildAll ( ) ; } else if ( ( hasClasspathChanged ( ) ) || ( hasOutputLocationChanged ( ) ) ) { buildAll ( ) ; } else if ( ( sourceFolders . length ) > 0 ) { SimpleLookupTable deltas = findDeltas ( ) ; if ( deltas == null ) buildAll ( ) ; else buildDeltas ( deltas ) ; } } ok = true ; } catch ( CoreException e ) { try { IMarker marker = currentProject . createMarker ( JavaBuilder . ProblemMarkerTag ) ; marker . setAttribute ( IMarker . MESSAGE , Util . bind ( "build.inconsistentProject" ) ) ; marker . setAttribute ( IMarker . SEVERITY , IMarker . SEVERITY_ERROR ) ; } catch ( CoreException ignore ) { throw e ; } } catch ( ImageBuilderInternalException e ) { try { IMarker marker = currentProject . createMarker ( JavaBuilder . ProblemMarkerTag ) ; marker . setAttribute ( IMarker . MESSAGE , Util . bind ( "build.inconsistentProject" ) ) ; marker . setAttribute ( IMarker . SEVERITY , IMarker . SEVERITY_ERROR ) ; } catch ( CoreException ignore ) { throw e . getThrowable ( ) ; } } catch ( IncompleteClassPathException e ) { IMarker marker = currentProject . createMarker ( JavaBuilder . ProblemMarkerTag ) ; <START_BUG> marker . setAttribute ( IMarker . MESSAGE , Util . bind ( "build.incompleteClassPath" ) ) ; <END_BUG> marker . setAttribute ( IMarker . SEVERITY , IMarker . SEVERITY_ERROR ) ; } finally { if ( ! ok ) clearLastState ( ) ; notifier . done ( ) ; cleanup ( ) ; } IProject [ ] requiredProjects = getRequiredProjects ( ) ; if ( JavaBuilder . DEBUG ) System . out . println ( ( "Finished<seq2seq4repair_space>build<seq2seq4repair_space>of<seq2seq4repair_space>" + ( currentProject . getName ( ) ) ) ) ; return requiredProjects ; } private void buildAll ( ) { } private void buildDeltas ( SimpleLookupTable deltas ) { } private void cleanup ( ) { } private void clearLastState ( ) { } private void createFolder ( IContainer folder ) throws CoreException { } boolean filterResource ( IResource resource ) { } private SimpleLookupTable findDeltas ( ) { } private State getLastState ( IProject project ) { } private IProject [ ] getRequiredProjects ( ) { } private boolean hasClasspathChanged ( ) { } private boolean hasOutputLocationChanged ( ) { } private void initializeBuilder ( ) throws CoreException { } private void recordNewState ( State state ) { } public String toString ( ) { } }

Fix:
marker . setAttribute ( IMarker . MESSAGE , Util . bind ( "build.incompleteClassPath" , e . missingClassFile ) ) ;