The BinaryClassDescrLoader class doesn't close InputStream(s) returned by the
Classpath.findClass method at line 422:
desclaringClassExists = classpath.findClass(declaringClass) != null;
This can cause the following error when running API Cover for whole JCK:
[java] java.io.FileNotFoundException:
/set/java/re/jck/7/nightly/binaries/b25-2009-10-11/JCK-runtime-7/classes/javasoft/sqe/tests/api/java/awt/Image/PixelInterleavedSampleModel/ConstructorTest.class
(Too many open files)
[java] at java.io.FileInputStream.open(Native Method)
[java] at java.io.FileInputStream.<init>(FileInputStream.java:106)
[java] at
com.sun.tdk.signaturetest.classpath.DirectoryEntry.findClass(DirectoryEntry.java:144)
[java] at
com.sun.tdk.signaturetest.classpath.ClasspathImpl.findClass(ClasspathImpl.java:328)
[java] at
com.sun.tdk.signaturetest.loaders.BinaryClassDescrLoader.readClass(BinaryClassDescrLoader.java:422)
[java] at
com.sun.tdk.signaturetest.loaders.BinaryClassDescrLoader.readClass(BinaryClassDescrLoader.java:348)
[java] at
com.sun.tdk.signaturetest.loaders.BinaryClassDescrLoader.load(BinaryClassDescrLoader.java:239)
[java] at
com.sun.tdk.signaturetest.core.ClassHierarchyImpl.load(ClassHierarchyImpl.java:179)
[java] at
com.sun.tdk.signaturetest.core.ClassHierarchyImpl.load(ClassHierarchyImpl.java:163)
[java] at com.sun.tdk.apicover.Main.check(Main.java:409)
[java] at com.sun.tdk.apicover.Main.run(Main.java:142)
[java] at com.sun.tdk.apicover.Main.main(Main.java:127)
[java] Invalid class file:
javasoft.sqe.tests.api.java.awt.Image.PixelInterleavedSampleModel.ConstructorTest$7
[java] java.lang.ClassNotFoundException:
javasoft.sqe.tests.api.java.awt.Image.PixelInterleavedSampleModel.ConstructorTest$7
[java] at
com.sun.tdk.signaturetest.loaders.BinaryClassDescrLoader.loadCalls(BinaryClassDescrLoader.java:496)
[java] at com.sun.tdk.apicover.Main.check(Main.java:411)
[java] at com.sun.tdk.apicover.Main.run(Main.java:142)
[java] at com.sun.tdk.apicover.Main.main(Main.java:127)
[java] java.io.FileNotFoundException:
/set/java/re/jck/7/nightly/binaries/b25-2009-10-11/JCK-runtime-7/classes/javasoft/sqe/tests/api/java/awt/Image/PixelInterleavedSampleModel/ConstructorTest.class
(Too many open files)
[java] at java.io.FileInputStream.open(Native Method)
[java] at java.io.FileInputStream.<init>(FileInputStream.java:106)
[java] at
com.sun.tdk.signaturetest.classpath.DirectoryEntry.findClass(DirectoryEntry.java:144)
[java] at
com.sun.tdk.signaturetest.classpath.ClasspathImpl.findClass(ClasspathImpl.java:328)
[java] at
com.sun.tdk.signaturetest.loaders.BinaryClassDescrLoader.readClass(BinaryClassDescrLoader.java:422)
[java] at
com.sun.tdk.signaturetest.loaders.BinaryClassDescrLoader.readClass(BinaryClassDescrLoader.java:348)
[java] at
com.sun.tdk.signaturetest.loaders.BinaryClassDescrLoader.load(BinaryClassDescrLoader.java:239)
[java] at
com.sun.tdk.signaturetest.core.ClassHierarchyImpl.load(ClassHierarchyImpl.java:179)
[java] at
com.sun.tdk.signaturetest.core.ClassHierarchyImpl.load(ClassHierarchyImpl.java:163)
[java] at com.sun.tdk.apicover.Main.check(Main.java:409)
[java] at com.sun.tdk.apicover.Main.run(Main.java:142)
[java] at com.sun.tdk.apicover.Main.main(Main.java:127)
Classpath.findClass method at line 422:
desclaringClassExists = classpath.findClass(declaringClass) != null;
This can cause the following error when running API Cover for whole JCK:
[java] java.io.FileNotFoundException:
/set/java/re/jck/7/nightly/binaries/b25-2009-10-11/JCK-runtime-7/classes/javasoft/sqe/tests/api/java/awt/Image/PixelInterleavedSampleModel/ConstructorTest.class
(Too many open files)
[java] at java.io.FileInputStream.open(Native Method)
[java] at java.io.FileInputStream.<init>(FileInputStream.java:106)
[java] at
com.sun.tdk.signaturetest.classpath.DirectoryEntry.findClass(DirectoryEntry.java:144)
[java] at
com.sun.tdk.signaturetest.classpath.ClasspathImpl.findClass(ClasspathImpl.java:328)
[java] at
com.sun.tdk.signaturetest.loaders.BinaryClassDescrLoader.readClass(BinaryClassDescrLoader.java:422)
[java] at
com.sun.tdk.signaturetest.loaders.BinaryClassDescrLoader.readClass(BinaryClassDescrLoader.java:348)
[java] at
com.sun.tdk.signaturetest.loaders.BinaryClassDescrLoader.load(BinaryClassDescrLoader.java:239)
[java] at
com.sun.tdk.signaturetest.core.ClassHierarchyImpl.load(ClassHierarchyImpl.java:179)
[java] at
com.sun.tdk.signaturetest.core.ClassHierarchyImpl.load(ClassHierarchyImpl.java:163)
[java] at com.sun.tdk.apicover.Main.check(Main.java:409)
[java] at com.sun.tdk.apicover.Main.run(Main.java:142)
[java] at com.sun.tdk.apicover.Main.main(Main.java:127)
[java] Invalid class file:
javasoft.sqe.tests.api.java.awt.Image.PixelInterleavedSampleModel.ConstructorTest$7
[java] java.lang.ClassNotFoundException:
javasoft.sqe.tests.api.java.awt.Image.PixelInterleavedSampleModel.ConstructorTest$7
[java] at
com.sun.tdk.signaturetest.loaders.BinaryClassDescrLoader.loadCalls(BinaryClassDescrLoader.java:496)
[java] at com.sun.tdk.apicover.Main.check(Main.java:411)
[java] at com.sun.tdk.apicover.Main.run(Main.java:142)
[java] at com.sun.tdk.apicover.Main.main(Main.java:127)
[java] java.io.FileNotFoundException:
/set/java/re/jck/7/nightly/binaries/b25-2009-10-11/JCK-runtime-7/classes/javasoft/sqe/tests/api/java/awt/Image/PixelInterleavedSampleModel/ConstructorTest.class
(Too many open files)
[java] at java.io.FileInputStream.open(Native Method)
[java] at java.io.FileInputStream.<init>(FileInputStream.java:106)
[java] at
com.sun.tdk.signaturetest.classpath.DirectoryEntry.findClass(DirectoryEntry.java:144)
[java] at
com.sun.tdk.signaturetest.classpath.ClasspathImpl.findClass(ClasspathImpl.java:328)
[java] at
com.sun.tdk.signaturetest.loaders.BinaryClassDescrLoader.readClass(BinaryClassDescrLoader.java:422)
[java] at
com.sun.tdk.signaturetest.loaders.BinaryClassDescrLoader.readClass(BinaryClassDescrLoader.java:348)
[java] at
com.sun.tdk.signaturetest.loaders.BinaryClassDescrLoader.load(BinaryClassDescrLoader.java:239)
[java] at
com.sun.tdk.signaturetest.core.ClassHierarchyImpl.load(ClassHierarchyImpl.java:179)
[java] at
com.sun.tdk.signaturetest.core.ClassHierarchyImpl.load(ClassHierarchyImpl.java:163)
[java] at com.sun.tdk.apicover.Main.check(Main.java:409)
[java] at com.sun.tdk.apicover.Main.run(Main.java:142)
[java] at com.sun.tdk.apicover.Main.main(Main.java:127)