[jboss-jira] [JBoss JIRA] Created: (JGRP-1042) Provide better reporting of ChannelExceptions when debugging

Richard Achmatowicz (JIRA) jira-events at lists.jboss.org
Wed Sep 9 13:45:18 EDT 2009


Provide better reporting of ChannelExceptions when debugging
------------------------------------------------------------

                 Key: JGRP-1042
                 URL: https://jira.jboss.org/jira/browse/JGRP-1042
             Project: JGroups
          Issue Type: Feature Request
            Reporter: Richard Achmatowicz
            Assignee: Richard Achmatowicz
            Priority: Minor


I spent a lot of time recently trying to track down some testsuite failures, where tests were failing with:

"failed to start protocol stack"

org.jgroups.ChannelException at org.jgroups.JChannel.startStack(JChannel.java:1766) at org.jgroups.JChannel.connect(JChannel.java:407) at org.jgroups.JChannel.connect(JChannel.java:382) at org.jgroups.tests.ChannelTest.testBasicOperations(ChannelTest.java:27) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:580) at org.testng.internal.InvokeMethodRunnable.runOne(InvokeMethodRunnable.java:49) at org.testng.internal.InvokeMethodRunnable.run(InvokeMethodRunnable.java:40) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) 

Turning on DEBUG level logging didn't help. I finally tracked the error down to an UnknownHostException which was getting raised in UDP.createSockets() during a call to InetAddress.getByname(). This checked exception was then passing through the following methods:

UDP.createSockets() throws Exception ;
UDP.start() throws Exception ;
ProtocolStack.startStack() throws Exception ;
JChannel.startStack() throws ChannelException ;

There are a lot of potential exceptions which can occur when starting a stack, and these are getting masked to a large extent. It makes debugging stack startup problems painful, as the only way to get more information about the problem is to write code to unpack the ChannelException and print out its cause.
I'd like to add some simple logging statements to the exception handler in JChannel.startStack() to make debugging the startup of stacks easier.



 


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       




More information about the jboss-jira mailing list