Gregor Berginc created PROTON-1602:
--------------------------------------
Summary: [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
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: [email protected]
For additional commands, e-mail: [email protected]