[
https://issues.jboss.org/browse/AS7-6086?page=com.atlassian.jira.plugin.s...
]
Krzysztof Noceń updated AS7-6086:
---------------------------------
Description:
Method:
{code}
public void processMessage(ChannelAssociation, MessageInputStream) throws IOException;
{code}
This code fragment:
---------
{code}
try {
methodParams[i] = unmarshaller.readObject();
} catch (ClassNotFoundException cnfe) {
/.../
return;
}
{code}
---------
doesn't catch java.lang.IllegalArgumentException.
This causes the server hangs.
Example stacktrace:
{code}
java.lang.IllegalArgumentException: No enum const org.example.ExampleEnum.ENUM_VALUE
at java.lang.Enum.valueOf(Enum.java:196)
at
org.jboss.marshalling.river.RiverUnmarshaller.resolveEnumConstant(RiverUnmarshaller.java:1549)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1293)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:272)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:37)
at
org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.processMessage(MethodInvocationMessageHandler.java:164)
at
org.jboss.as.ejb3.remote.protocol.versionone.VersionOneProtocolChannelReceiver.handleMessage(VersionOneProtocolChannelReceiver.java:182)
at
org.jboss.remoting3.remote.RemoteConnectionChannel$5.run(RemoteConnectionChannel.java:429)
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:662)
{code}
I caught java.lang.Exception. It helps.
was:
Method: public void processMessage(ChannelAssociation, MessageInputStream) throws
IOException;
This code:
---------
{code}
try {
methodParams[i] = unmarshaller.readObject();
} catch (ClassNotFoundException cnfe) {
/.../
return;
}
{code}
---------
doesn't catch java.lang.IllegalArgumentException.
This causes the server hangs.
Example stacktrace:
{code}
java.lang.IllegalArgumentException: No enum const org.example.ExampleEnum.ENUM_VALUE
at java.lang.Enum.valueOf(Enum.java:196)
at
org.jboss.marshalling.river.RiverUnmarshaller.resolveEnumConstant(RiverUnmarshaller.java:1549)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1293)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:272)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:37)
at
org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.processMessage(MethodInvocationMessageHandler.java:164)
at
org.jboss.as.ejb3.remote.protocol.versionone.VersionOneProtocolChannelReceiver.handleMessage(VersionOneProtocolChannelReceiver.java:182)
at
org.jboss.remoting3.remote.RemoteConnectionChannel$5.run(RemoteConnectionChannel.java:429)
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:662)
{code}
I caught java.lang.Exception. It helps.
Deadlock in
org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler
---------------------------------------------------------------------------------------
Key: AS7-6086
URL:
https://issues.jboss.org/browse/AS7-6086
Project: Application Server 7
Issue Type: Bug
Components: EJB, Remoting
Affects Versions: 7.1.3.Final (EAP)
Environment: Doesn't matter.
Reporter: Krzysztof Noceń
Assignee: jaikiran pai
Fix For: No Release
Method:
{code}
public void processMessage(ChannelAssociation, MessageInputStream) throws IOException;
{code}
This code fragment:
---------
{code}
try {
methodParams[i] = unmarshaller.readObject();
} catch (ClassNotFoundException cnfe) {
/.../
return;
}
{code}
---------
doesn't catch java.lang.IllegalArgumentException.
This causes the server hangs.
Example stacktrace:
{code}
java.lang.IllegalArgumentException: No enum const org.example.ExampleEnum.ENUM_VALUE
at java.lang.Enum.valueOf(Enum.java:196)
at
org.jboss.marshalling.river.RiverUnmarshaller.resolveEnumConstant(RiverUnmarshaller.java:1549)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1293)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:272)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:37)
at
org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.processMessage(MethodInvocationMessageHandler.java:164)
at
org.jboss.as.ejb3.remote.protocol.versionone.VersionOneProtocolChannelReceiver.handleMessage(VersionOneProtocolChannelReceiver.java:182)
at
org.jboss.remoting3.remote.RemoteConnectionChannel$5.run(RemoteConnectionChannel.java:429)
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:662)
{code}
I caught java.lang.Exception. It helps.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira