Project

General

Profile

Actions

Bug #61774

open

centos 9 testing reveals rocksdb "Leak_StillReachable" memory leak in mons

Added by Laura Flores 11 months ago. Updated 3 days ago.

Status:
Fix Under Review
Priority:
Normal
Assignee:
Category:
-
Target version:
-
% Done:

0%

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

Description

centos 9 testing based on https://github.com/ceph/ceph/pull/50441 reveals rocksdb memory leak

/a/lflores-2023-06-22_15:43:37-rados-wip-yuri2-testing-2023-06-12-1303-distro-default-smithi/7311970

<error>
  <unique>0x113f7</unique>
  <tid>1</tid>
  <threadname>ceph-mon</threadname>
  <kind>Leak_StillReachable</kind>
  <xwhat>
    <text>8 bytes in 1 blocks are still reachable in loss record 1 of 172</text>
    <leakedbytes>8</leakedbytes>
    <leakedblocks>1</leakedblocks>
  </xwhat>
  <stack>
    <frame>
      <ip>0x484622F</ip>
      <obj>/usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so</obj>
      <fn>operator new[](unsigned long)</fn>
      <dir>/builddir/build/BUILD/valgrind-3.19.0/coregrind/m_replacemalloc</dir>
      <file>vg_replace_malloc.c</file>
      <line>640</line>
    </frame>
    <frame>
      <ip>0x82B381</ip>
      <obj>/usr/bin/ceph-mon</obj>
      <fn>allocate</fn>
      <dir>/usr/include/c++/11/ext</dir>
      <file>new_allocator.h</file>
      <line>127</line>
    </frame>
    <frame>
      <ip>0x82B381</ip>
      <obj>/usr/bin/ceph-mon</obj>
      <fn>allocate</fn>
      <dir>/usr/include/c++/11/bits</dir>
      <file>alloc_traits.h</file>
      <line>464</line>
    </frame>
    <frame>
      <ip>0x82B381</ip>
      <obj>/usr/bin/ceph-mon</obj>
      <fn>_M_allocate</fn>
      <dir>/usr/include/c++/11/bits</dir>
      <file>stl_vector.h</file>
      <line>346</line>
    </frame>
    <frame>
      <ip>0x82B381</ip>
      <obj>/usr/bin/ceph-mon</obj>
      <fn>void std::vector&lt;std::unique_ptr&lt;rocksdb::ObjectLibrary::Entry, std::default_delete&lt;rocksdb::ObjectLibrary::Entry&gt; &gt;, std::allocator&lt;std::unique_ptr&lt;rocksdb::ObjectLibrary::Entry, std::default_delete&lt;rocksdb::ObjectLibrary::Entry&gt; &gt; &gt; &gt;::_M_realloc_insert&lt;std::unique_ptr&lt;rocksdb::ObjectLibrary::Entry, std::default_delete&lt;rocksdb::ObjectLibrary::Entry&gt; &gt; &gt;(__gnu_cxx::__normal_iterator&lt;std::unique_ptr&lt;rocksdb::ObjectLibrary::Entry, std::default_delete&lt;rocksdb::ObjectLibrary::Entry&gt; &gt;*, std::vector&lt;std::unique_ptr&lt;rocksdb::ObjectLibrary::Entry, std::default_delete&lt;rocksdb::ObjectLibrary::Entry&gt; &gt;, std::allocator&lt;std::unique_ptr&lt;rocksdb::ObjectLibrary::Entry, std::default_delete&lt;rocksdb::ObjectLibrary::Entry&gt; &gt; &gt; &gt; &gt;, std::unique_ptr&lt;rocksdb::ObjectLibrary::Entry, std::default_delete&lt;rocksdb::ObjectLibrary::Entry&gt; &gt;&amp;&amp;)</fn>
      <dir>/usr/include/c++/11/bits</dir>
      <file>vector.tcc</file>
      <line>440</line>
    </frame>
    <frame>
      <ip>0x982603</ip>
      <obj>/usr/bin/ceph-mon</obj>
      <fn>emplace_back&lt;std::unique_ptr&lt;rocksdb::ObjectLibrary::Entry, std::default_delete&lt;rocksdb::ObjectLibrary::Entry&gt; &gt; &gt;</fn>
      <dir>/usr/include/c++/11/bits</dir>
      <file>vector.tcc</file>
      <line>121</line>
    </frame>
    <frame>
      <ip>0x982603</ip>
      <obj>/usr/bin/ceph-mon</obj>
      <fn>AddFactoryEntry</fn>
      <dir>/usr/src/debug/ceph-18.0.0-4378.gbab5f35c.el9.x86_64/src/rocksdb/include/rocksdb/utilities</dir>
      <file>object_registry.h</file>
      <line>272</line>
    </frame>
    <frame>
      <ip>0x982603</ip>
      <obj>/usr/bin/ceph-mon</obj>
      <fn>std::function&lt;rocksdb::FileSystem* (std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unique_ptr&lt;rocksdb::FileSystem, std::default_delete&lt;rocksdb::FileSystem&gt; &gt;*, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;*)&gt; const&amp; rocksdb::ObjectLibrary::AddFactory&lt;rocksdb::FileSystem&gt;(rocksdb::ObjectLibrary::PatternEntry const&amp;, std::function&lt;rocksdb::FileSystem* (std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unique_ptr&lt;rocksdb::FileSystem, std::default_delete&lt;rocksdb::FileSystem&gt; &gt;*, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;*)&gt; const&amp;)</fn>
      <dir>/usr/src/debug/ceph-18.0.0-4378.gbab5f35c.el9.x86_64/src/rocksdb/include/rocksdb/utilities</dir>
      <file>object_registry.h</file>
      <line>256</line>
    </frame>
    <frame>
      <ip>0x3DE34B</ip>
      <obj>/usr/bin/ceph-mon</obj>
      <fn>__static_initialization_and_destruction_0(int, int) [clone .constprop.0]</fn>
      <dir>/usr/src/debug/ceph-18.0.0-4378.gbab5f35c.el9.x86_64/src/rocksdb/env</dir>
      <file>fs_posix.cc</file>
      <line>1283</line>
    </frame>
    <frame>
      <ip>0x57BFFDA</ip>
      <obj>/usr/lib64/libc.so.6</obj>
      <fn>__libc_start_main@@GLIBC_2.34</fn>
    </frame>
    <frame>
      <ip>0x3E51A4</ip>
      <obj>/usr/bin/ceph-mon</obj>
      <fn>(below main)</fn>
    </frame>
  </stack>
</error>


Related issues 3 (2 open1 closed)

Related to RADOS - Bug #61820: mon: segfault on rocksdb openingPending BackportMatan Breizman

Actions
Related to RADOS - Bug #64637: LeakPossiblyLost in BlueStore::_do_write_small() in osdNew

Actions
Has duplicate RADOS - Bug #64214: Health check failed: 1 osds down (OSD_DOWN) in cluster logs.Duplicate

Actions
Actions

Also available in: Atom PDF