[ https://issues.apache.org/jira/browse/PROTON-1602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16194545#comment-16194545 ]
ASF subversion and git services commented on PROTON-1602: --------------------------------------------------------- Commit ace1970efaea2b5f298acedc62d6838bc424f217 in qpid-proton's branch refs/heads/master from [~aconway] [ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=ace1970 ] PROTON-1602: ruby: Possible memory leak in Ruby bindings Restore Container timeout to avoid excessive CPU and memory use Fixed test_container tests to be single-threaded. Ruby library is not yet ready for multi-threaded use, support for concurrency is in progress. > [Ruby] Possible memory leak in Ruby bindings? > --------------------------------------------- > > Key: PROTON-1602 > URL: https://issues.apache.org/jira/browse/PROTON-1602 > Project: Qpid Proton > Issue Type: Bug > Components: ruby-binding > Affects Versions: 0.17.0, Future > Environment: Centos 7 > Reporter: Gregor Berginc > Assignee: Alan Conway > Priority: Critical > Fix For: proton-c-0.18.0 > > > While running integration tests we noticed that Ruby bindings utilise 100% > CPU core and that memory consumption increases until the machine runs out of > memory. The same Python app does not have this effect - low CPU utilisation. > I've used 0.17 version of qpid-proton-c from EPEL, as well as the current > master. Ruby bindings in both cases built from the current master. > We are using the Container, i.e. > {code:ruby} > Qpid::Proton::Reactor::Container.new(...).run > {code} > This is very easily reproduced by the simple change in one of the tests: > {code:ruby} > diff --git a/proton-c/bindings/ruby/tests/test_container.rb > b/proton-c/bindings/ruby/tests/test_container.rb > index d5b5c9a..455d63e 100644 > --- a/proton-c/bindings/ruby/tests/test_container.rb > +++ b/proton-c/bindings/ruby/tests/test_container.rb > @@ -80,7 +80,8 @@ class ContainerSASLTest < Minitest::Test > def on_connection_opened(event) > super > - event.container.stop > + puts "keeping connection opened" > +# event.container.stop > end > end > {code} > The change keeps the container opened. Looking at top, the CPU is at 100% and > RAM constantly grows. > Is this intentional or by design? Is there a proper usage guide on how to > access AMQP via Ruby? > Thanks! -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org