SASL<->Ruby binding can cause seg_faults
----------------------------------------
Key: QPID-2405
URL: https://issues.apache.org/jira/browse/QPID-2405
Project: Qpid
Issue Type: Bug
Components: Ruby Client
Affects Versions: 0.5
Environment: Ubuntu, ruby 1.8.7, qpid 0.5
Reporter: Sam Hendley
Fix For: 0.5
There is an issue with the sasl bindings where it returns a raw ruby VALUE type
for the sasl context. This works _UNTIL_ the ruby runtime tries to access that
variable which then causes a segfault.
This is easy to see if you try to inspect the variable at all (like print it or
ask for its class or methods). In my application, for reasons I haven't
determined yet, just having this variable on the heap meant that when an
exception occurred trying to print the exceptions message caused a seg fault.
In any case, passing back raw VALUEs to ruby code is a Bad Idea and goes
against the spec. There is a simple macro and fix for this which wraps the
returned value in a ruby object. This fixes the issue I was having and means
the deleting of the object is done automatically (instead of having a manual
free function).
I have a patch with the simple, low impact fix, really it would be better to
the extension so the sasl client is repersented as a real ruby object but that
would require atleast some client code changes.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]