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

ASF subversion and git services commented on PROTON-424:
--------------------------------------------------------

Commit 1526554 from r...@apache.org in branch 'proton/trunk'
[ https://svn.apache.org/r1526554 ]

PROTON-424: fixed memory leak when freeing non stopped messengers
                
> Memory Leak in Proton Messenger Send / Recv
> -------------------------------------------
>
>                 Key: PROTON-424
>                 URL: https://issues.apache.org/jira/browse/PROTON-424
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: proton-c
>    Affects Versions: 0.5
>         Environment: Linux
>            Reporter: Frank Quinn
>         Attachments: qpid_messenger_leak_repro.c
>
>
> Hi Folks,
> I have encountered what looks like a memory leak in messenger if someone 
> could verify?
> I have attached some code which runs under valgrind --leak-check=full to 
> produce the following output.
> Can anyone verify if there is a way to clean this up or is this a leak in 
> proton-c 0.5?
> Cheers,
> Frank
> ==21663== Memcheck, a memory error detector
> ==21663== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
> ==21663== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
> ==21663== Command: ./qpid_messenger_leak_repro
> ==21663==
> Waiting on recv
> ==21663==
> ==21663== HEAP SUMMARY:
> ==21663==     in use at exit: 376,057 bytes in 3,417 blocks
> ==21663==   total heap usage: 4,110 allocs, 693 frees, 763,143 bytes allocated
> ==21663==
> ==21663== 142,153 (2,776 direct, 139,377 indirect) bytes in 1 blocks are 
> definitely lost in loss record 996 of 997
> ==21663==    at 0x4A0887C: malloc (vg_replace_malloc.c:270)
> ==21663==    by 0x4C232CF: pn_new (in 
> /home/fquinn/lib/qpid-proton-0.5/lib64/libqpid-proton.so.2.0.0)
> ==21663==    by 0x4C336AD: pn_connection (in 
> /home/fquinn/lib/qpid-proton-0.5/lib64/libqpid-proton.so.2.0.0)
> ==21663==    by 0x4C421EC: pn_messenger_connection (in 
> /home/fquinn/lib/qpid-proton-0.5/lib64/libqpid-proton.so.2.0.0)
> ==21663==    by 0x4C424DC: pn_messenger_tsync (in 
> /home/fquinn/lib/qpid-proton-0.5/lib64/libqpid-proton.so.2.0.0)
> ==21663==    by 0x4C42695: pn_messenger_sync (in 
> /home/fquinn/lib/qpid-proton-0.5/lib64/libqpid-proton.so.2.0.0)
> ==21663==    by 0x4C44301: pn_messenger_recv (in 
> /home/fquinn/lib/qpid-proton-0.5/lib64/libqpid-proton.so.2.0.0)
> ==21663==    by 0x400C43: qpidListenerThread (qpid_messenger_leak_repro.c:18)
> ==21663==    by 0x3702407D14: start_thread (pthread_create.c:308)
> ==21663==    by 0x37020F253C: clone (clone.S:114)
> ==21663==
> ==21663== 142,168 (2,776 direct, 139,392 indirect) bytes in 1 blocks are 
> definitely lost in loss record 997 of 997
> ==21663==    at 0x4A0887C: malloc (vg_replace_malloc.c:270)
> ==21663==    by 0x4C232CF: pn_new (in 
> /home/fquinn/lib/qpid-proton-0.5/lib64/libqpid-proton.so.2.0.0)
> ==21663==    by 0x4C336AD: pn_connection (in 
> /home/fquinn/lib/qpid-proton-0.5/lib64/libqpid-proton.so.2.0.0)
> ==21663==    by 0x4C421EC: pn_messenger_connection (in 
> /home/fquinn/lib/qpid-proton-0.5/lib64/libqpid-proton.so.2.0.0)
> ==21663==    by 0x4C42F48: pn_messenger_resolve (in 
> /home/fquinn/lib/qpid-proton-0.5/lib64/libqpid-proton.so.2.0.0)
> ==21663==    by 0x4C4310B: pn_messenger_link (in 
> /home/fquinn/lib/qpid-proton-0.5/lib64/libqpid-proton.so.2.0.0)
> ==21663==    by 0x4C4333C: pn_messenger_target (in 
> /home/fquinn/lib/qpid-proton-0.5/lib64/libqpid-proton.so.2.0.0)
> ==21663==    by 0x4C43DDE: pn_messenger_put (in 
> /home/fquinn/lib/qpid-proton-0.5/lib64/libqpid-proton.so.2.0.0)
> ==21663==    by 0x400D40: main (qpid_messenger_leak_repro.c:79)
> ==21663==
> ==21663== LEAK SUMMARY:
> ==21663==    definitely lost: 5,552 bytes in 2 blocks
> ==21663==    indirectly lost: 278,769 bytes in 388 blocks
> ==21663==      possibly lost: 0 bytes in 0 blocks
> ==21663==    still reachable: 91,736 bytes in 3,027 blocks
> ==21663==         suppressed: 0 bytes in 0 blocks
> ==21663== Reachable blocks (those to which a pointer was found) are not shown.
> ==21663== To see them, rerun with: --leak-check=full --show-reachable=yes
> ==21663==
> ==21663== For counts of detected and suppressed errors, rerun with: -v
> ==21663== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 2 from 2)

--
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

Reply via email to