]
Dan Berindei updated ISPN-7635:
-------------------------------
Status: Resolved (was: Pull Request Sent)
Fix Version/s: 9.0.0.CR4
Resolution: Done
ComponentMetadataPersister hangs with IBM JDK
---------------------------------------------
Key: ISPN-7635
URL:
https://issues.jboss.org/browse/ISPN-7635
Project: Infinispan
Issue Type: Bug
Components: Build process
Affects Versions: 9.0.0.CR3
Environment: java version "1.8.0"
Java(TM) SE Runtime Environment (build pxa6480sr3fp12-20160919_01(SR3 FP12))
IBM J9 VM (build 2.8, JRE 1.8.0 Linux amd64-64 Compressed References 20160915_318796 (JIT
enabled, AOT enabled)
J9VM - R28_Java8_SR3_20160915_0912_B318796
JIT - tr.r14.java.green_20160818_122998
GC - R28_Java8_SR3_20160915_0912_B318796_CMPRSS
J9CL - 20160915_318796)
JCL - 20160914_01 based on Oracle jdk8u101-b13
Reporter: Tristan Tarrant
Assignee: Tristan Tarrant
Fix For: 9.0.0.CR4, 9.0.0.Final
When building with IBM JDK, the ComponentMetadataPersister hangs when generating
infinispan-core's metadata:
[08:24:58]W: [Step 1/2] [WARNING] Couldn't destroy threadgroup
org.codehaus.mojo.exec.ExecJavaMojo$IsolatedThreadGroup[name=org.infinispan.factories.components.ComponentMetadataPersister,maxpri=10]
[08:24:58] : [Step 1/2] java.lang.IllegalThreadStateException: Has threads
[08:24:58] : [Step 1/2] at
java.lang.ThreadGroup.destroyImpl(ThreadGroup.java:256)
[08:24:58] : [Step 1/2] at java.lang.ThreadGroup.destroy(ThreadGroup.java:238)
[08:24:58] : [Step 1/2] at
org.codehaus.mojo.exec.ExecJavaMojo.execute(ExecJavaMojo.java:328)
[08:24:58] : [Step 1/2] at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
[08:24:58] : [Step 1/2] at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
[08:24:58] : [Step 1/2] at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
[08:24:58] : [Step 1/2] at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
[08:24:58] : [Step 1/2] at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
[08:24:58] : [Step 1/2] at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
[08:24:58] : [Step 1/2] at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
[08:24:58] : [Step 1/2] at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
[08:24:58] : [Step 1/2] at
org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
[08:24:58] : [Step 1/2] at
org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
[08:24:58] : [Step 1/2] at
org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
[08:24:58] : [Step 1/2] at
org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
[08:24:58] : [Step 1/2] at
org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
[08:24:58] : [Step 1/2] at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
[08:24:58] : [Step 1/2] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
[08:24:58] : [Step 1/2] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
[08:24:58] : [Step 1/2] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
[08:24:58] : [Step 1/2] at java.lang.reflect.Method.invoke(Method.java:507)
[08:24:58] : [Step 1/2] at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
[08:24:58] : [Step 1/2] at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
[08:24:58] : [Step 1/2] at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
[08:24:58] : [Step 1/2] at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
After some investigation, it appears this is caused by log4j being on the classpath,
pulled in as an optional compile dependency on infinispan-core.
Since nothing on core depends on log4j the fix is to make the dependency scoped to test.