Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maven build errors - not able to find org.eclipse.openj9.criu #18205

Closed
fipro78 opened this issue Sep 27, 2023 · 6 comments
Closed

Maven build errors - not able to find org.eclipse.openj9.criu #18205

fipro78 opened this issue Sep 27, 2023 · 6 comments
Labels
criu Used to track CRIU snapshot related work question userRaised

Comments

@fipro78
Copy link

fipro78 commented Sep 27, 2023

Hi,

I am trying to create a project that contains code to create a checkpoint on an initial startup, similar to what is described here: https://blog.openj9.org/2022/09/26/getting-started-with-openj9-criu-support/

I have setup a Linux devcontainer that contains the IBM Semeru 17.0.8.1+1

$ java --version
openjdk 17.0.8.1 2023-08-24
IBM Semeru Runtime Open Edition 17.0.8.1 (build 17.0.8.1+1)
Eclipse OpenJ9 VM 17.0.8.1 (build openj9-0.40.0, JRE 17 Linux amd64-64-Bit Compressed References 20230824_549 (JIT enabled, AOT enabled)
OpenJ9   - d12d10c9e
OMR      - e80bff83b
JCL      - 8ecf238a124 based on jdk-17.0.8.1+1)

My VSCode is able to resolve the import org.eclipse.openj9.criu.CRIUSupport. But the Maven build fails, telling it can not resolve org.eclipse.openj9.criu.CRIUSupport.

I have even tried it by specifying the openj9.criu module in the compile plugin, but then it says it can not find the openj9.criu module.

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.11.0</version>
        <configuration>
          <release>${java.version}</release>
		      <!-- Use an OpenJ9 for compilation because of the CRIUSupport API usage -->
          <compilerArgs>
            <arg>--add-modules</arg>
            <arg>openj9.criu</arg>
          </compilerArgs>
        </configuration>
      </plugin>

Running the build with -X shows the following output for the project:

