You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Bryan Duxbury (JIRA)" <ji...@apache.org> on 2009/05/12 02:00:45 UTC

[jira] Created: (THRIFT-498) Compact and Binary native protocols, used at the same time, can cause some issues

Compact and Binary native protocols, used at the same time, can cause some issues
---------------------------------------------------------------------------------

                 Key: THRIFT-498
                 URL: https://issues.apache.org/jira/browse/THRIFT-498
             Project: Thrift
          Issue Type: Bug
          Components: Library (Ruby)
    Affects Versions: 0.1
            Reporter: Bryan Duxbury
            Assignee: Bryan Duxbury
            Priority: Critical


It seems like there is some scenario in which the native protocol method tables get mixed up when you are using both binary and compact protocol's native implementations. In the cases I've seen, this leads to a segfault in compact protocol when it can't find some ivar it needs. However, there's no telling for certain if it does not also silently corrupt the data being written as binary protocol at the same time.

I will post a script that produces this exception soon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (THRIFT-498) Compact and Binary native protocols, used at the same time, can cause some issues

Posted by "Bryan Duxbury (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-498?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bryan Duxbury updated THRIFT-498:
---------------------------------

    Attachment: thrift-498.patch

This patch disables the switching of native method tables. This appears to alleviate the problem in my tests. It might be slower than the original implementation, but I'd rather have this fixed and get back to the speedup problem in another issue.

> Compact and Binary native protocols, used at the same time, can cause some issues
> ---------------------------------------------------------------------------------
>
>                 Key: THRIFT-498
>                 URL: https://issues.apache.org/jira/browse/THRIFT-498
>             Project: Thrift
>          Issue Type: Bug
>          Components: Library (Ruby)
>    Affects Versions: 0.1
>            Reporter: Bryan Duxbury
>            Assignee: Bryan Duxbury
>            Priority: Critical
>         Attachments: thrift-498.patch
>
>
> It seems like there is some scenario in which the native protocol method tables get mixed up when you are using both binary and compact protocol's native implementations. In the cases I've seen, this leads to a segfault in compact protocol when it can't find some ivar it needs. However, there's no telling for certain if it does not also silently corrupt the data being written as binary protocol at the same time.
> I will post a script that produces this exception soon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-498) Compact and Binary native protocols, used at the same time, can cause some issues

Posted by "Bryan Duxbury (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12711217#action_12711217 ] 

Bryan Duxbury commented on THRIFT-498:
--------------------------------------

Anyone feel like reviewing this patch?

> Compact and Binary native protocols, used at the same time, can cause some issues
> ---------------------------------------------------------------------------------
>
>                 Key: THRIFT-498
>                 URL: https://issues.apache.org/jira/browse/THRIFT-498
>             Project: Thrift
>          Issue Type: Bug
>          Components: Library (Ruby)
>    Affects Versions: 0.1
>            Reporter: Bryan Duxbury
>            Assignee: Bryan Duxbury
>            Priority: Critical
>         Attachments: thrift-498.patch
>
>
> It seems like there is some scenario in which the native protocol method tables get mixed up when you are using both binary and compact protocol's native implementations. In the cases I've seen, this leads to a segfault in compact protocol when it can't find some ivar it needs. However, there's no telling for certain if it does not also silently corrupt the data being written as binary protocol at the same time.
> I will post a script that produces this exception soon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (THRIFT-498) Compact and Binary native protocols, used at the same time, can cause some issues

Posted by "Bryan Duxbury (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-498?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bryan Duxbury updated THRIFT-498:
---------------------------------

    Patch Info: [Patch Available]

> Compact and Binary native protocols, used at the same time, can cause some issues
> ---------------------------------------------------------------------------------
>
>                 Key: THRIFT-498
>                 URL: https://issues.apache.org/jira/browse/THRIFT-498
>             Project: Thrift
>          Issue Type: Bug
>          Components: Library (Ruby)
>    Affects Versions: 0.1
>            Reporter: Bryan Duxbury
>            Assignee: Bryan Duxbury
>            Priority: Critical
>         Attachments: thrift-498.patch
>
>
> It seems like there is some scenario in which the native protocol method tables get mixed up when you are using both binary and compact protocol's native implementations. In the cases I've seen, this leads to a segfault in compact protocol when it can't find some ivar it needs. However, there's no telling for certain if it does not also silently corrupt the data being written as binary protocol at the same time.
> I will post a script that produces this exception soon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (THRIFT-498) Compact and Binary native protocols, used at the same time, can cause some issues

Posted by "Bryan Duxbury (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-498?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bryan Duxbury resolved THRIFT-498.
----------------------------------

       Resolution: Fixed
    Fix Version/s: 0.2

No one ever reviewed this patch, but I've been using it in production for months, so I committed it.

> Compact and Binary native protocols, used at the same time, can cause some issues
> ---------------------------------------------------------------------------------
>
>                 Key: THRIFT-498
>                 URL: https://issues.apache.org/jira/browse/THRIFT-498
>             Project: Thrift
>          Issue Type: Bug
>          Components: Library (Ruby)
>    Affects Versions: 0.1
>            Reporter: Bryan Duxbury
>            Assignee: Bryan Duxbury
>            Priority: Critical
>             Fix For: 0.2
>
>         Attachments: thrift-498.patch
>
>
> It seems like there is some scenario in which the native protocol method tables get mixed up when you are using both binary and compact protocol's native implementations. In the cases I've seen, this leads to a segfault in compact protocol when it can't find some ivar it needs. However, there's no telling for certain if it does not also silently corrupt the data being written as binary protocol at the same time.
> I will post a script that produces this exception soon.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.