[
https://issues.apache.org/jira/browse/QPID-2405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12908664#action_12908664
]
Paweł Krześniak commented on QPID-2405:
---------------------------------------
I can confirm that bug exists. Invoiking inspect method on Connection or Broker
ends up with segfault:
---
$ ruby -e 'require "qpid"; s=Qpid::Qmf::Session.new(); b=s.add_broker; puts
b.inspect'
-e:1: [BUG] Segmentation fault
ruby 1.8.7 (2009-12-24 patchlevel 248) [i686-linux], MBARI 0x8770, Ruby
Enterprise Edition 2010.01
Aborted
---
And I can confirm that Sam's patch fixes the problem.
> 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
> Assignee: Ted Ross
> Fix For: 0.5
>
> Attachments: sasl.patch
>
>
> 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]