[INFO] 
[INFO] -------------------< zorg.fipro.osgi:benchmark.criu >-------------------
[INFO] Building benchmark.criu 1.0.0-SNAPSHOT                             [7/8]
[INFO]   from org.fipro.osgi.benchmark.criu/pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] === PROJECT BUILD PLAN ================================================
[DEBUG] Project:       zorg.fipro.osgi:benchmark.criu:1.0.0-SNAPSHOT
[DEBUG] Dependencies (collect): []
[DEBUG] Dependencies (resolve): [compile, runtime, test]
[DEBUG] Repositories (dependencies): [bnd-release (https://bndtools.jfrog.io/bndtools/libs-release/, default, releases), OSGi (https://oss.sonatype.org/content/groups/osgi, default, releases+snapshots), Apache Snapshots (https://repository.apache.org/content/groups/snapshots/, default, snapshots), central (https://repo.maven.apache.org/maven2, default, releases)]
[DEBUG] Repositories (plugins)     : [bnd-release (https://bndtools.jfrog.io/bndtools/libs-release/, default, releases+snapshots), central (https://repo.maven.apache.org/maven2, default, releases)]
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          org.apache.maven.plugins:maven-clean-plugin:3.2.0:clean (default-clean)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <directory default-value="${project.build.directory}"/>
  <excludeDefaultDirectories default-value="false">${maven.clean.excludeDefaultDirectories}</excludeDefaultDirectories>
  <failOnError default-value="true">${maven.clean.failOnError}</failOnError>
  <fast default-value="false">${maven.clean.fast}</fast>
  <fastDir>${maven.clean.fastDir}</fastDir>
  <fastMode default-value="background">${maven.clean.fastMode}</fastMode>
  <followSymLinks default-value="false">${maven.clean.followSymLinks}</followSymLinks>
  <outputDirectory default-value="${project.build.outputDirectory}"/>
  <reportDirectory default-value="${project.build.outputDirectory}"/>
  <retryOnError default-value="true">${maven.clean.retryOnError}</retryOnError>
  <session default-value="${session}"/>
  <skip default-value="false">${maven.clean.skip}</skip>
  <testOutputDirectory default-value="${project.build.testOutputDirectory}"/>
  <verbose>${maven.clean.verbose}</verbose>
</configuration>
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          org.apache.maven.plugins:maven-resources-plugin:3.3.1:resources (default-resources)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <addDefaultExcludes default-value="true"/>
  <buildFilters default-value="${project.build.filters}"/>
  <encoding default-value="${project.build.sourceEncoding}"/>
  <escapeWindowsPaths default-value="true"/>
  <fileNameFiltering default-value="false"/>
  <includeEmptyDirs default-value="false"/>
  <outputDirectory default-value="${project.build.outputDirectory}"/>
  <overwrite default-value="false"/>
  <project default-value="${project}"/>
  <resources default-value="${project.resources}"/>
  <session default-value="${session}"/>
  <skip default-value="false">${maven.resources.skip}</skip>
  <supportMultiLineFiltering default-value="false"/>
  <useBuildFilters default-value="true"/>
  <useDefaultDelimiters default-value="true"/>
</configuration>
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <basedir default-value="${basedir}"/>
  <buildDirectory default-value="${project.build.directory}"/>
  <compilePath default-value="${project.compileClasspathElements}"/>
  <compileSourceRoots default-value="${project.compileSourceRoots}"/>
  <compilerArgs>
    <arg>--add-modules</arg>
    <arg>openj9.criu</arg>
  </compilerArgs>
  <compilerId default-value="javac">${maven.compiler.compilerId}</compilerId>
  <compilerReuseStrategy default-value="${reuseCreated}">${maven.compiler.compilerReuseStrategy}</compilerReuseStrategy>
  <compilerVersion>${maven.compiler.compilerVersion}</compilerVersion>
  <createMissingPackageInfoClass default-value="true">${maven.compiler.createMissingPackageInfoClass}</createMissingPackageInfoClass>
  <debug default-value="true">${maven.compiler.debug}</debug>
  <debugFileName default-value="javac"/>
  <debuglevel>${maven.compiler.debuglevel}</debuglevel>
  <enablePreview default-value="false">${maven.compiler.enablePreview}</enablePreview>
  <encoding default-value="${project.build.sourceEncoding}">${encoding}</encoding>
  <executable>${maven.compiler.executable}</executable>
  <failOnError default-value="true">${maven.compiler.failOnError}</failOnError>
  <failOnWarning default-value="false">${maven.compiler.failOnWarning}</failOnWarning>
  <forceJavacCompilerUse default-value="false">${maven.compiler.forceJavacCompilerUse}</forceJavacCompilerUse>
  <fork default-value="false">${maven.compiler.fork}</fork>
  <generatedSourcesDirectory default-value="${project.build.directory}/generated-sources/annotations"/>
  <implicit>${maven.compiler.implicit}</implicit>
  <maxmem>${maven.compiler.maxmem}</maxmem>
  <meminitial>${maven.compiler.meminitial}</meminitial>
  <mojoExecution default-value="${mojoExecution}"/>
  <optimize default-value="false">${maven.compiler.optimize}</optimize>
  <outputDirectory default-value="${project.build.outputDirectory}"/>
  <parameters default-value="false">${maven.compiler.parameters}</parameters>
  <project default-value="${project}"/>
  <projectArtifact default-value="${project.artifact}"/>
  <release>11</release>
  <session default-value="${session}"/>
  <showCompilationChanges default-value="false">${maven.compiler.showCompilationChanges}</showCompilationChanges>
  <showDeprecation default-value="false">${maven.compiler.showDeprecation}</showDeprecation>
  <showWarnings default-value="true">${maven.compiler.showWarnings}</showWarnings>
  <skipMain>${maven.main.skip}</skipMain>
  <skipMultiThreadWarning default-value="false">${maven.compiler.skipMultiThreadWarning}</skipMultiThreadWarning>
  <source default-value="1.8">${maven.compiler.source}</source>
  <staleMillis default-value="0">${lastModGranularityMs}</staleMillis>
  <target default-value="1.8">${maven.compiler.target}</target>
  <useIncrementalCompilation default-value="true">${maven.compiler.useIncrementalCompilation}</useIncrementalCompilation>
  <verbose default-value="false">${maven.compiler.verbose}</verbose>
</configuration>
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          biz.aQute.bnd:bnd-maven-plugin:6.4.0:bnd-process (default)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <bnd>Bundle-SymbolicName: zorg.fipro.osgi.benchmark.criu
-sources: true
-contract: *
-jpms-module-info:</bnd>
  <bndfile default-value="bnd.bnd"/>
  <classesDir default-value="${project.build.outputDirectory}"/>
  <finalName default-value="${project.build.finalName}"/>
  <includeClassesDir default-value="true"/>
  <manifestPath default-value="${project.build.outputDirectory}/META-INF/MANIFEST.MF"/>
  <mojoExecution default-value="${mojoExecution}"/>
  <outputDir default-value="${project.build.outputDirectory}"/>
  <outputTimestamp default-value="${project.build.outputTimestamp}"/>
  <packagingTypes default-value="jar,war">${bnd.packagingTypes}</packagingTypes>
  <project default-value="${project}"/>
  <resources default-value="${project.build.resources}"/>
  <settings default-value="${settings}"/>
  <skip default-value="false">${bnd.skip}</skip>
  <skipIfEmpty default-value="false">${bnd.skipIfEmpty}</skipIfEmpty>
  <sourceDir default-value="${project.build.sourceDirectory}"/>
  <webappDirectory default-value="${project.build.directory}/${project.build.finalName}"/>
</configuration>
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          org.apache.maven.plugins:maven-resources-plugin:3.3.1:testResources (default-testResources)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <addDefaultExcludes default-value="true"/>
  <buildFilters default-value="${project.build.filters}"/>
  <encoding default-value="${project.build.sourceEncoding}"/>
  <escapeWindowsPaths default-value="true"/>
  <fileNameFiltering default-value="false"/>
  <includeEmptyDirs default-value="false"/>
  <outputDirectory default-value="${project.build.testOutputDirectory}"/>
  <overwrite default-value="false"/>
  <project default-value="${project}"/>
  <resources default-value="${project.testResources}"/>
  <session default-value="${session}"/>
  <skip default-value="false">${maven.test.skip}</skip>
  <supportMultiLineFiltering default-value="false"/>
  <useBuildFilters default-value="true"/>
  <useDefaultDelimiters default-value="true"/>
</configuration>
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          org.apache.maven.plugins:maven-compiler-plugin:3.11.0:testCompile (default-testCompile)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <basedir default-value="${basedir}"/>
  <buildDirectory default-value="${project.build.directory}"/>
  <compileSourceRoots default-value="${project.testCompileSourceRoots}"/>
  <compilerArgs>
    <arg>--add-modules</arg>
    <arg>openj9.criu</arg>
  </compilerArgs>
  <compilerId default-value="javac">${maven.compiler.compilerId}</compilerId>
  <compilerReuseStrategy default-value="${reuseCreated}">${maven.compiler.compilerReuseStrategy}</compilerReuseStrategy>
  <compilerVersion>${maven.compiler.compilerVersion}</compilerVersion>
  <createMissingPackageInfoClass default-value="true">${maven.compiler.createMissingPackageInfoClass}</createMissingPackageInfoClass>
  <debug default-value="true">${maven.compiler.debug}</debug>
  <debugFileName default-value="javac-test"/>
  <debuglevel>${maven.compiler.debuglevel}</debuglevel>
  <enablePreview default-value="false">${maven.compiler.enablePreview}</enablePreview>
  <encoding default-value="${project.build.sourceEncoding}">${encoding}</encoding>
  <executable>${maven.compiler.executable}</executable>
  <failOnError default-value="true">${maven.compiler.failOnError}</failOnError>
  <failOnWarning default-value="false">${maven.compiler.failOnWarning}</failOnWarning>
  <forceJavacCompilerUse default-value="false">${maven.compiler.forceJavacCompilerUse}</forceJavacCompilerUse>
  <fork default-value="false">${maven.compiler.fork}</fork>
  <generatedTestSourcesDirectory default-value="${project.build.directory}/generated-test-sources/test-annotations"/>
  <implicit>${maven.compiler.implicit}</implicit>
  <maxmem>${maven.compiler.maxmem}</maxmem>
  <meminitial>${maven.compiler.meminitial}</meminitial>
  <mojoExecution default-value="${mojoExecution}"/>
  <optimize default-value="false">${maven.compiler.optimize}</optimize>
  <outputDirectory default-value="${project.build.testOutputDirectory}"/>
  <parameters default-value="false">${maven.compiler.parameters}</parameters>
  <project default-value="${project}"/>
  <release>11</release>
  <session default-value="${session}"/>
  <showCompilationChanges default-value="false">${maven.compiler.showCompilationChanges}</showCompilationChanges>
  <showDeprecation default-value="false">${maven.compiler.showDeprecation}</showDeprecation>
  <showWarnings default-value="true">${maven.compiler.showWarnings}</showWarnings>
  <skip>${maven.test.skip}</skip>
  <skipMultiThreadWarning default-value="false">${maven.compiler.skipMultiThreadWarning}</skipMultiThreadWarning>
  <source default-value="1.8">${maven.compiler.source}</source>
  <staleMillis default-value="0">${lastModGranularityMs}</staleMillis>
  <target default-value="1.8">${maven.compiler.target}</target>
  <testPath default-value="${project.testClasspathElements}"/>
  <testRelease>${maven.compiler.testRelease}</testRelease>
  <testSource>${maven.compiler.testSource}</testSource>
  <testTarget>${maven.compiler.testTarget}</testTarget>
  <useIncrementalCompilation default-value="true">${maven.compiler.useIncrementalCompilation}</useIncrementalCompilation>
  <useModulePath default-value="true"/>
  <verbose default-value="false">${maven.compiler.verbose}</verbose>
</configuration>
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          org.apache.maven.plugins:maven-surefire-plugin:3.1.2:test (default-test)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <additionalClasspathElements>${maven.test.additionalClasspath}</additionalClasspathElements>
  <argLine>${argLine}</argLine>
  <basedir default-value="${basedir}"/>
  <childDelegation default-value="false">${childDelegation}</childDelegation>
  <classesDirectory default-value="${project.build.outputDirectory}"/>
  <classpathDependencyExcludes>${maven.test.dependency.excludes}</classpathDependencyExcludes>
  <debugForkedProcess>${maven.surefire.debug}</debugForkedProcess>
  <dependenciesToScan>${dependenciesToScan}</dependenciesToScan>
  <disableXmlReport default-value="false">${disableXmlReport}</disableXmlReport>
  <enableAssertions default-value="true">${enableAssertions}</enableAssertions>
  <enableProcessChecker>${surefire.enableProcessChecker}</enableProcessChecker>
  <encoding default-value="${project.reporting.outputEncoding}">${surefire.encoding}</encoding>
  <excludeJUnit5Engines>${surefire.excludeJUnit5Engines}</excludeJUnit5Engines>
  <excludedEnvironmentVariables>${surefire.excludedEnvironmentVariables}</excludedEnvironmentVariables>
  <excludedGroups>${excludedGroups}</excludedGroups>
  <excludes>${surefire.excludes}</excludes>
  <excludesFile>${surefire.excludesFile}</excludesFile>
  <failIfNoSpecifiedTests default-value="true">${surefire.failIfNoSpecifiedTests}</failIfNoSpecifiedTests>
  <failIfNoTests default-value="false">${failIfNoTests}</failIfNoTests>
  <failOnFlakeCount default-value="0">${surefire.failOnFlakeCount}</failOnFlakeCount>
  <forkCount default-value="1">${forkCount}</forkCount>
  <forkNode>${surefire.forkNode}</forkNode>
  <forkedProcessExitTimeoutInSeconds default-value="30">${surefire.exitTimeout}</forkedProcessExitTimeoutInSeconds>
  <forkedProcessTimeoutInSeconds>${surefire.timeout}</forkedProcessTimeoutInSeconds>
  <groups>${groups}</groups>
  <includeJUnit5Engines>${surefire.includeJUnit5Engines}</includeJUnit5Engines>
  <includes>${surefire.includes}</includes>
  <includesFile>${surefire.includesFile}</includesFile>
  <junitArtifactName default-value="junit:junit">${junitArtifactName}</junitArtifactName>
  <jvm>${jvm}</jvm>
  <objectFactory>${objectFactory}</objectFactory>
  <parallel>${parallel}</parallel>
  <parallelMavenExecution default-value="${session.parallel}"/>
  <parallelOptimized default-value="true">${parallelOptimized}</parallelOptimized>
  <parallelTestsTimeoutForcedInSeconds>${surefire.parallel.forcedTimeout}</parallelTestsTimeoutForcedInSeconds>
  <parallelTestsTimeoutInSeconds>${surefire.parallel.timeout}</parallelTestsTimeoutInSeconds>
  <perCoreThreadCount default-value="true">${perCoreThreadCount}</perCoreThreadCount>
  <pluginArtifactMap>${plugin.artifactMap}</pluginArtifactMap>
  <pluginDescriptor default-value="${plugin}"/>
  <printSummary default-value="true">${surefire.printSummary}</printSummary>
  <project default-value="${project}"/>
  <projectArtifactMap>${project.artifactMap}</projectArtifactMap>
  <projectBuildDirectory default-value="${project.build.directory}"/>
  <redirectTestOutputToFile default-value="false">${maven.test.redirectTestOutputToFile}</redirectTestOutputToFile>
  <reportFormat default-value="brief">${surefire.reportFormat}</reportFormat>
  <reportNameSuffix default-value="">${surefire.reportNameSuffix}</reportNameSuffix>
  <reportsDirectory default-value="${project.build.directory}/surefire-reports"/>
  <rerunFailingTestsCount default-value="0">${surefire.rerunFailingTestsCount}</rerunFailingTestsCount>
  <reuseForks default-value="true">${reuseForks}</reuseForks>
  <runOrder default-value="filesystem">${surefire.runOrder}</runOrder>
  <runOrderRandomSeed>${surefire.runOrder.random.seed}</runOrderRandomSeed>
  <session default-value="${session}"/>
  <shutdown default-value="exit">${surefire.shutdown}</shutdown>
  <skip default-value="false">${maven.test.skip}</skip>
  <skipAfterFailureCount default-value="0">${surefire.skipAfterFailureCount}</skipAfterFailureCount>
  <skipExec>${maven.test.skip.exec}</skipExec>
  <skipTests default-value="false">${skipTests}</skipTests>
  <suiteXmlFiles>${surefire.suiteXmlFiles}</suiteXmlFiles>
  <systemPropertiesFile>${surefire.systemPropertiesFile}</systemPropertiesFile>
  <tempDir default-value="surefire">${tempDir}</tempDir>
  <test>${test}</test>
  <testClassesDirectory default-value="${project.build.testOutputDirectory}"/>
  <testFailureIgnore default-value="false">${maven.test.failure.ignore}</testFailureIgnore>
  <testNGArtifactName default-value="org.testng:testng">${testNGArtifactName}</testNGArtifactName>
  <testSourceDirectory default-value="${project.build.testSourceDirectory}"/>
  <threadCount>${threadCount}</threadCount>
  <threadCountClasses default-value="0">${threadCountClasses}</threadCountClasses>
  <threadCountMethods default-value="0">${threadCountMethods}</threadCountMethods>
  <threadCountSuites default-value="0">${threadCountSuites}</threadCountSuites>
  <trimStackTrace default-value="false">${trimStackTrace}</trimStackTrace>
  <useFile default-value="true">${surefire.useFile}</useFile>
  <useManifestOnlyJar default-value="true">${surefire.useManifestOnlyJar}</useManifestOnlyJar>
  <useModulePath default-value="true">${surefire.useModulePath}</useModulePath>
  <useSystemClassLoader default-value="true">${surefire.useSystemClassLoader}</useSystemClassLoader>
  <useUnlimitedThreads default-value="false">${useUnlimitedThreads}</useUnlimitedThreads>
  <workingDirectory>${basedir}</workingDirectory>
</configuration>
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          org.apache.maven.plugins:maven-jar-plugin:3.3.0:jar (default-jar)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <archive>
    <manifestFile>/workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/classes/META-INF/MANIFEST.MF</manifestFile>
  </archive>
  <classesDirectory default-value="${project.build.outputDirectory}"/>
  <finalName default-value="${project.build.finalName}"/>
  <forceCreation default-value="false">${maven.jar.forceCreation}</forceCreation>
  <outputDirectory default-value="${project.build.directory}"/>
  <outputTimestamp default-value="${project.build.outputTimestamp}"/>
  <project default-value="${project}"/>
  <session default-value="${session}"/>
  <skipIfEmpty default-value="false">true</skipIfEmpty>
  <useDefaultManifestFile default-value="false">${jar.useDefaultManifestFile}</useDefaultManifestFile>
</configuration>
[DEBUG] =======================================================================
[DEBUG] Dependency collection stats {ConflictMarker.analyzeTime=204407, ConflictMarker.markTime=210207, ConflictMarker.nodeCount=11, ConflictIdSorter.graphTime=29801, ConflictIdSorter.topsortTime=18001, ConflictIdSorter.conflictIdCount=6, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=396914, ConflictResolver.conflictItemCount=10, DfDependencyCollector.collectTime=1379349, DfDependencyCollector.transformTime=902031}
[DEBUG] zorg.fipro.osgi:benchmark.criu:jar:1.0.0-SNAPSHOT
[DEBUG]    org.osgi:osgi.core:jar:8.0.0:provided
[DEBUG]    org.osgi:osgi.annotation:jar:8.1.0:provided
[DEBUG]    org.osgi:org.osgi.service.component.annotations:jar:1.5.1:provided
[DEBUG]       org.osgi:org.osgi.namespace.extender:jar:1.0.1:provided
[DEBUG]       org.osgi:org.osgi.util.function:jar:1.2.0:runtime (scope managed from compile) (version managed from 1.0.0)
[DEBUG]       org.osgi:org.osgi.util.promise:jar:1.2.0:runtime (scope managed from compile) (version managed from 1.0.0)
[INFO] 
[INFO] --- clean:3.2.0:clean (default-clean) @ benchmark.criu ---
[DEBUG] Loading mojo org.apache.maven.plugins:maven-clean-plugin:3.2.0:clean from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-clean-plugin:3.2.0, parent: jdk.internal.loader.ClassLoaders$AppClassLoader@9fdd0f13]
[DEBUG] Configuring mojo execution 'org.apache.maven.plugins:maven-clean-plugin:3.2.0:clean:default-clean' with basic configurator -->
[DEBUG]   (f) directory = /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target
[DEBUG]   (f) excludeDefaultDirectories = false
[DEBUG]   (f) failOnError = true
[DEBUG]   (f) fast = false
[DEBUG]   (f) fastMode = background
[DEBUG]   (f) followSymLinks = false
[DEBUG]   (f) outputDirectory = /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/classes
[DEBUG]   (f) reportDirectory = /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/classes
[DEBUG]   (f) retryOnError = true
[DEBUG]   (f) session = org.apache.maven.execution.MavenSession@2c267b0f
[DEBUG]   (f) skip = false
[DEBUG]   (f) testOutputDirectory = /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/test-classes
[DEBUG] -- end configuration --
[INFO] Deleting /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target
[INFO] Deleting directory /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/test-classes
[INFO] Deleting file /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
[INFO] Deleting file /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
[INFO] Deleting directory /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/maven-status/maven-compiler-plugin/compile/default-compile
[INFO] Deleting directory /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/maven-status/maven-compiler-plugin/compile
[INFO] Deleting directory /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/maven-status/maven-compiler-plugin
[INFO] Deleting directory /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/maven-status
[INFO] Deleting directory /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/generated-sources/annotations
[INFO] Deleting directory /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/generated-sources
[INFO] Deleting file /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/classes/module-info.class
[INFO] Deleting file /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/classes/META-INF/MANIFEST.MF
[INFO] Deleting file /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/classes/META-INF/jpms.args
[INFO] Deleting directory /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/classes/META-INF
[INFO] Deleting directory /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/classes
[INFO] Deleting directory /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target
[DEBUG] Skipping non-existing directory /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/classes
[DEBUG] Skipping non-existing directory /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/test-classes
[DEBUG] Skipping non-existing directory /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/classes
[INFO] 
[INFO] --- resources:3.3.1:resources (default-resources) @ benchmark.criu ---
[DEBUG] Loading mojo org.apache.maven.plugins:maven-resources-plugin:3.3.1:resources from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-resources-plugin:3.3.1, parent: jdk.internal.loader.ClassLoaders$AppClassLoader@9fdd0f13]
[DEBUG] Configuring mojo execution 'org.apache.maven.plugins:maven-resources-plugin:3.3.1:resources:default-resources' with basic configurator -->
[DEBUG]   (f) addDefaultExcludes = true
[DEBUG]   (f) buildFilters = []
[DEBUG]   (f) encoding = UTF-8
[DEBUG]   (f) escapeWindowsPaths = true
[DEBUG]   (f) fileNameFiltering = false
[DEBUG]   (s) includeEmptyDirs = false
[DEBUG]   (s) outputDirectory = /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/classes
[DEBUG]   (s) overwrite = false
[DEBUG]   (f) project = MavenProject: zorg.fipro.osgi:benchmark.criu:1.0.0-SNAPSHOT @ /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/pom.xml
[DEBUG]   (s) resources = [Resource {targetPath: null, filtering: false, FileSet {directory: /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/src/main/resources, PatternSet [includes: {}, excludes: {}]}}]
[DEBUG]   (f) session = org.apache.maven.execution.MavenSession@2c267b0f
[DEBUG]   (f) skip = false
[DEBUG]   (f) supportMultiLineFiltering = false
[DEBUG]   (f) useBuildFilters = true
[DEBUG]   (s) useDefaultDelimiters = true
[DEBUG] -- end configuration --
[DEBUG] properties used:
[DEBUG] awt.toolkit: sun.awt.X11.XToolkit
[DEBUG] bnd.version: 6.4.0
[DEBUG] classworlds.conf: /usr/local/sdkman/candidates/maven/current/bin/m2.conf
[DEBUG] com.ibm.cpu.endian: little
[DEBUG] com.ibm.jcl.checkClassPath: 
[DEBUG] com.ibm.oti.configuration: scar
[DEBUG] com.ibm.oti.shared.enabled: false
[DEBUG] com.ibm.oti.vm.bootstrap.library.path: /usr/local/sdkman/candidates/java/17.0.8.1-sem/lib/default:/usr/local/sdkman/candidates/java/17.0.8.1-sem/lib
[DEBUG] com.ibm.oti.vm.library.version: 29
[DEBUG] com.ibm.system.agent.path: /usr/local/sdkman/candidates/java/17.0.8.1-sem/lib
[DEBUG] com.ibm.util.extralibs.properties: 
[DEBUG] com.ibm.vm.bitmode: 64
[DEBUG] env.BROWSER: /vscode/vscode-server/bin/linux-x64/6445d93c81ebe42c4cbd7a60712e0b17d9463e97/bin/helpers/browser.sh
[DEBUG] env.COLORTERM: truecolor
[DEBUG] env.GIT_ASKPASS: /vscode/vscode-server/bin/linux-x64/6445d93c81ebe42c4cbd7a60712e0b17d9463e97/extensions/git/dist/askpass.sh
[DEBUG] env.GIT_EDITOR: code --wait
[DEBUG] env.HOME: /root
[DEBUG] env.HOSTNAME: c1f9403bfb92
[DEBUG] env.HTTPS_PROXY: http://host.docker.internal:3128
[DEBUG] env.HTTP_PROXY: http://host.docker.internal:3128
[DEBUG] env.JAVA_HOME: /usr/local/sdkman/candidates/java/current
[DEBUG] env.LANG: en_US.UTF-8
[DEBUG] env.MAVEN_CMD_LINE_ARGS:  clean verify -Pcriu -X
[DEBUG] env.MAVEN_HOME: /usr/local/sdkman/candidates/maven/current
[DEBUG] env.MAVEN_PROJECTBASEDIR: /workspaces/osgi_deployment_options
[DEBUG] env.NO_PROXY: host.docker.internal,localhost,127.0.0.1
[DEBUG] env.NVM_CD_FLAGS: 
[DEBUG] env.NVM_DIR: /usr/local/share/nvm
[DEBUG] env.NVM_RC_VERSION: 
[DEBUG] env.NVM_SYMLINK_CURRENT: true
[DEBUG] env.OLDPWD: /workspaces/osgi_deployment_options
[DEBUG] env.OPENJ9_JAVA_COMMAND_LINE: /usr/local/sdkman/candidates/java/current/bin/java -classpath /usr/local/sdkman/candidates/maven/current/boot/plexus-classworlds-2.7.0.jar -Dclassworlds.conf=/usr/local/sdkman/candidates/maven/current/bin/m2.conf -Dmaven.home=/usr/local/sdkman/candidates/maven/current -Dlibrary.jansi.path=/usr/local/sdkman/candidates/maven/current/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/workspaces/osgi_deployment_options org.codehaus.plexus.classworlds.launcher.Launcher clean verify -Pcriu -X
[DEBUG] env.PATH: /vscode/vscode-server/bin/linux-x64/6445d93c81ebe42c4cbd7a60712e0b17d9463e97/bin/remote-cli:/usr/local/sdkman/bin:/usr/local/sdkman/candidates/java/current/bin:/usr/local/sdkman/candidates/gradle/current/bin:/usr/local/sdkman/candidates/maven/current/bin:/usr/local/sdkman/candidates/ant/current/bin:/usr/local/share/nvm/current/bin:/usr/local/sdkman/bin:/usr/local/sdkman/candidates/java/current/bin:/usr/local/sdkman/candidates/gradle/current/bin:/usr/local/sdkman/candidates/maven/current/bin:/usr/local/sdkman/candidates/ant/current/bin:/usr/lib/jvm/msopenjdk-current/bin:/usr/local/sdkman/bin:/usr/local/sdkman/candidates/java/current/bin:/usr/local/sdkman/candidates/gradle/current/bin:/usr/local/sdkman/candidates/maven/current/bin:/usr/local/sdkman/candidates/ant/current/bin:/usr/local/share/nvm/current/bin:/usr/local/sdkman/bin:/usr/local/sdkman/candidates/java/current/bin:/usr/local/sdkman/candidates/gradle/current/bin:/usr/local/sdkman/candidates/maven/current/bin:/usr/local/sdkman/candidates/ant/current/bin:/usr/lib/jvm/msopenjdk-current/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/.local/bin
[DEBUG] env.PROMPT_DIRTRIM: 4
[DEBUG] env.PROXY_HOST: host.docker.internal
[DEBUG] env.PROXY_PORT: 3128
[DEBUG] env.PWD: /workspaces/osgi_deployment_options
[DEBUG] env.REMOTE_CONTAINERS: true
[DEBUG] env.REMOTE_CONTAINERS_IPC: /tmp/vscode-remote-containers-ipc-dc07ad5f-e6e5-493d-89d6-17c5877280d8.sock
[DEBUG] env.REMOTE_CONTAINERS_SOCKETS: ["/tmp/vscode-ssh-auth-dc07ad5f-e6e5-493d-89d6-17c5877280d8.sock"]
[DEBUG] env.SDKMAN_CANDIDATES_API: https://api.sdkman.io/2
[DEBUG] env.SDKMAN_CANDIDATES_DIR: /usr/local/sdkman/candidates
[DEBUG] env.SDKMAN_DIR: /usr/local/sdkman
[DEBUG] env.SDKMAN_PLATFORM: linuxx64
[DEBUG] env.SDKMAN_VERSION: 5.16.0
[DEBUG] env.SHELL: /bin/bash
[DEBUG] env.SHLVL: 2
[DEBUG] env.SSH_AUTH_SOCK: /tmp/vscode-ssh-auth-dc07ad5f-e6e5-493d-89d6-17c5877280d8.sock
[DEBUG] env.TERM: xterm-256color
[DEBUG] env.TERM_PROGRAM: vscode
[DEBUG] env.TERM_PROGRAM_VERSION: 1.81.0
[DEBUG] env.USER: root
[DEBUG] env.VSCODE_GIT_ASKPASS_EXTRA_ARGS: 
[DEBUG] env.VSCODE_GIT_ASKPASS_MAIN: /vscode/vscode-server/bin/linux-x64/6445d93c81ebe42c4cbd7a60712e0b17d9463e97/extensions/git/dist/askpass-main.js
[DEBUG] env.VSCODE_GIT_ASKPASS_NODE: /vscode/vscode-server/bin/linux-x64/6445d93c81ebe42c4cbd7a60712e0b17d9463e97/node
[DEBUG] env.VSCODE_GIT_IPC_HANDLE: /tmp/vscode-git-a5e2e12e1f.sock
[DEBUG] env.VSCODE_IPC_HOOK_CLI: /tmp/vscode-ipc-7f73200a-a0a7-4170-9256-6f9ff900b574.sock
[DEBUG] env._: /usr/local/sdkman/candidates/maven/current/bin/mvn
[DEBUG] env.http_proxy: http://host.docker.internal:3128
[DEBUG] env.https_proxy: http://host.docker.internal:3128
[DEBUG] env.no_proxy: host.docker.internal,localhost,127.0.0.1
[DEBUG] file.encoding: UTF-8
[DEBUG] file.encoding.pkg: sun.io
[DEBUG] file.separator: /
[DEBUG] ibm.signalhandling.rs: false
[DEBUG] ibm.signalhandling.sigchain: true
[DEBUG] ibm.signalhandling.sigint: true
[DEBUG] ibm.system.encoding: UTF-8
[DEBUG] java.awt.fonts: 
[DEBUG] java.awt.graphicsenv: sun.awt.X11GraphicsEnvironment
[DEBUG] java.awt.printerjob: sun.print.PSPrinterJob
[DEBUG] java.class.path: /usr/local/sdkman/candidates/maven/current/boot/plexus-classworlds-2.7.0.jar
[DEBUG] java.class.version: 61.0
[DEBUG] java.compiler: j9jit29
[DEBUG] java.fullversion: 17.0.8.1+1
JRE 17 Linux amd64-64-Bit Compressed References 20230824_549 (JIT enabled, AOT enabled)
OpenJ9   - d12d10c9e
OMR      - e80bff83b
JCL      - 8ecf238a124 based on jdk-17.0.8.1+1
[DEBUG] java.home: /usr/local/sdkman/candidates/java/17.0.8.1-sem
[DEBUG] java.io.tmpdir: /tmp
[DEBUG] java.lang.invoke.VarHandle.VAR_HANDLE_GUARDS: false
[DEBUG] java.library.path: /usr/local/sdkman/candidates/java/17.0.8.1-sem/lib/default:/usr/local/sdkman/candidates/java/17.0.8.1-sem/lib:/usr/lib64:/usr/lib
[DEBUG] java.runtime.name: IBM Semeru Runtime Open Edition
[DEBUG] java.runtime.version: 17.0.8.1+1
[DEBUG] java.specification.name: Java Platform API Specification
[DEBUG] java.specification.vendor: Oracle Corporation
[DEBUG] java.specification.version: 17
[DEBUG] java.vendor: IBM Corporation
[DEBUG] java.vendor.url: https://www.ibm.com/semeru-runtimes
[DEBUG] java.vendor.url.bug: https://github.com/ibmruntimes/Semeru-Runtimes/issues
[DEBUG] java.vendor.version: 17.0.8.1
[DEBUG] java.version: 17.0.8.1
[DEBUG] java.version.date: 2023-08-24
[DEBUG] java.vm.info: JRE 17 Linux amd64-64-Bit Compressed References 20230824_549 (JIT enabled, AOT enabled)
OpenJ9   - d12d10c9e
OMR      - e80bff83b
JCL      - 8ecf238a124 based on jdk-17.0.8.1+1
[DEBUG] java.vm.name: Eclipse OpenJ9 VM
[DEBUG] java.vm.specification.name: Java Virtual Machine Specification
[DEBUG] java.vm.specification.vendor: Oracle Corporation
[DEBUG] java.vm.specification.version: 17
[DEBUG] java.vm.vendor: Eclipse OpenJ9
[DEBUG] java.vm.version: openj9-0.40.0
[DEBUG] jdk.extensions.name: Extensions for OpenJDK for Eclipse OpenJ9
[DEBUG] jdk.extensions.version: 17.0.8.1
[DEBUG] library.jansi.path: /usr/local/sdkman/candidates/maven/current/lib/jansi-native
[DEBUG] line.separator: 

[DEBUG] maven.build.timestamp: 2023-09-27T05:39:51Z
[DEBUG] maven.build.version: Apache Maven 3.9.4 (dfbb324ad4a7c8fb0bf182e6d91b0ae20e3d2dd9)
[DEBUG] maven.conf: /usr/local/sdkman/candidates/maven/current/conf
[DEBUG] maven.home: /usr/local/sdkman/candidates/maven/current
[DEBUG] maven.multiModuleProjectDirectory: /workspaces/osgi_deployment_options
[DEBUG] maven.version: 3.9.4
[DEBUG] native.encoding: UTF-8
[DEBUG] openjdk.methodhandles: true
[DEBUG] org.eclipse.openj9.criu.isCRIUCapable: true
[DEBUG] os.arch: amd64
[DEBUG] os.encoding: UTF-8
[DEBUG] os.name: Linux
[DEBUG] os.version: 5.15.90.1-microsoft-standard-WSL2
[DEBUG] path.separator: :
[DEBUG] project.baseUri: file:/workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/
[DEBUG] project.build.sourceEncoding: UTF-8
[DEBUG] sun.arch.data.model: 64
[DEBUG] sun.boot.library.path: /usr/local/sdkman/candidates/java/17.0.8.1-sem/lib/default:/usr/local/sdkman/candidates/java/17.0.8.1-sem/lib
[DEBUG] sun.cpu.endian: little
[DEBUG] sun.io.unicode.encoding: UnicodeLittle
[DEBUG] sun.java.command: org.codehaus.plexus.classworlds.launcher.Launcher clean verify -Pcriu -X
[DEBUG] sun.java.launcher: SUN_STANDARD
[DEBUG] sun.jnu.encoding: UTF-8
[DEBUG] user.country: US
[DEBUG] user.dir: /workspaces/osgi_deployment_options
[DEBUG] user.home: /root
[DEBUG] user.language: en
[DEBUG] user.name: root
[DEBUG] user.variant: 
[DEBUG] Using 'UTF-8' encoding to copy filtered resources.
[DEBUG] Using 'UTF-8' encoding to copy filtered properties files.
[DEBUG] resource with targetPath null
directory /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/src/main/resources
excludes []
includes []
[DEBUG] ignoreDelta true
[INFO] Copying 0 resource from src/main/resources to target/classes
[DEBUG] no user filter components
[INFO] 
[INFO] --- compiler:3.11.0:compile (default-compile) @ benchmark.criu ---
[DEBUG] Loading mojo org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-compiler-plugin:3.11.0, parent: jdk.internal.loader.ClassLoaders$AppClassLoader@9fdd0f13]
[DEBUG] Configuring mojo execution 'org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile:default-compile' with basic configurator -->
[DEBUG]   (f) basedir = /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu
[DEBUG]   (f) buildDirectory = /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target
[DEBUG]   (f) compilePath = [/workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/classes, /root/.m2/repository/org/osgi/osgi.core/8.0.0/osgi.core-8.0.0.jar, /root/.m2/repository/org/osgi/osgi.annotation/8.1.0/osgi.annotation-8.1.0.jar, /root/.m2/repository/org/osgi/org.osgi.service.component.annotations/1.5.1/org.osgi.service.component.annotations-1.5.1.jar, /root/.m2/repository/org/osgi/org.osgi.namespace.extender/1.0.1/org.osgi.namespace.extender-1.0.1.jar]
[DEBUG]   (f) compileSourceRoots = [/workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/src/main/java]
[DEBUG]   (f) compilerArgs = [--add-modules, openj9.criu]
[DEBUG]   (f) compilerId = javac
[DEBUG]   (f) createMissingPackageInfoClass = true
[DEBUG]   (f) debug = true
[DEBUG]   (f) debugFileName = javac
[DEBUG]   (f) enablePreview = false
[DEBUG]   (f) encoding = UTF-8
[DEBUG]   (f) failOnError = true
[DEBUG]   (f) failOnWarning = false
[DEBUG]   (f) forceJavacCompilerUse = false
[DEBUG]   (f) fork = false
[DEBUG]   (f) generatedSourcesDirectory = /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/generated-sources/annotations
[DEBUG]   (f) mojoExecution = org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile {execution: default-compile}
[DEBUG]   (f) optimize = false
[DEBUG]   (f) outputDirectory = /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/classes
[DEBUG]   (f) parameters = false
[DEBUG]   (f) project = MavenProject: zorg.fipro.osgi:benchmark.criu:1.0.0-SNAPSHOT @ /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/pom.xml
[DEBUG]   (f) projectArtifact = zorg.fipro.osgi:benchmark.criu:jar:1.0.0-SNAPSHOT
[DEBUG]   (s) release = 11
[DEBUG]   (f) session = org.apache.maven.execution.MavenSession@2c267b0f
[DEBUG]   (f) showCompilationChanges = false
[DEBUG]   (f) showDeprecation = false
[DEBUG]   (f) showWarnings = true
[DEBUG]   (f) skipMultiThreadWarning = false
[DEBUG]   (f) source = 1.8
[DEBUG]   (f) staleMillis = 0
[DEBUG]   (s) target = 1.8
[DEBUG]   (f) useIncrementalCompilation = true
[DEBUG]   (f) verbose = false
[DEBUG] -- end configuration --
[DEBUG] Using compiler 'javac'.
[DEBUG] Adding /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/generated-sources/annotations to compile source roots:
  /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/src/main/java
[DEBUG] New compile source roots:
  /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/src/main/java
  /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/generated-sources/annotations
[DEBUG] CompilerReuseStrategy: reuseCreated
[DEBUG] useIncrementalCompilation enabled
[DEBUG] Stale source detected: /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/src/main/java/org/fipro/osgi/benchmark/criu/BenchmarkCRUISupport.java
[INFO] Changes detected - recompiling the module! :source
[DEBUG] Classpath:
[DEBUG]  /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/classes
[DEBUG]  /root/.m2/repository/org/osgi/osgi.core/8.0.0/osgi.core-8.0.0.jar
[DEBUG]  /root/.m2/repository/org/osgi/osgi.annotation/8.1.0/osgi.annotation-8.1.0.jar
[DEBUG]  /root/.m2/repository/org/osgi/org.osgi.service.component.annotations/1.5.1/org.osgi.service.component.annotations-1.5.1.jar
[DEBUG]  /root/.m2/repository/org/osgi/org.osgi.namespace.extender/1.0.1/org.osgi.namespace.extender-1.0.1.jar
[DEBUG] Source roots:
[DEBUG]  /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/src/main/java
[DEBUG]  /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/generated-sources/annotations
[DEBUG] Command line options:
[DEBUG] -d /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/classes -classpath /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/classes:/root/.m2/repository/org/osgi/osgi.core/8.0.0/osgi.core-8.0.0.jar:/root/.m2/repository/org/osgi/osgi.annotation/8.1.0/osgi.annotation-8.1.0.jar:/root/.m2/repository/org/osgi/org.osgi.service.component.annotations/1.5.1/org.osgi.service.component.annotations-1.5.1.jar:/root/.m2/repository/org/osgi/org.osgi.namespace.extender/1.0.1/org.osgi.namespace.extender-1.0.1.jar: -sourcepath /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/src/main/java:/workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/generated-sources/annotations: -s /workspaces/osgi_deployment_options/org.fipro.osgi.benchmark.criu/target/generated-sources/annotations -g --release 11 -encoding UTF-8 --add-modules openj9.criu
[DEBUG] incrementalBuildHelper#beforeRebuildExecution
[INFO] Compiling 1 source file with javac [debug release 11] to target/classes
[DEBUG] incrementalBuildHelper#afterRebuildExecution
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] module not found: openj9.criu
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for service-application 1.0.0-SNAPSHOT:
[INFO] 
[INFO] service-application ................................ SUCCESS [  0.172 s]
[INFO] api ................................................ SUCCESS [  8.878 s]
[INFO] impl ............................................... SUCCESS [  8.354 s]
[INFO] eventhandler ....................................... SUCCESS [  5.844 s]
[INFO] configurable ....................................... SUCCESS [  5.245 s]
[INFO] command ............................................ SUCCESS [ 11.199 s]
[INFO] benchmark.criu ..................................... FAILURE [  1.766 s]
[INFO] app.criu ........................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  43.449 s
[INFO] Finished at: 2023-09-27T05:39:52Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile) on project benchmark.criu: Compilation failure
[ERROR] module not found: openj9.criu
[ERROR] 
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile) on project benchmark.criu: Compilation failure
module not found: openj9.criu

    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:333)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:568)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
