[ 
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:[email protected]

Reply via email to