[Tarantool-patches] [PATCH v1 1/1] netbox: fix memleak in lbox_tuple_format_new()

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Sat Nov 2 19:26:49 MSK 2019


Hi! Thanks for the fix!

LGTM.

On 31/10/2019 17:43, Imeev Mergen wrote:
> 
> On 10/31/19 6:23 PM, Konstantin Osipov wrote:
>> * imeevma at tarantool.org <imeevma at tarantool.org> [19/10/30 14:03]:
>>> Memleak appeared due to the fact that when creating a dictionary
>>> its reference count is 1 from the beginning. Later, when the
>>> dictionary is used to create tuple_format, its reference counter
>>> increased by 1 and it became equal to 2. After removing
>>> tuple_format, the reference counter for dict decreased by one, so
>>> it became equal to 1. Since ref counter is not equal to 0, dict
>>> not deleted, causing a memory leak.
>>>
>>> Closes #4588
>> I wonder if you could come up with a test case? Is memory used by
>> dict accounted in any stats?
>>
> I did not find anything in box, and I did not see anything about
> the statistics in the tuple_dictionary_new() function. Doesn't
> look like we accounting this. At the moment, I can’t come up with
> a test.
> 
> You think we should add this in stats?
> 

There is no accounting for the heap memory. We tried to add it via
symbol replacement, but it didn't work properly. I think we can
omit a test here.


More information about the Tarantool-patches mailing list