MakeConnectionProcessor code not thread safe
--------------------------------------------

                 Key: SANDESHA2-142
                 URL: https://issues.apache.org/jira/browse/SANDESHA2-142
             Project: Sandesha2
          Issue Type: Bug
            Reporter: Dave Parsons


In a multi client single provider scenario the following can occur: 

org.apache.axis2.AxisFault: Sandesha2 got an exception when processing an in 
message: java.lang.IllegalMonitorStateException.
        at 
org.apache.sandesha2.msgreceivers.RMMessageReceiver.invokeBusinessLogic(RMMessageReceiver.java:107)
        at 
org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:148)
        at 
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
        at 
com.ibm.ws.websvcs.transport.http.WASAxis2Servlet.doPost(WASAxis2Servlet.java:901)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at 
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1338)
        at 
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:719)
        at 
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:423)
        at 
com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:175)
        at 
com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
        at 
com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:816)
        at 
com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1468)
        at 
com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:161)
        at 
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:455)
        at 
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:384)
        at 
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:272)
        at 
com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
        at 
com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
        at 
com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
        at 
com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
        at 
com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
        at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
        at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:202)
        at 
com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:766)
        at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:896)
        at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1487)
Caused by: java.lang.IllegalMonitorStateException
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:167)
        at 
org.apache.sandesha2.msgprocessors.MakeConnectionProcessor.replyToPoll(MakeConnectionProcessor.java:265)
        at 
org.apache.sandesha2.msgprocessors.MakeConnectionProcessor.processInMessage(MakeConnectionProcessor.java:197)
        at 
org.apache.sandesha2.msgreceivers.RMMessageReceiver.invokeBusinessLogic(RMMessageReceiver.java:94)
        ... 27 more

To fix this we need to add a synchronized block around the code in question.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to