]
James Perkins commented on WFCORE-1758:
---------------------------------------
Moved back to WFCORE. While we won't fix this immediately I'm leaving the priority
as Major as it is an issue. It will take some thought to not affect some other subclasses
of the {{AbstractModelControllerClient}}. I've not seen or heard of issues other than
misbehaving consumers of the client.
WFLYCC0034: Closing leaked controller client
--------------------------------------------
Key: WFCORE-1758
URL:
https://issues.jboss.org/browse/WFCORE-1758
Project: WildFly Core
Issue Type: Bug
Reporter: Martin Choma
Assignee: James Perkins
Attachments: server.log
We are intermittently getting "WFLYCC0034: Closing leaked controller client"
from RemotingModelControllerClient#finalize method.
I wonder, isn't implementation of RemotingModelControllerClient#finalize() method [1]
example of dangerous "safety net" implementation discussed in presentation
"JVM finalize pitfalls" [2] ?
*Reproducer:*
1. using ibm java 1.8
2. setting <startup-timeout>1</startup-timeout>
[1]
https://github.com/wildfly/wildfly-core/blob/master/controller-client/src...
[2]
https://www.youtube.com/watch?v=UrGP6pfb0H8
[3]
{noformat}
05:54:10 Aug 16, 2016 5:54:10 AM
org.jboss.as.controller.client.impl.RemotingModelControllerClient finalize
05:54:10 WARN: WFLYCC0034: Closing leaked controller client
05:54:10 WFLYCC0030: Allocation stack trace:
05:54:10 at java.lang.Thread.getStackTrace(Thread.java:1552)
05:54:10 at
org.jboss.as.controller.client.impl.RemotingModelControllerClient.<init>(RemotingModelControllerClient.java:74)
05:54:10 at
org.jboss.as.controller.client.ModelControllerClient$Factory.create(ModelControllerClient.java:567)
05:54:10 at
org.wildfly.plugin.common.ManagementClient.<init>(ManagementClient.java:37)
05:54:10 at
org.wildfly.plugin.common.AbstractServerConnection.createClient(AbstractServerConnection.java:126)
05:54:10 at org.wildfly.plugin.server.StartMojo.execute(StartMojo.java:269)
05:54:10 at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
05:54:10 at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
05:54:10 at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
05:54:10 at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
05:54:10 at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
05:54:10 at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
05:54:10 at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
05:54:10 at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
05:54:10 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355)
05:54:10 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
05:54:10 at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
05:54:10 at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)
05:54:10 at org.apache.maven.cli.MavenCli.main(MavenCli.java:160)
05:54:10 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
05:54:10 at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
05:54:10 at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
05:54:10 at java.lang.reflect.Method.invoke(Method.java:498)
05:54:10 at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
05:54:10 at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
05:54:10 at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
05:54:10 at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
{noformat}