Project

General

Profile

Actions

Bug #22052

closed

ceph-mon: possible Leak in OSDMap::build_simple_optioned

Added by Abhishek Lekshmanan over 6 years ago. Updated almost 4 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
-
% Done:

0%

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

Description

run: http://qa-proxy.ceph.com/teuthology/abhi-2017-11-06_15:37:57-rgw-wip-abhi-testing-2017-11-05-1320-distro-basic-smithi/1820535/

<error>
  <unique>0x5</unique>
  <tid>1</tid>
  <kind>Leak_StillReachable</kind>
  <xwhat>
    <text>24 bytes in 1 blocks are still reachable in loss record 6 of 26</text>
    <leakedbytes>24</leakedbytes>
    <leakedblocks>1</leakedblocks>
  </xwhat>
  <stack>
    <frame>
      <ip>0x9E48203</ip>
      <obj>/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so</obj>
      <fn>operator new(unsigned long)</fn>
      <dir>/builddir/build/BUILD/valgrind-3.12.0/coregrind/m_replacemalloc</dir>
      <file>vg_replace_malloc.c</file>
      <line>334</line>
    </frame>
    <frame>
      <ip>0xA2BF76</ip>
      <obj>/usr/bin/ceph-mon</obj>
      <fn>boost::detail::make_external_thread_data()</fn>
    </frame>
    <frame>
      <ip>0xA2C35B</ip>
      <obj>/usr/bin/ceph-mon</obj>
      <fn>boost::detail::add_new_tss_node(void const*, boost::shared_ptr&lt;boost::detail::tss_cleanup_function&gt;, void*)</fn>
    </frame>
    <frame>
      <ip>0xA2CEBC</ip>
      <obj>/usr/bin/ceph-mon</obj>
      <fn>boost::detail::set_tss_data(void const*, boost::shared_ptr&lt;boost::detail::tss_cleanup_function&gt;, void*, bool)</fn>
    </frame>
    <frame>
      <ip>0xA0B46C</ip>
      <obj>/usr/bin/ceph-mon</obj>
      <fn>json_spirit::Json_grammer&lt;json_spirit::Value_impl&lt;json_spirit::Config_map&lt;std::string&gt; &gt;, boost::spirit::classic::position_iterator&lt;__gnu_cxx::__normal_iterator&lt;char const*, std::string&gt;, boost::spirit::classic::file_position_base&lt;std::string&gt;, boost::spirit::classic::nil_t&gt; &gt;::definition&lt;boost::spirit::classic::scanner&lt;boost::spirit::classic::position_iterator&lt;__gnu_cxx::__normal_iterator&lt;char const*, std::string&gt;, boost::spirit::classic::file_position_base&lt;std::string&gt;, boost::spirit::classic::nil_t&gt;, boost::spirit::classic::scanner_policies&lt;boost::spirit::classic::skipper_iteration_policy&lt;boost::spirit::classic::iteration_policy&gt;, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy&gt; &gt; &gt;&amp; boost::spirit::classic::impl::get_definition&lt;json_spirit::Json_grammer&lt;json_spirit::Value_impl&lt;json_spirit::Config_map&lt;std::string&gt; &gt;, boost::spirit::classic::position_iterator&lt;__gnu_cxx::__normal_iterator&lt;char const*, std::string&gt;, boost::spirit::classic::file_position_base&lt;std::string&gt;, boost::spirit::classic::nil_t&gt; &gt;, boost::spirit::classic::parser_context&lt;boost::spirit::classic::nil_t&gt;, boost::spirit::classic::scanner&lt;boost::spirit::classic::position_iterator&lt;__gnu_cxx::__normal_iterator&lt;char const*, std::string&gt;, boost::spirit::classic::file_position_base&lt;std::string&gt;, boost::spirit::classic::nil_t&gt;, boost::spirit::classic::scanner_policies&lt;boost::spirit::classic::skipper_iteration_policy&lt;boost::spirit::classic::iteration_policy&gt;, boost::spirit::classic::match_policy, boost::spirit::classic::action_policy&gt; &gt; &gt;(boost::spirit::classic::grammar&lt;json_spirit::Json_grammer&lt;json_spirit::Value_impl&lt;json_spirit::Config_map&lt;std::string&gt; &gt;, boost::spirit::classic::position_iterator&lt;__gnu_cxx::__normal_iterator&lt;char const*, std::string&gt;, boost::spirit::classic::file_position_base&lt;std::string&gt;, boost::spirit::classic::nil_t&gt; &gt;, boost::spirit::classic::parser_context&lt;boost::spirit::classic::nil_t&gt; &gt; const*)</fn>
    </frame>
    <frame>
      <ip>0xA0B6D6</ip>
      <obj>/usr/bin/ceph-mon</obj>
      <fn>boost::spirit::classic::position_iterator&lt;__gnu_cxx::__normal_iterator&lt;char const*, std::string&gt;, boost::spirit::classic::file_position_base&lt;std::string&gt;, boost::spirit::classic::nil_t&gt; json_spirit::read_range_or_throw&lt;boost::spirit::classic::position_iterator&lt;__gnu_cxx::__normal_iterator&lt;char const*, std::string&gt;, boost::spirit::classic::file_position_base&lt;std::string&gt;, boost::spirit::classic::nil_t&gt;, json_spirit::Value_impl&lt;json_spirit::Config_map&lt;std::string&gt; &gt; &gt;(boost::spirit::classic::position_iterator&lt;__gnu_cxx::__normal_iterator&lt;char const*, std::string&gt;, boost::spirit::classic::file_position_base&lt;std::string&gt;, boost::spirit::classic::nil_t&gt;, boost::spirit::classic::position_iterator&lt;__gnu_cxx::__normal_iterator&lt;char const*, std::string&gt;, boost::spirit::classic::file_position_base&lt;std::string&gt;, boost::spirit::classic::nil_t&gt;, json_spirit::Value_impl&lt;json_spirit::Config_map&lt;std::string&gt; &gt;&amp;)</fn>
    </frame>
    <frame>
      <ip>0xA0BABB</ip>
      <obj>/usr/bin/ceph-mon</obj>
      <fn>void json_spirit::add_posn_iter_and_read_range_or_throw&lt;__gnu_cxx::__normal_iterator&lt;char const*, std::string&gt;, json_spirit::Value_impl&lt;json_spirit::Config_map&lt;std::string&gt; &gt; &gt;(__gnu_cxx::__normal_iterator&lt;char const*, std::string&gt;, __gnu_cxx::__normal_iterator&lt;char const*, std::string&gt;, json_spirit::Value_impl&lt;json_spirit::Config_map&lt;std::string&gt; &gt;&amp;)</fn>
    </frame>
    <frame>
      <ip>0x9F3E55</ip>
      <obj>/usr/bin/ceph-mon</obj>
      <fn>json_spirit::read_or_throw(std::string const&amp;, json_spirit::Value_impl&lt;json_spirit::Config_map&lt;std::string&gt; &gt;&amp;)</fn>
    </frame>
    <frame>
      <ip>0x6FA2DE</ip>
      <obj>/usr/bin/ceph-mon</obj>
      <fn>get_json_str_map(std::string const&amp;, std::ostream&amp;, std::map&lt;std::string, std::string, std::less&lt;std::string&gt;, std::allocator&lt;std::pair&lt;std::string const, std::string&gt; &gt; &gt;*, bool)</fn>
    </frame>
    <frame>
      <ip>0x7D4333</ip>
      <obj>/usr/bin/ceph-mon</obj>
      <fn>OSDMap::build_simple_optioned(CephContext*, unsigned int, uuid_d&amp;, int, int, int, bool)</fn>
    </frame>
    <frame>
      <ip>0x6086BE</ip>
      <obj>/usr/bin/ceph-mon</obj>
      <fn>OSDMonitor::create_initial()</fn>
    </frame>