Caused by: org.apache.maven.plugin.compiler.CompilationFailureException: Compilation failure
module not found: openj9.criu

    at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:1212)
    at org.apache.maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:193)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:568)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)

From that output it definitely looks like it uses the OpenJ9 for the compilation. It even shows that org.eclipse.openj9.criu.isCRIUCapable: true. But why doesn't it resolve the package at build time? Is there anything else I need to configure to make the package and the contained classes available to the Maven build?

I have searched for an answer and tried multiple things, but I can't find any pointer. Would be great if you could help me in resolving this.

Greez,
Dirk

@fipro78 fipro78 added the criu Used to track CRIU snapshot related work label Sep 27, 2023
@pshipton
Copy link
Member

@TobiAjila

@tajila
Copy link
Contributor

tajila commented Sep 27, 2023

@fipro78 Sure, I can help you take a look.

Do you have a repo I can look at to reproduce the issue. Or something you can zip up? It will help speed up the diagnosis.

@fipro78
Copy link
Author

fipro78 commented Sep 27, 2023

@tajila I have created a new branch in my deployment benchmark example repository:

https://github.com/fipro78/osgi_deployment_options/tree/criu

The project that contains the CRIUSupport usage is in org.fipro.osgi.benchmark.criu

If you build from the root directory via

