Project

General

Profile

Actions

Bug #20783

closed

osd: leak from do_extent_cmp

Added by Sage Weil over 6 years ago. Updated over 6 years ago.

Status:
Resolved
Priority:
Immediate
Assignee:
Jason Dillaman
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

  <kind>Leak_DefinitelyLost</kind>
  <xwhat>
    <text>16 bytes in 1 blocks are definitely lost in loss record 2 of 37</text>
    <leakedbytes>16</leakedbytes>
    <leakedblocks>1</leakedblocks>
  </xwhat>
  <stack>
    <frame>
      <ip>0xA353203</ip>
      <obj>/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so</obj>
      <fn>operator new(unsigned long)</fn>
      <dir>/builddir/build/BUILD/valgrind-3.11.0/coregrind/m_replacemalloc</dir>
      <file>vg_replace_malloc.c</file>
      <line>334</line>
    </frame>
    <frame>
      <ip>0x7D2CBE</ip>
      <obj>/usr/bin/ceph-osd</obj>
      <fn>PrimaryLogPG::do_extent_cmp(PrimaryLogPG::OpContext*, OSDOp&amp;)</fn>
      <dir>/usr/src/debug/ceph-12.1.1-609-g392d888/src/osd</dir>
      <file>PrimaryLogPG.cc</file>
      <line>4736</line>
    </frame>
    <frame>
      <ip>0x7C9711</ip>
      <obj>/usr/bin/ceph-osd</obj>
      <fn>PrimaryLogPG::do_osd_ops(PrimaryLogPG::OpContext*, std::vector&lt;OSDOp, std::allocator&lt;OSDOp&gt; &gt;&amp;)</fn>
      <dir>/usr/src/debug/ceph-12.1.1-609-g392d888/src/osd</dir>
      <file>PrimaryLogPG.cc</file>
      <line>5078</line>
    </frame>
    <frame>
      <ip>0x7D3DAE</ip>
      <obj>/usr/bin/ceph-osd</obj>
      <fn>PrimaryLogPG::prepare_transaction(PrimaryLogPG::OpContext*)</fn>
      <dir>/usr/src/debug/ceph-12.1.1-609-g392d888/src/osd</dir>
      <file>PrimaryLogPG.cc</file>
      <line>7417</line>
    </frame>
    <frame>
      <ip>0x7D4B32</ip>
      <obj>/usr/bin/ceph-osd</obj>
      <fn>PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)</fn>
      <dir>/usr/src/debug/ceph-12.1.1-609-g392d888/src/osd</dir>
      <file>PrimaryLogPG.cc</file>
      <line>3238</line>
    </frame>
    <frame>
      <ip>0x7D943E</ip>
      <obj>/usr/bin/ceph-osd</obj>
      <fn>PrimaryLogPG::do_op(boost::intrusive_ptr&lt;OpRequest&gt;&amp;)</fn>
      <dir>/usr/src/debug/ceph-12.1.1-609-g392d888/src/osd</dir>
      <file>PrimaryLogPG.cc</file>
      <line>2338</line>
    </frame>
    <frame>
      <ip>0x796DC9</ip>
      <obj>/usr/bin/ceph-osd</obj>
      <fn>PrimaryLogPG::do_request(boost::intrusive_ptr&lt;OpRequest&gt;&amp;, ThreadPool::TPHandle&amp;)</fn>
      <dir>/usr/src/debug/ceph-12.1.1-609-g392d888/src/osd</dir>
      <file>PrimaryLogPG.cc</file>

/a/sage-2017-07-26_14:40:34-rados-wip-sage-testing-distro-basic-smithi/1447207

Related issues 1 (0 open1 closed)

Related to Ceph - Bug #21964: ceph_test_cls_log failures related to cls_cxx_subop_version()Resolved10/28/2017

Actions
Actions #1

Updated by Jason Dillaman over 6 years ago

  • Status changed from 12 to In Progress
  • Assignee set to Jason Dillaman
Actions #2

Updated by Jason Dillaman over 6 years ago

  • Status changed from In Progress to Fix Under Review
Actions #3

Updated by Sage Weil over 6 years ago

coverity sez

________________________________________________________________________________
________________________
*** CID 1415740:  Resource leaks  (CTOR_DTOR_LEAK)
/home/brad/working/src/ceph/src/osd/PrimaryLogPG.cc: 4697 in
C_ExtentCmpRead::C_ExtentCmpRead(PrimaryLogPG *, OSDOp &,
boost::optional<unsigned int>, unsigned long, OSDService *, hobject_t, unsigned
int)()
4691       Context *fill_extent_ctx;
4692     
4693       C_ExtentCmpRead(PrimaryLogPG *primary_log_pg, OSDOp &osd_op,
4694                      boost::optional<uint32_t> maybe_crc, uint64_t size,
4695                      OSDService *osd, hobject_t soid, __le32 flags)
4696         : primary_log_pg(primary_log_pg), osd_op(osd_op),
>>>     CID 1415740:  Resource leaks  (CTOR_DTOR_LEAK)
>>>     The constructor allocates field "fill_extent_ctx" of "C_ExtentCmpRead" 
but there is no destructor.
4697           fill_extent_ctx(new FillInVerifyExtent(&read_length,
&osd_op.rval,
4698                                                 &read_bl, maybe_crc, size,
4699                                                 osd, soid, flags)) {
4700       }
4701     
4702       void finish(int r) override {

** CID 1415741:    (UNCAUGHT_EXCEPT)
/home/brad/working/src/ceph/src/test/test_cors.cc: 882 in main()
/home/brad/working/src/ceph/src/test/test_cors.cc: 882 in main()

Actions #4

Updated by Yuri Weinstein over 6 years ago

Jason Dillaman wrote:

PR: https://github.com/ceph/ceph/pull/16617

merged

Actions #5

Updated by Jason Dillaman over 6 years ago

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

Updated by Casey Bodley over 6 years ago

  • Related to Bug #21964: ceph_test_cls_log failures related to cls_cxx_subop_version() added
Actions

Also available in: Atom PDF