[ https://issues.apache.org/activemq/browse/AMQ-932?page=all ]
james strachan resolved AMQ-932.
--------------------------------
Fix Version/s: 4.1
Resolution: Fixed
Patch applied John with thanks - could you double check I've applied it
correctly please?
> Quickly broken client connections lead to memory leaks
> ------------------------------------------------------
>
> Key: AMQ-932
> URL: https://issues.apache.org/activemq/browse/AMQ-932
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 4.0.2
> Reporter: John Heitmann
> Fix For: 4.1
>
> Attachments: 73.diff
>
>
> Connections to the openwire port that are pathologically broken (for example
> any http request) or that die in some other way extremely quickly will lead
> to memory losses of aout 64Kb each time. This happens because many services
> are stop()ed directly in the middle of start(), and then never stopped for
> real, or stopped again but on an object tree with an inconsistent state. This
> is usually also accompanied by the JMX message:
> WARN ManagedTransportConnection - Failed to unregister mbean:
> org.apache.activemq:BrokerName=localhost,Type=Connection,ConnectorName=default,Connection=25
> But that is a cosmetic symptom and not critical (and this has otherwise
> nothing to do with JMX).
> My patch is a band-aid that is functional but I'm not very happy with it. The
> patch changes some service logic so that if stop is called in the middle of
> start, the stop is instead queued and called at the end of start. There will
> still be multiple stops, and you'll still see the cosmetic JMX error from the
> second ineffectual stop, but the first stop cleans up correctly so there are
> no leaks.
> I think there's probably a better solution, but it was tough to see what. I'd
> appreciate better ideas. Possibly something involving moving the dangerous
> operations (wire format negotiation etc) out of start?
> I am working on a unit test, but I can't promise I will have something to
> submit. I'm having to play JVM games to detect the problem in a unit test and
> that might not fly for general purpose use.
--
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