Project

General

Profile

Bug #17924

valgrind failures due to leaks of std::string memory in md_config_t

Added by Casey Bodley over 7 years ago. Updated over 7 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Example run: http://qa-proxy.ceph.com/teuthology/teuthology-2016-11-06_11:05:02-rgw-master-distro-basic-smithi/527300/remote/smithi053/log/valgrind/client.0.log.gz

Whenever this leak reproduces, it always complains about 4 identical leaks, with sizes 28, 51, 61, and 63.

<error>
  <unique>0x1f</unique>
  <tid>1</tid>
  <kind>Leak_PossiblyLost</kind>
  <xwhat>
    <text>28 bytes in 1 blocks are possibly lost in loss record 32 of 97</text>
    <leakedbytes>28</leakedbytes>
    <leakedblocks>1</leakedblocks>
  </xwhat>
  <stack>
    <frame>
      <ip>0x985D0E0</ip>
      <obj>/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so</obj>
      <fn>operator new(unsigned long)</fn>
    </frame>
    <frame>
      <ip>0x1453E208</ip>
      <obj>/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19</obj>
      <fn>std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator&lt;char&gt; const&amp;)</fn>
    </frame>
    <frame>
      <ip>0x1453F930</ip>
      <obj>/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19</obj>
      <fn>char* std::string::_S_construct&lt;char const*&gt;(char const*, char const*, std::allocator&lt;char&gt; const&amp;, std::forward_iterator_tag)</fn>
    </frame>
    <frame>
      <ip>0x1453FD47</ip>
      <obj>/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19</obj>
      <fn>std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;::basic_string(char const*, std::allocator&lt;char&gt; const&amp;)</fn>
    </frame>
    <frame>
      <ip>0x61153B</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>md_config_t::md_config_t()</fn>
    </frame>
    <frame>
      <ip>0x5F5285</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>CephContext::CephContext(unsigned int, int)</fn>
    </frame>
    <frame>
      <ip>0x5F083B</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>common_preinit(CephInitParameters const&amp;, code_environment_t, int, char const*)</fn>
    </frame>
    <frame>
      <ip>0x5B1EDA</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>global_pre_init(std::vector&lt;char const*, std::allocator&lt;char const*&gt; &gt;*, std::vector&lt;char const*, std::allocator&lt;char const*&gt; &gt;&amp;, unsigned int, code_environment_t, int, char const*)</fn>
    </frame>
    <frame>
      <ip>0x2F24E6</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>main</fn>
    </frame>
  </stack>
</error>

Also available in: Atom PDF