[ https://issues.apache.org/activemq/browse/AMQ-813?page=all ]
     
Hiram Chirino resolved AMQ-813:
-------------------------------

    Fix Version: 4.0.2
     Resolution: Fixed
      Assign To: Hiram Chirino

Fixed:
http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/vm/VMTransport.java?r1=415306&r2=420714&pathrev=420714


The VMTransport's oneway method was dropping the send request when the peer was 
disconnected like in the case where the broker is shutdown at the same time 
that the client is shutdown.

> can get a shutdown hang when using embedded broker with VM transport along 
> with the activemq-web module
> -------------------------------------------------------------------------------------------------------
>
>          Key: AMQ-813
>          URL: https://issues.apache.org/activemq/browse/AMQ-813
>      Project: ActiveMQ
>         Type: Bug

>     Reporter: james strachan
>     Assignee: Hiram Chirino
>      Fix For: 4.1, 4.0.2

>
>
> See attached thread dump. I think we just need to use a timeout on the close 
> operations (such as to close consumers, sessions, producers)
> Full thread dump Java HotSpot(TM) Client VM (1.5.0_04-b05 mixed mode, 
> sharing):
>  
> "Shutdown" prio=1 tid=0x08385960 nid=0x5e99 in Object.wait() 
> [0xaed7d000..0xaed7e130]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x88af01c8> (a 
> edu.emory.mathcs.backport.java.util.concurrent.locks.CondVar)
>         at java.lang.Object.wait(Object.java:474)
>         at 
> edu.emory.mathcs.backport.java.util.concurrent.locks.CondVar.await(CondVar.java:75)
>         - locked <0x88af01c8> (a 
> edu.emory.mathcs.backport.java.util.concurrent.locks.CondVar)
>         at 
> edu.emory.mathcs.backport.java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:318)
>         at 
> org.apache.activemq.transport.FutureResponse.getResult(FutureResponse.java:41)
>         at 
> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:72)
>         at 
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1130)
>         at 
> org.apache.activemq.ActiveMQSession.syncSendPacket(ActiveMQSession.java:1660)
>         at 
> org.apache.activemq.ActiveMQMessageConsumer.close(ActiveMQMessageConsumer.java:516)
>         at 
> org.apache.activemq.web.WebClient.closeConsumers(WebClient.java:135)
>         - locked <0x893e6558> (a org.apache.activemq.web.WebClient)
>         at org.apache.activemq.web.WebClient.close(WebClient.java:145)
>         - locked <0x893e6558> (a org.apache.activemq.web.WebClient)
>         at org.apache.activemq.web.WebClient.valueUnbound(WebClient.java:318)
>         at 
> org.mortbay.jetty.servlet.AbstractSessionManager$Session.unbindValue(AbstractSessionManager.java:899)
>         at 
> org.mortbay.jetty.servlet.AbstractSessionManager$Session.invalidate(AbstractSessionManager.java:755)
>         - locked <0x893caa88> (a 
> org.mortbay.jetty.servlet.HashSessionManager$Session)
>         at 
> org.mortbay.jetty.servlet.AbstractSessionManager.doStop(AbstractSessionManager.java:551)
>         at 
> org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:63)
>         at 
> org.mortbay.jetty.servlet.SessionHandler.doStop(SessionHandler.java:124)
>         at 
> org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:63)
>         at 
> org.mortbay.jetty.handler.HandlerWrapper.doStop(HandlerWrapper.java:131)
>         at 
> org.mortbay.jetty.handler.ContextHandler.doStop(ContextHandler.java:467)
>         at 
> org.mortbay.jetty.webapp.WebAppContext.doStop(WebAppContext.java:477)
>         at 
> org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:63)
>         at 
> org.mortbay.jetty.handler.HandlerCollection.doStop(HandlerCollection.java:173)
>         at 
> org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:63)
>         at 
> org.mortbay.jetty.handler.HandlerCollection.doStop(HandlerCollection.java:173)
>         at 
> org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:63)
>         at 
> org.mortbay.jetty.handler.HandlerWrapper.doStop(HandlerWrapper.java:131)
>         at org.mortbay.jetty.Server.doStop(Server.java:242)
>         at 
> org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:63)
>         at org.mortbay.jetty.Server$ShutdownHookThread.run(Server.java:450)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to