[ 
https://issues.apache.org/jira/browse/QPID-6935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15050972#comment-15050972
 ] 

Leo Riguspi commented on QPID-6935:
-----------------------------------

We still have the heap dump but it's too large to post it. Anyway, the largest 
message we have is 6.5MB which cannot account for the 2,3GB used by the 
Delivery object. 

There are three key If statements in the SessionEndpoint::sendTransfer method. 
Could it be that for some reason it falls in a loop in which it keeps adding a 
new tranfer and then calls itself again?


> Infinite recursion resulting in huge number of Transfer objects created in 
> Delivery, until OutOfMemory
> ------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-6935
>                 URL: https://issues.apache.org/jira/browse/QPID-6935
>             Project: Qpid
>          Issue Type: Bug
>          Components: JMS AMQP 1.0 Client
>    Affects Versions: 0.32
>         Environment: Linux RedHat 7
>            Reporter: Leo Riguspi
>            Priority: Blocker
>         Attachments: memory_dump.txt, snapshot1.png, snapshot2.png
>
>
> We have an Apache ActiveMQ 5.12 running for 2 months now and a Java AMQP 
> client publishing a few messages every few minutes. Messages are small, less 
> than 1K and are immediately consumed.
> For the second time in two months the client exploded with an OutOfMemory 
> error. By analysing the memory the culprit seems to be the ArrayList of 
> Trasfer objects in the Delivery. All of a sudden, for some reason it just 
> keeps creating new Trasfers until the memory is full.
> We have a screenshot of the memory dump in which there are more than 49000 
> Trasfer objects in the same Delivery. Unfortunately there seems to be no way 
> to attach it to this issue.
> We did not find a way to reproduce the problem but it looks like some 
> combination of conditions cause the SessionEndpoint::sendTransfer recursive 
> method to call itself over and over, each time adding a new Transfer object. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to