[
https://issues.apache.org/jira/browse/THRIFT-3552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15111264#comment-15111264
]
Simon South commented on THRIFT-3552:
-------------------------------------
The [Concepts page|http://thrift.apache.org/docs/concepts] on the website gives
a high-level overview of Thrift's architecture, and everything there applies to
the C (GLib) implementation. [The
tutorials|http://thrift.apache.org/tutorial/c_glib], if you haven't read
through them yet, also explain a little bit about how everything fits together.
The C implementation intentionally mirrors the C++ one, so much of what can be
said about the latter applies to the former as well (with accommodations for
GObject, such as its lack of template support). There is not a tremendous
amount of documentation on Thrift yet, though, so reading through the code may
still be your best bet.
By the way, [the developer mailing list|http://thrift.apache.org/mailing] is a
better place to ask this sort of question.
> glib_c Memory Leak
> ------------------
>
> Key: THRIFT-3552
> URL: https://issues.apache.org/jira/browse/THRIFT-3552
> Project: Thrift
> Issue Type: Bug
> Components: C glib - Library
> Affects Versions: 0.9.3
> Reporter: Anish Shah
> Assignee: Simon South
> Priority: Critical
> Fix For: 0.9.4, 1.0
>
> Attachments: 0001-c_glib-Fix-memory-leak-in-processor.patch
>
>
> I have been seeing some memory leaks using valgring in my testprogram.
> Leak:
> ==94320== 17,878 bytes in 2,712 blocks are definitely lost in loss record 987
> of 1,018
> ==94320== at 0x4A057BB: calloc (vg_replace_malloc.c:593)
> ==94320== by 0x3D7DA49BF7: g_malloc0 (gmem.c:196)
> ==94320== by 0x5768002: thrift_binary_protocol_read_string
> (thrift_binary_protocol.c:791)
> ==94320== by 0x5768987: thrift_binary_protocol_read_message_begin
> (thrift_binary_protocol.c:431)
> ==94320== by 0x576702E: thrift_dispatch_processor_process
> (thrift_dispatch_processor.c:41)
> ==94320== by 0x576CC06: thrift_simple_server_serve
> (thrift_simple_server.c:62)
> ==94320== by 0x45A548: server_start (server.c:135)
> ==94320== by 0x3D7C607A50: start_thread (pthread_create.c:301)
> ==94320== by 0x3D7C2E893C: clone (clone.S:115)
> My question is where is the *str memory allocated by function
> thrift_binary_protocol_read_string() freed? Am I doing something wrong or is
> there an actual memory leak?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)