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

Reply via email to