You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "wangyunjian (Jira)" <ji...@apache.org> on 2020/02/26 15:22:00 UTC

[jira] [Created] (THRIFT-5118) Fix memory leak when the handler method return a exception

wangyunjian created THRIFT-5118:
-----------------------------------

             Summary: Fix memory leak when the handler method return a exception
                 Key: THRIFT-5118
                 URL: https://issues.apache.org/jira/browse/THRIFT-5118
             Project: Thrift
          Issue Type: Bug
          Components: C glib - Compiler
    Affects Versions: 0.13.0
            Reporter: wangyunjian
            Assignee: wangyunjian


When a service method throws a custom exception, the exception hasn't
been freed. The exception object need to be freed after it is setted to
the result_struct's property.

Leak:

Indirect leak of 19 byte(s) in 1 object(s) allocated from:
 #0 0x7f83ef066ae8 in __interceptor_malloc (/usr/lib64/libasan.so.5+0xefae8)
 #1 0x7f83ee0bb1d5 in g_malloc (/usr/lib64/libglib-2.0.so.0+0x531d5)
 #2 0x7f83ee0d4b32 in g_strdup (/usr/lib64/libglib-2.0.so.0+0x6cb32)
 #3 0x40a476 in invalid_operation_set_property gen-c_glib/tutorial_types.c:574
 #4 0x7f83eeb093e4 (/usr/lib64/libgobject-2.0.so.0+0x163e4)
 #5 0x7f83eeb0af4d in g_object_new_valist (/usr/lib64/libgobject-2.0.so.0+0x17f4d)
 #6 0x7f83eeb0b2ac in g_object_new (/usr/lib64/libgobject-2.0.so.0+0x182ac)
 #7 0x402935 in tutorial_calculator_handler_calculate /mnt/hgfs/share/thrift-0.13.0/tutorial/c_glib/c_glib_server.c:233
 #8 0x404e8a in calculator_handler_calculate gen-c_glib/calculator.c:713
 #9 0x4059c8 in calculator_processor_process_calculate gen-c_glib/calculator.c:1030
 #10 0x405fcf in calculator_processor_dispatch_call gen-c_glib/calculator.c:1197
 #11 0x7f83eed54e53 in thrift_dispatch_processor_process (/usr/lib64/libthrift_c_glib.so.0+0xee53)
 #12 0x7f83eed68d11 in thrift_simple_server_serve src/thrift/c_glib/server/thrift_simple_server.c:58
 #13 0x7f83eed67b9a in thrift_server_serve src/thrift/c_glib/server/thrift_server.c:108
 #14 0x402ef2 in main /mnt/hgfs/share/thrift-0.13.0/tutorial/c_glib/c_glib_server.c:506
 #15 0x7f83ed89f872 in __libc_start_main (/usr/lib64/libc.so.6+0x23872)
 #16 0x40254d in _start (/mnt/hgfs/share/thrift-0.13.0/tutorial/c_glib/.libs/tutorial_server+0x40254d)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)