[
https://jira.jboss.org/jira/browse/JGRP-1042?page=com.atlassian.jira.plug...
]
Bela Ban reassigned JGRP-1042:
------------------------------
Assignee: Bela Ban (was: Richard Achmatowicz)
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: Bela Ban
Priority: Minor
Fix For: 2.10
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