You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Simon South (JIRA)" <ji...@apache.org> on 2015/07/25 04:39:04 UTC

[jira] [Updated] (THRIFT-3267) c_glib: "Critical" failure during unit tests

     [ https://issues.apache.org/jira/browse/THRIFT-3267?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Simon South updated THRIFT-3267:
--------------------------------
    Attachment: 0001-thrift-3267-critical-failure-during-unit-tests.patch

The attached patch fixes this issue.

The cause is the test routine in {{testthrifttestclient.cpp}} trying to unref an exception object after a service method has thrown an application exception. In C (GLib) application exceptions are returned as error codes, not exception objects, so the code actually attempts to unref a null pointer.

The relevant lines in the generated code are {{gen-c_glib/t_test_thrift_test.c}}:3827-8.

> c_glib: "Critical" failure during unit tests
> --------------------------------------------
>
>                 Key: THRIFT-3267
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3267
>             Project: Thrift
>          Issue Type: Bug
>          Components: C glib - Library
>    Affects Versions: 1.0
>         Environment: Fedora 20 (gcc 4.8.3) on x86_64
>            Reporter: Simon South
>            Assignee: Simon South
>            Priority: Trivial
>              Labels: c_glib
>         Attachments: 0001-thrift-3267-critical-failure-during-unit-tests.patch
>
>
> When running the unit tests for C (GLib) (in {{lib/c_glib/test}}), the execution of {{testthrifttestclient}} fails at one point with
> {code}
> (process:3828): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)