Reposted from the user mailing list:

Hello,

I tried to run some of the unit tests in the itests project to check an
issue, but most of them failed. The most common error is that pax exam
couldn't start the container as it failed to replace
the etc\org.ops4j.pax.logging.cfg file.

Caused by: java.nio.file.FileSystemException:
C:\Users\vasil\IdeaProjects\karaf\itests\test\target\exam\95aa38e2-a6a1-405e-8072-afe35347a34e\etc\org.ops4j.pax.logging.cfg:
The process cannot access the file because it is being used by another
process.
at
java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:92)
... (full log attached)

I have checked out karaf sources version 4.2.12-SNAPSHOT from some time ago
(probably a few months).

Please find attached the intellij test log.
It failed the same way when I executed the test as part of the maven build.

I added a breakpoint at the place where the FileSystemException is thrown
and examined the open file handles of this file in Sysinternals Process
Explorer. Seems there are two open file handles for it, both by the same
java process that is executing the test (screenshots attached).

Please let me know if this is a known issue on my end if i can already
resolve it, is it version dependent or something else? Also I can provide
further details if needed.

Regards,
Vassil
"C:\Program Files\Java\jdk-9.0.4\bin\java.exe" -ea 
-Dorg.ops4j.pax.logging.DefaultServiceLog.level=INFO 
-Dspring31.version=3.1.4.RELEASE -Dspring32.version=3.2.18.RELEASE_1 
-Dspring40.version=4.0.9.RELEASE_1 -Dspring41.version=4.1.9.RELEASE_1 
-Dspring42.version=4.2.9.RELEASE_1 -Dspring43.version=4.3.30.RELEASE_1 
-Dspring50.version=5.0.20.RELEASE_1 -Dspring51.version=5.1.20.RELEASE_1 
-Dspring52.version=5.2.13.RELEASE_1 -Dspring53.version=5.3.4_1 
-Dspring.security31.version=3.1.4.RELEASE 
-Dspring.security42.version=4.2.4.RELEASE_1 
-Dspring.security51.version=5.1.5.RELEASE_1 
-Dspring.security53.version=5.3.1.RELEASE_1 -Dspring.security54.version=5.4.2_1 
-Dactivemq.version=5.15.11 
-Dpax.exam.configuration=file:src/test/resources/controlled-exam.properties 
--add-opens java.base/java.security=ALL-UNNAMED --add-opens 
java.base/java.net=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED 
--add-opens java.base/java.util=ALL-UNNAMED --add-opens 
java.naming/javax.naming.spi=ALL-UNNAMED --add-opens 
java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED 
-Didea.test.cyclic.buffer.size=1048576 "-javaagent:C:\Program 
Files\JetBrains\IntelliJ IDEA Community Edition 
2020.3.2\lib\idea_rt.jar=59774:C:\Program Files\JetBrains\IntelliJ IDEA 
Community Edition 2020.3.2\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program 
Files\JetBrains\IntelliJ IDEA Community Edition 
2020.3.2\lib\idea_rt.jar;C:\Program Files\JetBrains\IntelliJ IDEA Community 
Edition 2020.3.2\plugins\junit\lib\junit5-rt.jar;C:\Program 
Files\JetBrains\IntelliJ IDEA Community Edition 
2020.3.2\plugins\junit\lib\junit-rt.jar;C:\Users\vasil\IdeaProjects\karaf\itests\test\target\test-classes;C:\Users\vasil\IdeaProjects\karaf\itests\test\target\classes;C:\Users\vasil\IdeaProjects\karaf\itests\common\target\classes;C:\Users\vasil\.m2\repository\org\ops4j\pax\exam\pax-exam-junit4\4.13.4\pax-exam-junit4-4.13.4.jar;C:\Users\vasil\.m2\repository\org\ops4j\pax\exam\pax-exam-spi\4.13.4\pax-exam-spi-4.13.4.jar;C:\Users\vasil\.m2\repository\org\ops4j\pax\tinybundles\tinybundles\3.0.0\tinybundles-3.0.0.jar;C:\Users\vasil\.m2\repository\biz\aQute\bnd\biz.aQute.bndlib\3.5.0\biz.aQute.bndlib-3.5.0.jar;C:\Users\vasil\.m2\repository\org\ops4j\base\ops4j-base-lang\1.5.1\ops4j-base-lang-1.5.1.jar;C:\Users\vasil\IdeaProjects\karaf\shell\core\target\classes;C:\Users\vasil\.m2\repository\org\jline\jline\3.19.0\jline-3.19.0.jar;C:\Users\vasil\IdeaProjects\karaf\jaas\boot\target\classes;C:\Users\vasil\.m2\repository\org\apache\geronimo\specs\geronimo-atinject_1.0_spec\1.2\geronimo-atinject_1.0_spec-1.2.jar;C:\Users\vasil\IdeaProjects\karaf\features\core\target\classes;C:\Users\vasil\.m2\repository\org\ops4j\pax\url\pax-url-aether\2.6.7\pax-url-aether-2.6.7.jar;C:\Users\vasil\.m2\repository\org\slf4j\jcl-over-slf4j\1.7.29\jcl-over-slf4j-1.7.29.jar;C:\Users\vasil\.m2\repository\org\ops4j\base\ops4j-base-util-property\1.5.1\ops4j-base-util-property-1.5.1.jar;C:\Users\vasil\.m2\repository\org\ops4j\base\ops4j-base-util-collections\1.5.1\ops4j-base-util-collections-1.5.1.jar;C:\Users\vasil\.m2\repository\org\ops4j\pax\swissbox\pax-swissbox-property\1.8.4\pax-swissbox-property-1.8.4.jar;C:\Users\vasil\.m2\repository\jakarta\xml\bind\jakarta.xml.bind-api\2.3.3\jakarta.xml.bind-api-2.3.3.jar;C:\Users\vasil\.m2\repository\jakarta\activation\jakarta.activation-api\1.2.2\jakarta.activation-api-1.2.2.jar;C:\Users\vasil\.m2\repository\org\glassfish\jaxb\jaxb-runtime\2.3.3\jaxb-runtime-2.3.3.jar;C:\Users\vasil\.m2\repository\org\glassfish\jaxb\txw2\2.3.3\txw2-2.3.3.jar;C:\Users\vasil\.m2\repository\com\sun\istack\istack-commons-runtime\3.0.10\istack-commons-runtime-3.0.10.jar;C:\Users\vasil\.m2\repository\com\sun\activation\jakarta.activation\1.2.2\jakarta.activation-1.2.2.jar;C:\Users\vasil\.m2\repository\javax\activation\activation\1.1.1\activation-1.1.1.jar;C:\Users\vasil\.m2\repository\javax\annotation\javax.annotation-api\1.3.1\javax.annotation-api-1.3.1.jar;C:\Users\vasil\.m2\repository\org\ops4j\pax\exam\pax-exam-container-karaf\4.13.4\pax-exam-container-karaf-4.13.4.jar;C:\Users\vasil\.m2\repository\org\ops4j\pax\exam\pax-exam\4.13.4\pax-exam-4.13.4.jar;C:\Users\vasil\.m2\repository\org\ops4j\base\ops4j-base-exec\1.5.1\ops4j-base-exec-1.5.1.jar;C:\Users\vasil\.m2\repository\org\ops4j\base\ops4j-base-io\1.5.1\ops4j-base-io-1.5.1.jar;C:\Users\vasil\.m2\repository\org\ops4j\base\ops4j-base-store\1.5.1\ops4j-base-store-1.5.1.jar;C:\Users\vasil\.m2\repository\org\ops4j\pax\exam\pax-exam-container-remote\4.13.4\pax-exam-container-remote-4.13.4.jar;C:\Users\vasil\.m2\repository\org\ops4j\pax\exam\pax-exam-container-rbc-client\4.13.4\pax-exam-container-rbc-client-4.13.4.jar;C:\Users\vasil\.m2\repository\org\ops4j\pax\exam\pax-exam-container-rbc\4.13.4\pax-exam-container-rbc-4.13.4.jar;C:\Users\vasil\.m2\repository\org\ops4j\pax\swissbox\pax-swissbox-core\1.8.3\pax-swissbox-core-1.8.3.jar;C:\Users\vasil\.m2\repository\org\ops4j\pax\swissbox\pax-swissbox-lifecycle\1.8.3\pax-swissbox-lifecycle-1.8.3.jar;C:\Users\vasil\.m2\repository\org\ops4j\base\ops4j-base-net\1.5.1\ops4j-base-net-1.5.1.jar;C:\Users\vasil\.m2\repository\org\apache\commons\commons-compress\1.20\commons-compress-1.20.jar;C:\Users\vasil\.m2\repository\org\ops4j\pax\swissbox\pax-swissbox-framework\1.8.3\pax-swissbox-framework-1.8.3.jar;C:\Users\vasil\.m2\repository\org\ops4j\pax\swissbox\pax-swissbox-tracker\1.8.3\pax-swissbox-tracker-1.8.3.jar;C:\Users\vasil\.m2\repository\org\ops4j\base\ops4j-base-monitors\1.5.0\ops4j-base-monitors-1.5.0.jar;C:\Users\vasil\.m2\repository\org\ops4j\base\ops4j-base-spi\1.5.1\ops4j-base-spi-1.5.1.jar;C:\Users\vasil\.m2\repository\commons-io\commons-io\2.8.0\commons-io-2.8.0.jar;C:\Users\vasil\.m2\repository\org\osgi\osgi.core\6.0.0\osgi.core-6.0.0.jar;C:\Users\vasil\.m2\repository\org\osgi\osgi.cmpn\6.0.0\osgi.cmpn-6.0.0.jar;C:\Users\vasil\.m2\repository\org\apache\felix\org.apache.felix.gogo.runtime\1.1.4\org.apache.felix.gogo.runtime-1.1.4.jar;C:\Users\vasil\.m2\repository\org\apache\geronimo\specs\geronimo-jms_1.1_spec\1.1.1\geronimo-jms_1.1_spec-1.1.1.jar;C:\Users\vasil\.m2\repository\org\awaitility\awaitility\3.1.6\awaitility-3.1.6.jar;C:\Users\vasil\.m2\repository\org\hamcrest\hamcrest-library\1.3\hamcrest-library-1.3.jar;C:\Users\vasil\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;C:\Users\vasil\.m2\repository\org\objenesis\objenesis\2.6\objenesis-2.6.jar;C:\Users\vasil\.m2\repository\org\apache\servicemix\bundles\org.apache.servicemix.bundles.hamcrest\1.3_1\org.apache.servicemix.bundles.hamcrest-1.3_1.jar;C:\Users\vasil\.m2\repository\org\apache\felix\org.apache.felix.fileinstall\3.6.8\org.apache.felix.fileinstall-3.6.8.jar;C:\Users\vasil\IdeaProjects\karaf\shell\ssh\target\classes;C:\Users\vasil\.m2\repository\org\apache\sshd\sshd-osgi\2.5.1\sshd-osgi-2.5.1.jar;C:\Users\vasil\.m2\repository\org\apache\sshd\sshd-sftp\2.5.1\sshd-sftp-2.5.1.jar;C:\Users\vasil\.m2\repository\org\apache\sshd\sshd-core\2.5.1\sshd-core-2.5.1.jar;C:\Users\vasil\.m2\repository\org\apache\sshd\sshd-common\2.5.1\sshd-common-2.5.1.jar;C:\Users\vasil\.m2\repository\org\apache\sshd\sshd-scp\2.5.1\sshd-scp-2.5.1.jar;C:\Users\vasil\IdeaProjects\karaf\jaas\modules\target\classes;C:\Users\vasil\IdeaProjects\karaf\jaas\config\target\classes;C:\Users\vasil\IdeaProjects\karaf\jndi\target\classes;C:\Users\vasil\.m2\repository\org\apache\xbean\xbean-naming\4.18\xbean-naming-4.18.jar;C:\Users\vasil\.m2\repository\org\apache\aries\proxy\org.apache.aries.proxy.api\1.1.1\org.apache.aries.proxy.api-1.1.1.jar;C:\Users\vasil\IdeaProjects\karaf\package\target\classes;C:\Users\vasil\IdeaProjects\karaf\bundle\core\target\classes;C:\Users\vasil\.m2\repository\org\apache\felix\org.apache.felix.framework.security\2.6.1\org.apache.felix.framework.security-2.6.1.jar;C:\Users\vasil\.m2\repository\org\osgi\org.osgi.core\5.0.0\org.osgi.core-5.0.0.jar;C:\Users\vasil\.m2\repository\org\apache\felix\org.apache.felix.framework\5.6.12\org.apache.felix.framework-5.6.12.jar;C:\Users\vasil\.m2\repository\org\apache\servicemix\bundles\org.apache.servicemix.bundles.not-yet-commons-ssl\0.3.11_1\org.apache.servicemix.bundles.not-yet-commons-ssl-0.3.11_1.jar;C:\Users\vasil\.m2\repository\com\google\guava\guava\20.0\guava-20.0.jar;C:\Users\vasil\.m2\repository\org\eclipse\jetty\jetty-server\9.4.38.v20210224\jetty-server-9.4.38.v20210224.jar;C:\Users\vasil\.m2\repository\javax\servlet\javax.servlet-api\3.1.0\javax.servlet-api-3.1.0.jar;C:\Users\vasil\.m2\repository\org\eclipse\jetty\jetty-http\9.4.38.v20210224\jetty-http-9.4.38.v20210224.jar;C:\Users\vasil\.m2\repository\org\eclipse\jetty\jetty-io\9.4.38.v20210224\jetty-io-9.4.38.v20210224.jar;C:\Users\vasil\.m2\repository\org\slf4j\slf4j-log4j12\1.7.29\slf4j-log4j12-1.7.29.jar;C:\Users\vasil\.m2\repository\org\slf4j\slf4j-api\1.7.29\slf4j-api-1.7.29.jar;C:\Users\vasil\.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar;C:\Users\vasil\IdeaProjects\karaf\examples\karaf-bundle-example\karaf-bundle-example-common\target\classes;C:\Users\vasil\IdeaProjects\karaf\examples\karaf-bundle-example\karaf-bundle-example-client\target\classes;C:\Users\vasil\IdeaProjects\karaf\examples\karaf-blueprint-example\karaf-blueprint-example-common\target\classes;C:\Users\vasil\IdeaProjects\karaf\examples\karaf-blueprint-example\karaf-blueprint-example-client\target\classes;C:\Users\vasil\IdeaProjects\karaf\examples\karaf-command-example\karaf-command-example-api\target\classes;C:\Users\vasil\IdeaProjects\karaf\diagnostic\boot\target\classes;C:\Users\vasil\IdeaProjects\karaf\examples\karaf-jdbc-example\karaf-jdbc-example-api\target\classes;C:\Users\vasil\IdeaProjects\karaf\examples\karaf-jpa-example\karaf-jpa-example-provider\karaf-jpa-example-provider-api\target\classes;C:\Users\vasil\.m2\repository\org\eclipse\persistence\javax.persistence\2.1.0\javax.persistence-2.1.0.jar;C:\Users\vasil\IdeaProjects\karaf\examples\karaf-rest-example\karaf-rest-example-client\karaf-rest-example-client-http\target\classes;C:\Users\vasil\IdeaProjects\karaf\examples\karaf-websocket-example\target\classes;C:\Users\vasil\.m2\repository\org\eclipse\jetty\websocket\websocket-client\9.4.38.v20210224\websocket-client-9.4.38.v20210224.jar;C:\Users\vasil\.m2\repository\org\eclipse\jetty\jetty-client\9.4.38.v20210224\jetty-client-9.4.38.v20210224.jar;C:\Users\vasil\.m2\repository\org\eclipse\jetty\jetty-util\9.4.38.v20210224\jetty-util-9.4.38.v20210224.jar;C:\Users\vasil\.m2\repository\org\eclipse\jetty\websocket\websocket-common\9.4.38.v20210224\websocket-common-9.4.38.v20210224.jar;C:\Users\vasil\.m2\repository\org\eclipse\jetty\websocket\websocket-api\9.4.38.v20210224\websocket-api-9.4.38.v20210224.jar;C:\Users\vasil\.m2\repository\junit\junit\4.13.2\junit-4.13.2.jar;C:\Users\vasil\.m2\repository\org\easymock\easymock\4.2\easymock-4.2.jar"
 com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 
