[jboss-jira] [JBoss JIRA] (REMJMX-52) Background org.xnio.nio.WorkerThread prevents JVM shutdown (using jboss-client.jar for remote JMX access)
Brian Stansberry (JIRA)
jira-events at lists.jboss.org
Wed Aug 22 10:02:15 EDT 2012
[ https://issues.jboss.org/browse/REMJMX-52?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12713050#comment-12713050 ]
Brian Stansberry commented on REMJMX-52:
----------------------------------------
It's built in the client/shade module of the AS source tree. So you'd need to build the remoting-jmx snapshot, clone the AS github repo (if you don't have a clone), checkout the last 7.1 branch, change the AS's root pom.xml to use the snapshot (change <version.org.jboss.remotingjmx.remoting-jmx>1.0.4.Final</version.org.jboss.remotingjmx.remoting-jmx>), and then build the AS.
> Background org.xnio.nio.WorkerThread prevents JVM shutdown (using jboss-client.jar for remote JMX access)
> ---------------------------------------------------------------------------------------------------------
>
> Key: REMJMX-52
> URL: https://issues.jboss.org/browse/REMJMX-52
> Project: Remoting JMX
> Issue Type: Bug
> Environment: Windows XP x64, using Java 7
> Linux x64, using Java 7
> Reporter: Taras Tielkes
> Assignee: Stuart Douglas
> Fix For: 1.0.5.CR1
>
> Attachments: jboss-client-xnio-hanging-stackdump-linux.txt, jboss-client-xnio-hanging-stackdump.txt
>
>
> I'm using the "jboss-client.jar" provided in the "bin/client" directory of the 7.1.1.Final distribution.
> I'm using the code shown below to connect to various JBoss 7.1.1 instances.
> This works when the machines are reachable.
> However, when they are not, the underlying "xnio" libraries do not clean up properly.
> Observed results: client JVM running my JMX code does not exit, since the background threads from xnio are non-deamon.
> I've attached stackdumps from both Windows and Linux x64 demonstrating the problem.
> Here's a link to a report from Red Hat engineer Rob Stryker on the "jboss-as7-dev" mailing list, essentially confirming the problems I report with such a trivial, minimal JMX client.
> [http://lists.jboss.org/pipermail/jboss-as7-dev/2012-March/005679.html]
> ----------------------------------------------
> {code}import java.io.IOException;
> import java.net.MalformedURLException;
> import java.util.HashMap;
> import javax.management.MBeanServerConnection;
> import javax.management.remote.JMXConnector;
> import javax.management.remote.JMXConnectorFactory;
> import javax.management.remote.JMXServiceURL;
> public class Demo {
> public static void main(String[] args) throws IOException {
> JMXConnector jmxConnector = null;
> String host = "some.unreachable.host";
> String port = "9999";
> String urlString = "service:jmx:remoting-jmx://" + host + ":" + port;
> try {
> JMXServiceURL serviceURL = new JMXServiceURL(urlString);
> HashMap<String, String[]> env = new HashMap<String, String[]>();
> String[] creds = new String[2];
> creds[0] = "username";
> creds[1] = "password";
> env.put(JMXConnector.CREDENTIALS, creds);
> jmxConnector = JMXConnectorFactory.connect(serviceURL, env);
> MBeanServerConnection connection = jmxConnector.getMBeanServerConnection();
> System.out.println("Successfully Got Connection " + connection.getMBeanCount());
> jmxConnector.close();
> } catch (MalformedURLException e) {
> e.printStackTrace();
> } catch (IOException e) {
> e.printStackTrace();
> } finally {
> if (jmxConnector != null) {
> jmxConnector.close();
> }
> }
> System.exit(0);
> }
> }{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list