mvn clean verify -Pcriu

the .criu modules are build and you should see the error. This at least happens for me if I execute the build in a devcontainer, whose definition is also available in the repository.

@tajila
Copy link
Contributor

tajila commented Sep 28, 2023

I was able to reproduce the issue.

I added <arg>-verbose</arg> to the compiler args and I see:

[loading /BCDEF/jdk.management.jfr/module-info.sig]
[loading /BCDEFG/java.instrument/module-info.sig]
[loading /BCDEFG/jdk.hotspot.agent/module-info.sig]

We dont ship with that module, so the issue is that it is using javac from a non-OpenJ9 JDK.

I added <executable>/path/to/semeru/jdk-17.0.8.1+1/bin/javac</executable> in the configuration for <artifactId>maven-compiler-plugin</artifactId> but that didnt seem to have an effect.

@fipro78
Copy link
Author

fipro78 commented Sep 29, 2023

It seems to be an issue with the plexus-compiler-javac compiler plugin. If I switch to the plexus-compiler-eclipse compiler plugin, the build succeeds.

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.11.0</version>
  <configuration>
    <compilerId>eclipse</compilerId>
    <release>${java.version}</release>
  </configuration>
  <dependencies>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-compiler-eclipse</artifactId>
      <version>2.13.0</version>
    </dependency>
  </dependencies>
</plugin>

@tajila
Copy link
Contributor

tajila commented Sep 29, 2023

@fipro78 Thanks for resolving this. Feel free to reach out if you run into anymore issues with openj9.criu

@pshipton pshipton closed this as completed Oct 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
criu Used to track CRIU snapshot related work question userRaised
Projects
None yet
Development

No branches or pull requests

3 participants