Robert Munteanu created SLING-13173:
---------------------------------------

             Summary: Overly broad mocking of Files.class can lead to test 
failures
                 Key: SLING-13173
                 URL: https://issues.apache.org/jira/browse/SLING-13173
             Project: Sling
          Issue Type: Bug
          Components: JCR
    Affects Versions: JCR ContentLoader 3.0.0
            Reporter: Robert Munteanu
            Assignee: Robert Munteanu
             Fix For: JCR ContentLoader 3.0.2


Under certain circumstances the static mocking of the Files.class causes slf4j 
to fail initialisation, leading to test failures.

{noformat}
$ mvn clean test -Dtest=ZipReaderTest
(...)
[ERROR] 
org.apache.sling.jcr.contentloader.internal.readers.ZipReaderTest.removeTempFileLogWarningOnIOException
 -- Time elapsed: 0.018 s <<< ERROR!
java.lang.IllegalStateException: Unexpected initialization failure
        at org.slf4j.LoggerFactory.bind(LoggerFactory.java:216)
        at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:187)
        at org.slf4j.LoggerFactory.getProvider(LoggerFactory.java:511)
        at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:497)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:446)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:472)
        at 
org.apache.sling.jcr.contentloader.internal.readers.ZipReader.removeTempFile(ZipReader.java:140)
        at 
org.apache.sling.jcr.contentloader.internal.readers.ZipReaderTest.lambda$removeTempFileLogWarningOnIOException$1(ZipReaderTest.java:260)
        at 
org.apache.sling.jcr.contentloader.internal.readers.ZipReaderTest.doWorkWithCapturedSystemErr(ZipReaderTest.java:351)
        at 
org.apache.sling.jcr.contentloader.internal.readers.ZipReaderTest.removeTempFileLogWarningOnIOException(ZipReaderTest.java:260)
Caused by: java.lang.NullPointerException: Cannot invoke 
"java.nio.file.attribute.BasicFileAttributes.lastModifiedTime()" because 
"this.attrs" is null
        at 
java.base/java.util.zip.ZipFile$Source$Key.hashCode(ZipFile.java:1456)
        at java.base/java.util.HashMap.hash(HashMap.java:338)
        at java.base/java.util.HashMap.getNode(HashMap.java:577)
        at java.base/java.util.HashMap.get(HashMap.java:565)
        at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1500)
        at 
java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:704)
        at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:204)
        at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:150)
        at java.base/java.util.jar.JarFile.<init>(JarFile.java:333)
        at 
java.base/sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:70)
        at 
java.base/sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:56)
        at 
java.base/sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:202)
        at 
java.base/sun.net.www.protocol.jar.JarFileFactory.getOrCreate(JarFileFactory.java:95)
        at 
java.base/sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:123)
        at 
java.base/sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:167)
        at 
java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.parse(ServiceLoader.java:1043)
        at 
java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1084)
        at 
java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1099)
        at 
java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1142)
        at java.base/java.util.ServiceLoader$1.hasNext(ServiceLoader.java:1164)
        at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1246)
        at org.slf4j.LoggerFactory.findServiceProviders(LoggerFactory.java:133)
        at org.slf4j.LoggerFactory.bind(LoggerFactory.java:195)
        ... 9 more
{noformat}

This is not reproducible on all systems - Jenkins passes.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to