Buggy code:
private boolean combineAccessRules ; private String rootID ; private AccessRuleSet accessRuleSet ; static class UnknownXmlElements { String [ ] attributes ; ArrayList children ; } public static final IPath [ ] INCLUDE_ALL = new IPath [ ] { } ; public static final IPath [ ] EXCLUDE_NONE = new IPath [ ] { } ; public static final IClasspathAttribute [ ] NO_EXTRA_ATTRIBUTES = new IClasspathAttribute [ ] { } ; public static final IAccessRule [ ] NO_ACCESS_RULES = new IAccessRule [ ] { } ; public IPath sourceAttachmentPath ; public IPath sourceAttachmentRootPath ; public IClasspathEntry referencingEntry ; public IPath specificOutputLocation ; public static final int K_OUTPUT = 10 ; public static final String DOT_DOT = ".." ; public boolean isExported ; public IClasspathAttribute [ ] extraAttributes ; public ClasspathEntry ( int contentKind , int entryKind , IPath path , IPath [ ] inclusionPatterns , IPath [ ] exclusionPatterns , IPath sourceAttachmentPath , IPath sourceAttachmentRootPath , IPath specificOutputLocation , boolean isExported , IAccessRule [ ] accessRules , boolean combineAccessRules , IClasspathAttribute [ ] extraAttributes ) { } public ClasspathEntry ( int contentKind , int entryKind , IPath path , IPath [ ] inclusionPatterns , IPath [ ] exclusionPatterns , IPath sourceAttachmentPath , IPath sourceAttachmentRootPath , IPath specificOutputLocation , IClasspathEntry referencingEntry , boolean isExported , IAccessRule [ ] accessRules , boolean combineAccessRules , IClasspathAttribute [ ] extraAttributes ) { } public boolean combineAccessRules ( ) { } public ClasspathEntry combineWith ( ClasspathEntry referringEntry ) { } private IAccessRule [ ] combine ( IAccessRule [ ] referringRules , IAccessRule [ ] rules , boolean combine ) { } static IClasspathAttribute [ ] decodeExtraAttributes ( NodeList attributes ) { } static IAccessRule [ ] decodeAccessRules ( NodeList list ) { } private static IPath [ ] decodePatterns ( NamedNodeMap nodeMap , String tag ) { } private static void decodeUnknownNode ( Node node , StringBuffer buffer , IJavaProject project ) { } private static void decodeUnknownNode ( Node node , XMLWriter xmlWriter , boolean insertNewLine ) { } public char [ ] [ ] fullExclusionPatternChars ( ) { } public char [ ] [ ] fullInclusionPatternChars ( ) { } public void elementEncode ( XMLWriter writer , IPath projectPath , boolean indent , boolean newLine , Map unknownElements , boolean isReferencedEntry ) { } void encodeExtraAttributes ( XMLWriter writer , boolean indent , boolean newLine ) { } void encodeAccessRules ( XMLWriter writer , boolean indent , boolean newLine ) { } private void encodeAccessRule ( AccessRule accessRule , XMLWriter writer , boolean indent , boolean newLine ) { } private void encodeUnknownChildren ( XMLWriter writer , boolean indent , boolean newLine , ArrayList unknownChildren ) { } public static IClasspathEntry elementDecode ( Element element , IJavaProject project , Map unknownElements ) { } public static boolean hasDotDot ( IPath path ) { } public static NodeList getChildAttributes ( String childName , NodeList children , boolean [ ] foundChildren ) { } private static String removeAttribute ( String nodeName , NamedNodeMap nodeMap ) { } private static Node removeNode ( String nodeName , NamedNodeMap nodeMap ) { } public static IPath [ ] resolvedChainedLibraries ( IPath jarPath ) { } private static void resolvedChainedLibraries ( IPath jarPath , HashSet visited , ArrayList result ) { } private static List getCalledFileNames ( IPath jarPath ) { } public static IPath resolveDotDot ( IPath path ) { } private static void encodePatterns ( IPath [ ] patterns , String tag , Map parameters ) { } public boolean equals ( Object object ) { } private static boolean equalAttributes ( IClasspathAttribute [ ] firstAttributes , IClasspathAttribute [ ] secondAttributes ) { } private static boolean equalPatterns ( IPath [ ] firstPatterns , IPath [ ] secondPatterns ) { } public IAccessRule [ ] getAccessRules ( ) { } public AccessRuleSet getAccessRuleSet ( ) { } public int getContentKind ( ) { } public int getEntryKind ( ) { } public IPath [ ] getExclusionPatterns ( ) { } public IClasspathAttribute [ ] getExtraAttributes ( ) { } public IPath [ ] getInclusionPatterns ( ) { } public IPath getOutputLocation ( ) { } public IPath getPath ( ) { } public IPath getSourceAttachmentPath ( ) { } public IPath getSourceAttachmentRootPath ( ) { } public IClasspathEntry getReferencingEntry ( ) { } public int hashCode ( ) { } public boolean isExported ( ) { } public boolean isOptional ( ) { } static int kindFromString ( String kindStr ) { } static String kindToString ( int kind ) { } public static IAccessRule [ ] getAccessRules ( IPath [ ] accessibleFiles , IPath [ ] nonAccessibleFiles ) { } public String toString ( ) { } public ClasspathEntry resolvedDotDot ( ) { } public ClasspathEntry [ ] resolvedChainedLibraries ( ) { } public String rootID ( ) { } public IClasspathEntry getResolvedEntry ( ) { } public static IJavaModelStatus validateClasspath ( IJavaProject javaProject , IClasspathEntry [ ] rawClasspath , IPath projectOutputLocation ) { } public static IJavaModelStatus validateClasspathEntry ( IJavaProject project , IClasspathEntry entry , boolean checkSourceAttachment , boolean referredByContainer ) { } private static IJavaModelStatus validateClasspathEntry ( IJavaProject project , IClasspathEntry entry , IClasspathContainer entryContainer , boolean checkSourceAttachment , boolean referredByContainer ) { } private static IJavaModelStatus validateLibraryEntry ( IPath path , IJavaProject project , String container , IPath sourceAttachment , String entryPathMsg ) { } private static IJavaModelStatus validateLibraryContents ( IPath path , IJavaProject project , String entryPathMsg ) { JavaModelManager manager = JavaModelManager . getJavaModelManager ( ) ; try { manager . verifyArchiveContent ( path ) ; } catch ( CoreException e ) { if ( ( e . getStatus ( ) . getMessage ( ) ) == ( Messages . status_IOException ) ) { <START_BUG> return new JavaModelStatus ( IJavaModelStatusConstants . INVALID_CLASSPATH , Messages . bind ( Messages . classpath_illegalLibraryArchive , new String [ ] { entryPathMsg , project . getElementName ( ) } ) ) ; <END_BUG> } } return JavaModelStatus . VERIFIED_OK ; } }

Fix:
return new JavaModelStatus ( IJavaModelStatusConstants . INVALID_CLASSPATH , Messages . bind ( Messages . classpath_archiveReadError , new String [ ] { entryPathMsg , project . getElementName ( ) } ) ) ;