qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gordon Sim (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-5951) C++ Broker Amqp1.0 memory leak
Date Fri, 01 Aug 2014 19:19:38 GMT

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

Gordon Sim commented on QPID-5951:
----------------------------------

Note: a workaround is to close the sender and receiver in hello world (or similar applications).

> C++ Broker Amqp1.0 memory leak
> ------------------------------
>
>                 Key: QPID-5951
>                 URL: https://issues.apache.org/jira/browse/QPID-5951
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>    Affects Versions: 0.28
>         Environment: Linux Fedora 19 and Windows Server 2012 R2
>            Reporter: Chuck Rolke
>
> Running the stock C++ example HelloWorld leaks memory in AMQP1.0. Using the same broker/client
things are normal using AMQP0-10.
> The client runs
> {noformat}
> for i in {1..20}; do ./hello_world localhost:5672 amq.topic; done
> {noformat}
> Valgrind qpidd shows:
> {noformat}
> $ ~/svn/qpid/build/src> valgrind ./qpidd --auth no --no-data-dir --load-module amqp.so
> ==8881== Memcheck, a memory error detector
> ==8881== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
> ==8881== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
> ==8881== Command: ./qpidd --auth no --no-data-dir --load-module amqp.so
> ==8881== 
> 2014-07-31 17:01:59 [Broker] notice Broker 8881 initializing
> 2014-07-31 17:01:59 [Security] notice SSL plugin not enabled, you must set --ssl-cert-db
to enable it.
> 2014-07-31 17:02:00 [Broker] notice SASL disabled: No Authentication Performed
> 2014-07-31 17:02:00 [Network] notice Listening on TCP/TCP6 port 5672
> 2014-07-31 17:02:00 [Broker] notice Broker 8881 initialized
> 2014-07-31 17:02:00 [Broker] notice Broker 8881 running
> ^C2014-07-31 17:02:21 [Broker] notice Broker 8881 stopped
> 2014-07-31 17:02:21 [Broker] notice Broker 8881 shutting down
> 2014-07-31 17:02:21 [Broker] notice Broker 8881 shutdown complete
> ==8881== 
> ==8881== HEAP SUMMARY:
> ==8881==     in use at exit: 18,073 bytes in 50 blocks
> ==8881==   total heap usage: 139,591 allocs, 139,541 frees, 11,839,443 bytes allocated
> ==8881== 
> ==8881== LEAK SUMMARY:
> ==8881==    definitely lost: 0 bytes in 0 blocks
> ==8881==    indirectly lost: 0 bytes in 0 blocks
> ==8881==      possibly lost: 0 bytes in 0 blocks
> ==8881==    still reachable: 18,073 bytes in 50 blocks
> ==8881==         suppressed: 0 bytes in 0 blocks
> ==8881== Rerun with --leak-check=full to see details of leaked memory
> ==8881== 
> ==8881== For counts of detected and suppressed errors, rerun with: -v
> ==8881== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 2 from 2)
> {noformat}
> This looks normal. However, when the client runs:
> {noformat}
> for i in {1..20}; do ./hello_world localhost:5672 amq.topic "{protocol:amqp1.0}"; done
> {noformat}
> The broker shows:
> {noformat}
> $ ~/svn/qpid/build/src> valgrind ./qpidd --auth no --no-data-dir --load-module amqp.so
> ==8940== Memcheck, a memory error detector
> ==8940== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
> ==8940== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
> ==8940== Command: ./qpidd --auth no --no-data-dir --load-module amqp.so
> ==8940== 
> 2014-07-31 17:02:29 [Broker] notice Broker 8940 initializing
> 2014-07-31 17:02:29 [Security] notice SSL plugin not enabled, you must set --ssl-cert-db
to enable it.
> 2014-07-31 17:02:30 [Broker] notice SASL disabled: No Authentication Performed
> 2014-07-31 17:02:30 [Network] notice Listening on TCP/TCP6 port 5672
> 2014-07-31 17:02:30 [Broker] notice Broker 8940 initialized
> 2014-07-31 17:02:30 [Broker] notice Broker 8940 running
> ^C2014-07-31 17:02:45 [Broker] notice Broker 8940 stopped
> 2014-07-31 17:02:45 [Broker] notice Broker 8940 shutting down
> 2014-07-31 17:02:45 [Broker] notice Broker 8940 shutdown complete
> ==8940== 
> ==8940== HEAP SUMMARY:
> ==8940==     in use at exit: 494,713 bytes in 10,190 blocks
> ==8940==   total heap usage: 150,536 allocs, 140,346 frees, 26,113,574 bytes allocated
> ==8940== 
> ==8940== LEAK SUMMARY:
> ==8940==    definitely lost: 4,888 bytes in 20 blocks
> ==8940==    indirectly lost: 471,240 bytes in 10,119 blocks
> ==8940==      possibly lost: 512 bytes in 1 blocks
> ==8940==    still reachable: 18,073 bytes in 50 blocks
> ==8940==         suppressed: 0 bytes in 0 blocks
> ==8940== Rerun with --leak-check=full to see details of leaked memory
> ==8940== 
> ==8940== For counts of detected and suppressed errors, rerun with: -v
> ==8940== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 2 from 2)
> {noformat}
> It seems to be leaking 20Kbytes per message on Fedora. On Windows the number is slightly
higher.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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


Mime
View raw message