[jboss-jira] [JBoss JIRA] (AS7-6086) Deadlock in org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler
Krzysztof Noceń (JIRA)
jira-events at lists.jboss.org
Wed Dec 5 09:48:21 EST 2012
[ https://issues.jboss.org/browse/AS7-6086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Krzysztof Noceń updated AS7-6086:
---------------------------------
Description:
Class:
{code}
org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler
{code}
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:
{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.
> 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
>
>
> Class:
> {code}
> org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler
> {code}
> 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
More information about the jboss-jira
mailing list