org.apache.karaf.itests.BundleTest,listCommand
2021-04-18 12:05:15,788 | INFO  | j.pax.exam.spi.DefaultExamSystem  127 | Pax 
Exam System (Version: 4.13.4) created.
2021-04-18 12:05:15,929 | INFO  | .pax.exam.junit.impl.ProbeRunner   74 | 
creating PaxExam runner for class org.apache.karaf.itests.BundleTest
2021-04-18 12:05:16,566 | INFO  | .pax.exam.junit.impl.ProbeRunner   94 | 
running test class org.apache.karaf.itests.BundleTest
2021-04-18 12:05:16,625 | INFO  | iner.internal.KarafTestContainer  229 | 
Created RMI registry server on 127.0.0.1:21000
2021-04-18 12:05:21,623 | INFO  | iner.internal.KarafTestContainer  247 | Found 
0 options when requesting OverrideJUnitBundlesOption.class
java.lang.RuntimeException: Container never came up
        at 
org.ops4j.pax.exam.karaf.container.internal.KarafTestContainer.stop(KarafTestContainer.java:688)
        at 
org.ops4j.pax.exam.spi.reactors.EagerSingleStagedReactor.tearDown(EagerSingleStagedReactor.java:118)
        at 
org.ops4j.pax.exam.spi.reactors.EagerSingleStagedReactor.afterClass(EagerSingleStagedReactor.java:132)
        at 
org.ops4j.pax.exam.spi.reactors.ReactorManager.afterClass(ReactorManager.java:441)
        at org.ops4j.pax.exam.junit.impl.ProbeRunner.run(ProbeRunner.java:107)
        at org.ops4j.pax.exam.junit.PaxExam.run(PaxExam.java:93)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
        at 
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
        at 
com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
        at 
com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:220)
        at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:53)

Process finished with exit code -2

java.lang.IllegalStateException: Error occured while replacing file 
C:\Users\vasil\IdeaProjects\karaf\itests\test\target\exam\95aa38e2-a6a1-405e-8072-afe35347a34e\etc\org.ops4j.pax.logging.cfg

        at 
org.ops4j.pax.exam.karaf.container.internal.KarafConfigurationFile.replace(KarafConfigurationFile.java:47)
        at 
org.ops4j.pax.exam.karaf.container.internal.KarafTestContainer.updateUserSetProperties(KarafTestContainer.java:474)
        at 
org.ops4j.pax.exam.karaf.container.internal.KarafTestContainer.start(KarafTestContainer.java:189)
        at 
org.ops4j.pax.exam.spi.reactors.EagerSingleStagedReactor.setUp(EagerSingleStagedReactor.java:86)
        at 
org.ops4j.pax.exam.spi.reactors.EagerSingleStagedReactor.beforeClass(EagerSingleStagedReactor.java:136)
        at 