Actions #1

Updated by Kefu Chai over 5 years ago

  • Status changed from New to Fix Under Review
  • Assignee set to Kefu Chai
Actions #2

Updated by Kefu Chai over 5 years ago

  • Status changed from Fix Under Review to Resolved
Actions #3

Updated by Kefu Chai almost 4 years ago

<error>
  <unique>0x5</unique>
  <tid>1</tid>
  <threadname>ceph-mon</threadname>
  <kind>Leak_StillReachable</kind>
  <xwhat>
    <text>24 bytes in 1 blocks are still reachable in loss record 6 of 28</text>
    <leakedbytes>24</leakedbytes>
    <leakedblocks>1</leakedblocks>
  </xwhat>
  <stack>
    <frame>
      <ip>0x4C2A4C3</ip>
      <obj>/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so</obj>
      <fn>operator new(unsigned long)</fn>
      <dir>/builddir/build/BUILD/valgrind-3.14.0/coregrind/m_replacemalloc</dir>
      <file>vg_replace_malloc.c</file>
      <line>344</line>
    </frame>
    <frame>
      <ip>0x56554B0</ip>
      <obj>/usr/lib64/ceph/libceph-common.so.0</obj>
    </frame>
    <frame>
      <ip>0x56568BC</ip>
      <obj>/usr/lib64/ceph/libceph-common.so.0</obj>
      <fn>boost::detail::set_tss_data(void const*, void (*)(void (*)(void*), void*), void (*)(void*), void*, bool)</fn>
    </frame>
    <frame>
      <ip>0x5628EDF</ip>
      <obj>/usr/lib64/ceph/libceph-common.so.0</obj>
      <fn>boost::spirit::classic::position_iterator&lt;__gnu_cxx::__normal_iterator&lt;char const*, std::string&gt;, boost::spirit::classic::file_position_base&lt;std::string&gt;, boost::spirit::classic::nil_t&gt; json_spirit::read_range_or_throw&lt;boost::spirit::classic::position_iterator&lt;__gnu_cxx::__normal_iterator&lt;char const*, std::string&gt;, boost::spirit::classic::file_position_base&lt;std::string&gt;, boost::spirit::classic::nil_t&gt;, json_spirit::Value_impl&lt;json_spirit::Config_map&lt;std::string&gt; &gt; &gt;(boost::spirit::classic::position_iterator&lt;__gnu_cxx::__normal_iterator&lt;char const*, std::string&gt;, boost::spirit::classic::file_position_base&lt;std::string&gt;, boost::spirit::classic::nil_t&gt;, boost::spirit::classic::position_iterator&lt;__gnu_cxx::__normal_iterator&lt;char const*, std::string&gt;, boost::spirit::classic::file_position_base&lt;std::string&gt;, boost::spirit::classic::nil_t&gt;, json_spirit::Value_impl&lt;json_spirit::Config_map&lt;std::string&gt; &gt;&amp;)</fn>
    </frame>
    <frame>
      <ip>0x5629415</ip>
      <obj>/usr/lib64/ceph/libceph-common.so.0</obj>
      <fn>void json_spirit::add_posn_iter_and_read_range_or_throw&lt;__gnu_cxx::__normal_iterator&lt;char const*, std::string&gt;, json_spirit::Value_impl&lt;json_spirit::Config_map&lt;std::string&gt; &gt; &gt;(__gnu_cxx::__normal_iterator&lt;char const*, std::string&gt;, __gnu_cxx::__normal_iterator&lt;char const*, std::string&gt;, json_spirit::Value_impl&lt;json_spirit::Config_map&lt;std::string&gt; &gt;&amp;)</fn>
    </frame>
    <frame>
      <ip>0x52B24CD</ip>
      <obj>/usr/lib64/ceph/libceph-common.so.0</obj>
      <fn>get_json_str_map(std::string const&amp;, std::ostream&amp;, std::map&lt;std::string, std::string, std::less&lt;std::string&gt;, std::allocator&lt;std::pair&lt;std::string const, std::string&gt; &gt; &gt;*, bool)</fn>
    </frame>
    <frame>
      <ip>0x54B3C92</ip>
      <obj>/usr/lib64/ceph/libceph-common.so.0</obj>
      <fn>OSDMap::get_erasure_code_profile_default(CephContext*, std::map&lt;std::string, std::string, std::less&lt;std::string&gt;, std::allocator&lt;std::pair&lt;std::string const, std::string&gt; &gt; &gt;&amp;, std::ostream*)</fn>
    </frame>
    <frame>
      <ip>0x54D1997</ip>
      <obj>/usr/lib64/ceph/libceph-common.so.0</obj>
      <fn>OSDMap::build_simple_optioned(CephContext*, unsigned int, uuid_d&amp;, int, int, int, bool)</fn>
    </frame>
    <frame>
      <ip>0x475A69</ip>
      <obj>/usr/bin/ceph-mon</obj>
      <fn>OSDMonitor::create_initial()</fn>
    </frame>
...

/a//kchai-2020-05-24_13:25:07-rgw-nautilus-distro-basic-smithi/5087413/remote/*/log/valgrind/c2.mon.a.log.gz

Actions

Also available in: Atom PDF