eclipse-openj9 / openj9

Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Other
3.27k stars 720 forks source link

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

Closed fipro78 closed 11 months ago

fipro78 commented 11 months ago

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

pshipton commented 11 months ago

@TobiAjila

tajila commented 11 months ago

@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 commented 11 months ago

@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 commented 11 months ago

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 commented 11 months ago

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 commented 11 months ago

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