org.ops4j.pax.exam.spi.reactors.ReactorManager.beforeClass(ReactorManager.java:457)
        at org.ops4j.pax.exam.junit.impl.ProbeRunner.run(ProbeRunner.java:97)
        at org.ops4j.pax.exam.junit.PaxExam.run(PaxExam.java:93)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
        at 
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
        at 
com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
        at 
com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:220)
        at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:53)
Caused by: java.nio.file.FileSystemException: 
C:\Users\vasil\IdeaProjects\karaf\itests\test\target\exam\95aa38e2-a6a1-405e-8072-afe35347a34e\etc\org.ops4j.pax.logging.cfg:
 The process cannot access the file because it is being used by another process.

        at 
java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:92)
        at 
java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
        at 
java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
        at java.base/sun.nio.fs.WindowsFileCopy.copy(WindowsFileCopy.java:164)
        at 
java.base/sun.nio.fs.WindowsFileSystemProvider.copy(WindowsFileSystemProvider.java:279)
        at java.base/java.nio.file.Files.copy(Files.java:1287)
        at org.apache.commons.io.FileUtils.doCopyFile(FileUtils.java:1392)
        at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:885)
        at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:835)
        at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:802)
        at 
org.ops4j.pax.exam.karaf.container.internal.KarafConfigurationFile.replace(KarafConfigurationFile.java:44)
        ... 12 more

Reply via email to