Hello,
Some of our new tests are hitting a case where JAR files appear to be kept open. I am not sure where the issue lies as I can't access some of the source code involved. I am attaching the stack trace at the end of the mail. We obtain the ServiceLoader with the following code where _procLoader is a URLClassLoader. _serviceLoader = ServiceLoader.load(Processor.class, _procLoader); _serviceLoaderIter = _serviceLoader.iterator(); This code has been like this for quite some time. Is this something recent? Should we change something in our code? Please let me know if you need more information. Regards, Jay --------------------------------------------- Thread [main] (Suspended (breakpoint at line 198 in ZipFile)) owns: URLClassPath (id=3886) JarFile(ZipFile).<init>(File, int, Charset) line: 198 JarFile(ZipFile).<init>(File, int) line: 147 JarFile.<init>(File, boolean, int, JarFile$Release) line: 344 URLClassPath$JarLoader.getJarFile(URL) line: 697 URLClassPath$JarLoader.access$600(URLClassPath$JarLoader, URL) line: 586 URLClassPath$JarLoader$1.run() line: 642 URLClassPath$JarLoader$1.run() line: 635 AccessController.doPrivileged(PrivilegedExceptionAction<T>) line: not available [native method] URLClassPath$JarLoader.ensureOpen() line: 634 URLClassPath$JarLoader.<init>(URL, URLStreamHandler, HashMap<String,Loader>) line: 609 URLClassPath$3.run() line: 389 URLClassPath$3.run() line: 373 AccessController.doPrivileged(PrivilegedExceptionAction<T>) line: not available [native method] URLClassPath.getLoader(URL) line: 372 URLClassPath.getLoader(int) line: 349 URLClassPath.access$000(URLClassPath, int) line: 81 URLClassPath$1.next() line: 242 URLClassPath$1.hasMoreElements() line: 253 URLClassLoader$3$1.run() line: 595 URLClassLoader$3$1.run() line: 593 AccessController.doPrivileged(PrivilegedAction<T>, AccessControlContext) line: not available [native method] URLClassLoader$3.next() line: 592 URLClassLoader$3.hasMoreElements() line: 617 [local variables unavailable] CompoundEnumeration<E>.next() line: 2683 CompoundEnumeration<E>.hasMoreElements() line: 2692 ServiceLoader$LazyClassPathIterator.hasNextService() line: 786 ServiceLoader$LazyClassPathIterator(ServiceLoader $RestrictedIterator<S>).hasNext() line: 527 [local variables unavailable] ServiceLoader$2.hasNext() line: 907 [local variables unavailable] BatchAnnotationProcessorManager.discoverNextProcessor() line: 155