qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mo Morsi (JIRA)" <qpid-...@incubator.apache.org>
Subject [jira] Commented: (QPID-2405) SASL<->Ruby binding can cause seg_faults
Date Sun, 05 Sep 2010 17:02:32 GMT

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

Mo Morsi commented on QPID-2405:
--------------------------------

Note this would also occur if simply trying to create a Qpid::Connection from irb as by default
it invokes ".inspect" on the return value of every line executed and prints the results (this
can be turned off but almost never is as it's one of the most used features of irb).

Also including a Qpid::Connection instance in any class makes that class unavailable to call
inspect on or for use in irb as once again this issue will propagate up.

> 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:dev-subscribe@qpid.apache.org


Mime
View raw message