You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Jiri Danek (JIRA)" <ji...@apache.org> on 2016/11/22 10:25:58 UTC

[jira] [Updated] (PROTON-1358) Memory leak in proactor receiver example if I add a timeout

     [ https://issues.apache.org/jira/browse/PROTON-1358?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jiri Danek updated PROTON-1358:
-------------------------------
    Attachment: leak-f1c681da874efe3b168d6bd00e1de53c5a3823ea
                AddressSanitizer.log
                timeout.patch

> Memory leak in proactor receiver example if I add a timeout
> -----------------------------------------------------------
>
>                 Key: PROTON-1358
>                 URL: https://issues.apache.org/jira/browse/PROTON-1358
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: proton-c
>            Reporter: Jiri Danek
>         Attachments: AddressSanitizer.log, leak-f1c681da874efe3b168d6bd00e1de53c5a3823ea, timeout.patch
>
>
> Modify the {{examples/c/proactor/receive.c}} with the attached patch. Then build and run like this
> {noformat}
> $ nc -l 5672 < leak-f1c681da874efe3b168d6bd00e1de53c5a3823ea
> $ valgrind --leak-check=full ./libuv_receive -a 127.0.0.1:5672/jms.queue.example
> ==19440== Memcheck, a memory error detector
> ==19440== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
> ==19440== Using Valgrind-3.12.0 and LibVEX; rerun with -h for copyright info
> ==19440== Command: ./libuv_receive -a 127.0.0.1:5672/jms.queue.example
> ==19440== 
> ==19440== 
> ==19440== HEAP SUMMARY:
> ==19440==     in use at exit: 67,206 bytes in 452 blocks
> ==19440==   total heap usage: 470 allocs, 18 frees, 72,587 bytes allocated
> ==19440== 
> ==19440== 67,206 (288 direct, 66,918 indirect) bytes in 1 blocks are definitely lost in loss record 450 of 450
> ==19440==    at 0x4C2CA40: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==19440==    by 0x4E50E4E: pn_object_new (object.c:202)
> ==19440==    by 0x4E51160: pn_class_new (object.c:61)
> ==19440==    by 0x4E6310A: pn_connection (engine.c:514)
> ==19440==    by 0x4043B0: main (receive.c:203)
> ==19440== 
> ==19440== LEAK SUMMARY:
> ==19440==    definitely lost: 288 bytes in 1 blocks
> ==19440==    indirectly lost: 66,918 bytes in 451 blocks
> ==19440==      possibly lost: 0 bytes in 0 blocks
> ==19440==    still reachable: 0 bytes in 0 blocks
> ==19440==         suppressed: 0 bytes in 0 blocks
> ==19440== 
> ==19440== For counts of detected and suppressed errors, rerun with: -v
> ==19440== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
> {noformat}
> Log from when I enabled AddressSanitizer instead of Valgrind is in attachment.
> The file {{leak-f1c681da874efe3b168d6bd00e1de53c5a3823ea}} is the same as in PROTON-1357.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org