[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:46: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: 
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



More information about the jboss-jira mailing list