The patch added in LOG4J2-1664 should fix that issue Remko was seeing. I'm not around a development machine to test it out, but I looked at the patch and it should address the issue I believe.
On 11 December 2016 at 13:42, Matt Sicker <boa...@gmail.com> wrote: > Since we're not relying on any newer APIs, there's no need to upgrade the > OSGi API dependencies themselves, but testing with newer frameworks would > be good. I still have a todo item somewhere about trying out the pax-exam > OSGi testing framework for something in Commons, though I haven't used OSGi > professionally in a while, now, so I keep forgetting about it. (it's > usually hard to convince people to embrace physical modularity like OSGi or > Jigsaw when they're used to writing things without that assumption in place) > > On 11 December 2016 at 13:04, Gary Gregory <garydgreg...@gmail.com> wrote: > >> I wonder if we should also update the versions of the OSGi containers we >> test with... >> >> On Dec 11, 2016 2:49 AM, "Remko Popma" <remko.po...@gmail.com> wrote: >> >>> Actually probably caused by >>> Caused by: java.lang.Exception: Unable to lock bundle cache: >>> java.nio.channels.OverlappingFileLockException >>> >>> On Sun, Dec 11, 2016 at 7:30 PM, Remko Popma <remko.po...@gmail.com> >>> wrote: >>> >>>> The build failed three times in a row on my Windows 10 machine now. >>>> >>>> FelixLoadApiBundleTest.testSimpleLogInAnOsgiContext >>>> >>>> ERROR StatusLogger Unable to create custom ContextSelector. Falling >>>> back to default. >>>> java.lang.ClassCastException: Cannot cast >>>> org.apache.logging.log4j.core.osgi.BundleContextSelector to >>>> org.apache.logging.log4j.core.selector.ContextSelector >>>> >>>> >>>> Full stacktrace: >>>> ERROR StatusLogger No log4j2 configuration file found. Using default >>>> configuration: logging only errors to the console. >>>> ERROR: Error creating bundle cache. (java.lang.Exception: Unable to >>>> lock bundle cache: java.nio.channels.OverlappingFileLockException) >>>> java.lang.Exception: Unable to lock bundle cache: >>>> java.nio.channels.OverlappingFileLockException >>>> at org.apache.felix.framework.cache.BundleCache.<init>(BundleCa >>>> che.java:176) >>>> at org.apache.felix.framework.Felix.init(Felix.java:689) >>>> at org.apache.felix.framework.Felix.init(Felix.java:624) >>>> at org.apache.logging.log4j.osgi.tests.junit.OsgiRule.before(Os >>>> giRule.java:63) >>>> at org.junit.rules.ExternalResource$1.evaluate(ExternalResource >>>> .java:46) >>>> at org.junit.rules.RunRules.evaluate(RunRules.java:20) >>>> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325 >>>> ) >>>> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit >>>> 4ClassRunner.java:78) >>>> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit >>>> 4ClassRunner.java:57) >>>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) >>>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java: >>>> 71) >>>> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java >>>> :288) >>>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java: >>>> 58) >>>> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java: >>>> 268) >>>> at org.junit.runners.ParentRunner.run(ParentRunner.java:363) >>>> at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUni >>>> t4Provider.java:367) >>>> at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithR >>>> erun(JUnit4Provider.java:274) >>>> at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestS >>>> et(JUnit4Provider.java:238) >>>> at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit >>>> 4Provider.java:161) >>>> at org.apache.maven.surefire.booter.ForkedBooter.invokeProvider >>>> InSameClassLoader(ForkedBooter.java:290) >>>> at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInPro >>>> cess(ForkedBooter.java:242) >>>> at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBoo >>>> ter.java:121) >>>> Tests run: 3, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 2.59 >>>> sec <<< FAILURE! - in org.apache.logging.log4j.osgi. >>>> tests.felix.FelixLoadApiBundleTest >>>> testSimpleLogInAnOsgiContext(org.apache.logging.log4j.osgi.t >>>> ests.felix.FelixLoadApiBundleTest) Time elapsed: 0.012 sec <<< ERROR! >>>> org.osgi.framework.BundleException: Error creating bundle cache. >>>> Caused by: java.lang.Exception: Unable to lock bundle cache: >>>> java.nio.channels.OverlappingFileLockException >>>> >>>> ERROR StatusLogger No log4j2 configuration file found. Using default >>>> configuration: logging only errors to the console. >>>> ERROR StatusLogger Unable to create custom ContextSelector. Falling >>>> back to default. >>>> java.lang.ClassCastException: Cannot cast >>>> org.apache.logging.log4j.core.osgi.BundleContextSelector to >>>> org.apache.logging.log4j.core.selector.ContextSelector >>>> at java.lang.Class.cast(Class.java:3369) >>>> at org.apache.logging.log4j.util.LoaderUtil.newCheckedInstanceO >>>> f(LoaderUtil.java:201) >>>> at org.apache.logging.log4j.util.LoaderUtil.newCheckedInstanceO >>>> fProperty(LoaderUtil.java:226) >>>> at org.apache.logging.log4j.core.impl.Log4jContextFactory.creat >>>> eContextSelector(Log4jContextFactory.java:97) >>>> at org.apache.logging.log4j.core.impl.Log4jContextFactory.<init >>>> >(Log4jContextFactory.java:58) >>>> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native >>>> Method) >>>> at sun.reflect.NativeConstructorAccessorImpl.newInstance(Native >>>> ConstructorAccessorImpl.java:62) >>>> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(De >>>> legatingConstructorAccessorImpl.java:45) >>>> at java.lang.reflect.Constructor.newInstance(Constructor.java:4 >>>> 22) >>>> at java.lang.Class.newInstance(Class.java:442) >>>> at org.apache.logging.log4j.LogManager.<clinit>(LogManager.java >>>> :94) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce >>>> ssorImpl.java:62) >>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe >>>> thodAccessorImpl.java:43) >>>> at java.lang.reflect.Method.invoke(Method.java:497) >>>> at org.apache.logging.log4j.osgi.tests.AbstractLoadBundleTest.l >>>> og(AbstractLoadBundleTest.java:95) >>>> at org.apache.logging.log4j.osgi.tests.AbstractLoadBundleTest.t >>>> estSimpleLogInAnOsgiContext(AbstractLoadBundleTest.java:224) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce >>>> ssorImpl.java:62) >>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe >>>> thodAccessorImpl.java:43) >>>> at java.lang.reflect.Method.invoke(Method.java:497) >>>> at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall( >>>> FrameworkMethod.java:50) >>>> at org.junit.internal.runners.model.ReflectiveCallable.run(Refl >>>> ectiveCallable.java:12) >>>> at org.junit.runners.model.FrameworkMethod.invokeExplosively(Fr >>>> ameworkMethod.java:47) >>>> at org.junit.internal.runners.statements.InvokeMethod.evaluate( >>>> InvokeMethod.java:17) >>>> at org.junit.internal.runners.statements.RunBefores.evaluate(Ru >>>> nBefores.java:26) >>>> at org.junit.rules.ExternalResource$1.evaluate(ExternalResource >>>> .java:48) >>>> at org.junit.rules.RunRules.evaluate(RunRules.java:20) >>>> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325 >>>> ) >>>> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit >>>> 4ClassRunner.java:78) >>>> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit >>>> 4ClassRunner.java:57) >>>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) >>>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java: >>>> 71) >>>> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java >>>> :288) >>>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java: >>>> 58) >>>> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java: >>>> 268) >>>> at org.junit.runners.ParentRunner.run(ParentRunner.java:363) >>>> at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUni >>>> t4Provider.java:367) >>>> at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithR >>>> erun(JUnit4Provider.java:274) >>>> at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestS >>>> et(JUnit4Provider.java:238) >>>> at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit >>>> 4Provider.java:161) >>>> at org.apache.maven.surefire.booter.ForkedBooter.invokeProvider >>>> InSameClassLoader(ForkedBooter.java:290) >>>> at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInPro >>>> cess(ForkedBooter.java:242) >>>> at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBoo >>>> ter.java:121) >>>> ERROR StatusLogger Unable to create custom ContextSelector. Falling >>>> back to default. >>>> java.lang.ClassCastException: Cannot cast >>>> org.apache.logging.log4j.core.osgi.BundleContextSelector to >>>> org.apache.logging.log4j.core.selector.ContextSelector >>>> at java.lang.Class.cast(Class.java:3369) >>>> at org.apache.logging.log4j.util.LoaderUtil.newCheckedInstanceO >>>> f(LoaderUtil.java:201) >>>> at org.apache.logging.log4j.util.LoaderUtil.newCheckedInstanceO >>>> fProperty(LoaderUtil.java:226) >>>> at org.apache.logging.log4j.core.impl.Log4jContextFactory.creat >>>> eContextSelector(Log4jContextFactory.java:97) >>>> at org.apache.logging.log4j.core.impl.Log4jContextFactory.<init >>>> >(Log4jContextFactory.java:58) >>>> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native >>>> Method) >>>> at sun.reflect.NativeConstructorAccessorImpl.newInstance(Native >>>> ConstructorAccessorImpl.java:62) >>>> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(De >>>> legatingConstructorAccessorImpl.java:45) >>>> at java.lang.reflect.Constructor.newInstance(Constructor.java:4 >>>> 22) >>>> at java.lang.Class.newInstance(Class.java:442) >>>> at org.apache.logging.log4j.LogManager.<clinit>(LogManager.java >>>> :94) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce >>>> ssorImpl.java:62) >>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe >>>> thodAccessorImpl.java:43) >>>> at java.lang.reflect.Method.invoke(Method.java:497) >>>> at org.apache.logging.log4j.osgi.tests.AbstractLoadBundleTest.l >>>> og(AbstractLoadBundleTest.java:95) >>>> at org.apache.logging.log4j.osgi.tests.AbstractLoadBundleTest.t >>>> estSimpleLogInAnOsgiContext(AbstractLoadBundleTest.java:224) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce >>>> ssorImpl.java:62) >>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe >>>> thodAccessorImpl.java:43) >>>> at java.lang.reflect.Method.invoke(Method.java:497) >>>> at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall( >>>> FrameworkMethod.java:50) >>>> at org.junit.internal.runners.model.ReflectiveCallable.run(Refl >>>> ectiveCallable.java:12) >>>> at org.junit.runners.model.FrameworkMethod.invokeExplosively(Fr >>>> ameworkMethod.java:47) >>>> at org.junit.internal.runners.statements.InvokeMethod.evaluate( >>>> InvokeMethod.java:17) >>>> at org.junit.internal.runners.statements.RunBefores.evaluate(Ru >>>> nBefores.java:26) >>>> at org.junit.rules.ExternalResource$1.evaluate(ExternalResource >>>> .java:48) >>>> at org.junit.rules.RunRules.evaluate(RunRules.java:20) >>>> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325 >>>> ) >>>> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit >>>> 4ClassRunner.java:78) >>>> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit >>>> 4ClassRunner.java:57) >>>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) >>>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java: >>>> 71) >>>> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java >>>> :288) >>>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java: >>>> 58) >>>> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java: >>>> 268) >>>> at org.junit.runners.ParentRunner.run(ParentRunner.java:363) >>>> at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUni >>>> t4Provider.java:367) >>>> at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithR >>>> erun(JUnit4Provider.java:274) >>>> at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestS >>>> et(JUnit4Provider.java:238) >>>> at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit >>>> 4Provider.java:161) >>>> at org.apache.maven.surefire.booter.ForkedBooter.invokeProvider >>>> InSameClassLoader(ForkedBooter.java:290) >>>> at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInPro >>>> cess(ForkedBooter.java:242) >>>> at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBoo >>>> ter.java:121) >>>> Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.162 >>>> sec - in org.apache.logging.log4j.osgi.tests.equinox.EquinoxLoadApiBu >>>> ndleTest >>>> >>>> Results : >>>> >>>> Tests in error: >>>> FelixLoadApiBundleTest.testSimpleLogInAnOsgiContext ≫ Bundle Error >>>> creating bu... >>>> >>>> Tests run: 6, Failures: 0, Errors: 1, Skipped: 0 >>>> >>>> [INFO] ------------------------------------------------------------ >>>> ------------ >>>> [INFO] Reactor Summary: >>>> [INFO] >>>> [INFO] Apache Log4j 2 ..................................... SUCCESS [ >>>> 1.128 s] >>>> [INFO] Apache Log4j API ................................... SUCCESS [ >>>> 28.171 s] >>>> [INFO] Apache Log4j Core .................................. SUCCESS >>>> [16:07 min] >>>> [INFO] Apache Log4j 1.x Compatibility API ................. SUCCESS [ >>>> 17.317 s] >>>> [INFO] Apache Log4j SLF4J Binding ......................... SUCCESS [ >>>> 13.112 s] >>>> [INFO] Apache Log4j to SLF4J Adapter ...................... SUCCESS [ >>>> 6.675 s] >>>> [INFO] Apache Log4j Commons Logging Bridge ................ SUCCESS [ >>>> 6.340 s] >>>> [INFO] Apache Log4j Flume Bridge .......................... SUCCESS [ >>>> 42.596 s] >>>> [INFO] Apache Log4j Web ................................... SUCCESS [ >>>> 17.932 s] >>>> [INFO] Apache Log4j Tag Library ........................... SUCCESS [ >>>> 32.874 s] >>>> [INFO] Apache Log4j JMX GUI ............................... SUCCESS [ >>>> 5.310 s] >>>> [INFO] Apache Log4j Samples ............................... SUCCESS [ >>>> 0.285 s] >>>> [INFO] Apache Log4j Samples: Flume - Common ............... SUCCESS [ >>>> 5.531 s] >>>> [INFO] Apache Log4j Samples: Flume - Remote ............... SUCCESS [ >>>> 3.135 s] >>>> [INFO] Apache Log4j Samples: Flume - Embedded ............. SUCCESS [ >>>> 6.186 s] >>>> [INFO] Apache Log4j Samples: Configuration ................ SUCCESS [ >>>> 5.262 s] >>>> [INFO] Apache Log4j Samples: LoggerProperties ............. SUCCESS [ >>>> 5.167 s] >>>> [INFO] Apache Log4j Scala 2.11 wrapper for Log4j API ...... SUCCESS [ >>>> 35.346 s] >>>> [INFO] Apache Log4j Samples: Scala API .................... SUCCESS [ >>>> 5.523 s] >>>> [INFO] Apache Log4j OSGi .................................. FAILURE [ >>>> 6.002 s] >>>> [INFO] Apache Log4j BOM ................................... SKIPPED >>>> [INFO] Apache Log4j NoSQL ................................. SKIPPED >>>> [INFO] Apache Log4J Performance Tests ..................... SKIPPED >>>> [INFO] Apache Log4j Streaming Interface ................... SKIPPED >>>> [INFO] Apache Log4j JUL Adapter ........................... SKIPPED >>>> [INFO] Apache Log4j Liquibase Binding ..................... SKIPPED >>>> [INFO] Apache Log4j Scala 2.10 wrapper for Log4j API ...... SKIPPED >>>> [INFO] ------------------------------------------------------------ >>>> ------------ >>>> [INFO] BUILD FAILURE >>>> [INFO] ------------------------------------------------------------ >>>> ------------ >>>> [INFO] Total time: 20:13 min >>>> [INFO] Finished at: 2016-12-11T19:22:07+09:00 >>>> [INFO] Final Memory: 39M/379M >>>> >>> >>> > > > -- > Matt Sicker <boa...@gmail.com> > -- Matt Sicker <boa...@gmail.com>