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] [Created] (PROTON-1358) Memory leak in proactor receiver example if I add a timeout

Jiri Danek created PROTON-1358:
----------------------------------

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