Project

General

Profile

Bug #3445 » lost_with_cache.txt

Josh Durgin, 11/05/2012 06:39 PM

 
==6399==
==6399== HEAP SUMMARY:
==6399== in use at exit: 76,425 bytes in 74 blocks
==6399== total heap usage: 43,058 allocs, 42,984 frees, 20,118,239 bytes allocated
==6399==
==6399== 8 bytes in 1 blocks are definitely lost in loss record 1 of 18
==6399== at 0x4C24DFA: operator new(unsigned long) (vg_replace_malloc.c:261)
==6399== by 0x57158B9: librados::Rados::aio_create_completion(void*, void (*)(void*, void*), void (*)(void*, void*)) (librados.cc:1302)
==6399== by 0x4EE64CF: librbd::LibrbdWriteback::read(object_t const&, object_locator_t const&, unsigned long, unsigned long, snapid_t, ceph::buffer::list*, unsigned long, unsigned int, Context*) (LibrbdWriteback.cc:80)
==6399== by 0x4EECB84: ObjectCacher::bh_read(ObjectCacher::BufferHead*) (ObjectCacher.cc:560)
==6399== by 0x4EF102E: ObjectCacher::_readx(ObjectCacher::OSDRead*, ObjectCacher::ObjectSet*, Context*, bool) (ObjectCacher.cc:994)
==6399== by 0x4EF0157: ObjectCacher::readx(ObjectCacher::OSDRead*, ObjectCacher::ObjectSet*, Context*) (ObjectCacher.cc:900)
==6399== by 0x4EBFB25: librbd::ImageCtx::aio_read_from_cache(object_t, ceph::buffer::list*, unsigned long, unsigned long, Context*) (ImageCtx.cc:472)
==6399== by 0x4EDE997: librbd::aio_read(librbd::ImageCtx*, std::vector<std::pair<unsigned long, unsigned long>, std::allocator<std::pair<unsigned long, unsigned long> > > const&, char*, ceph::buffer::list*, librbd::AioCompletion*) (internal.cc:2634)
==6399== by 0x4EACF96: librbd::AioRequest::read_from_parent(std::vector<std::pair<unsigned long, unsigned long>, std::allocator<std::pair<unsigned long, unsigned long> > >&) (AioRequest.cc:60)
==6399== by 0x4EAE345: librbd::AbstractWrite::should_complete(int) (AioRequest.cc:168)
==6399== by 0x4EAAB14: librbd::AioRequest::complete(int) (AioRequest.h:37)
==6399== by 0x4EDC67E: librbd::rados_req_cb(void*, void*) (internal.cc:2340)
==6399==
==6399== 112 bytes in 1 blocks are definitely lost in loss record 2 of 18
==6399== at 0x4C24DFA: operator new(unsigned long) (vg_replace_malloc.c:261)
==6399== by 0x571BAF9: ObjectOperation::stat(unsigned long*, utime_t*, int*) (Objecter.h:206)
==6399== by 0x5711120: librados::ObjectOperation::assert_exists() (librados.cc:115)
==6399== by 0x4EADCEF: librbd::AbstractWrite::guard_write() (AioRequest.cc:144)
==6399== by 0x4EE00C6: librbd::AioWrite::AioWrite(librbd::ImageCtx*, std::string const&, unsigned long, unsigned long, std::vector<std::pair<unsigned long, unsigned long>, std::allocator<std::pair<unsigned long, unsigned long> > >&, unsigned long, ceph::buffer::list const&, SnapContext const&, unsigned long, Context*) (AioRequest.h:160)
==6399== by 0x4EE6A9B: librbd::LibrbdWriteback::write(object_t const&, object_locator_t const&, unsigned long, unsigned long, SnapContext const&, ceph::buffer::list const&, utime_t, unsigned long, unsigned int, Context*) (LibrbdWriteback.cc:139)
==6399== by 0x4EEE0B1: ObjectCacher::bh_write(ObjectCacher::BufferHead*) (ObjectCacher.cc:700)
==6399== by 0x4EF0927: ObjectCacher::_readx(ObjectCacher::OSDRead*, ObjectCacher::ObjectSet*, Context*, bool) (ObjectCacher.cc:946)
==6399== by 0x4EFC571: ObjectCacher::C_RetryRead::finish(int) (ObjectCacher.h:507)
==6399== by 0x4EAAAC8: Context::complete(int) (Context.h:41)
==6399== by 0x4EF979B: finish_contexts(CephContext*, std::list<Context*, std::allocator<Context*> >&, int) (Context.h:76)
==6399== by 0x4EEDD43: ObjectCacher::bh_read_finish(long, sobject_t, long, unsigned long, ceph::buffer::list&, int) (ObjectCacher.cc:679)
==6399==
==6399== 112 bytes in 1 blocks are definitely lost in loss record 3 of 18
==6399== at 0x4C24DFA: operator new(unsigned long) (vg_replace_malloc.c:261)
==6399== by 0x571BAF9: ObjectOperation::stat(unsigned long*, utime_t*, int*) (Objecter.h:206)
==6399== by 0x5711120: librados::ObjectOperation::assert_exists() (librados.cc:115)
==6399== by 0x4EADCEF: librbd::AbstractWrite::guard_write() (AioRequest.cc:144)
==6399== by 0x4EE063B: librbd::AioZero::AioZero(librbd::ImageCtx*, std::string const&, unsigned long, unsigned long, unsigned long, std::vector<std::pair<unsigned long, unsigned long>, std::allocator<std::pair<unsigned long, unsigned long> > >&, unsigned long, SnapContext const&, unsigned long, Context*) (AioRequest.h:235)
==6399== by 0x4EDDECB: librbd::aio_discard(librbd::ImageCtx*, unsigned long, unsigned long, librbd::AioCompletion*) (internal.cc:2541)
==6399== by 0x4EDBBD2: librbd::discard(librbd::ImageCtx*, unsigned long, unsigned long) (internal.cc:2253)
==6399== by 0x4EA7226: rbd_discard (librbd.cc:992)
==6399== by 0x4048FD: do_punch_hole (fsx.c:764)
==6399== by 0x4056D7: test (fsx.c:1044)
==6399== by 0x40637E: main (fsx.c:1523)
==6399==
==6399== 128 bytes in 4 blocks are indirectly lost in loss record 4 of 18
==6399== at 0x4C24DFA: operator new(unsigned long) (vg_replace_malloc.c:261)
==6399== by 0x5971F31: ceph::buffer::create(unsigned int) (buffer.cc:231)
==6399== by 0x58F8D34: ??? (Pipe.cc:1430)
==6399== by 0x58FA140: Pipe::read_message(Message**) (Pipe.cc:1559)
==6399== by 0x58F6D80: Pipe::reader() (Pipe.cc:1210)
==6399== by 0x58FE165: Pipe::Reader::entry() (Pipe.h:47)
==6399== by 0x597852C: Thread::_entry_func(void*) (Thread.cc:41)
==6399== by 0x6B518B9: start_thread (pthread_create.c:300)
==6399== by 0x68B902C: clone (clone.S:112)
==6399==
==6399== 128 bytes in 4 blocks are indirectly lost in loss record 5 of 18
==6399== at 0x4C24DFA: operator new(unsigned long) (vg_replace_malloc.c:261)
==6399== by 0x59720E5: ceph::buffer::create_page_aligned(unsigned int) (buffer.cc:248)
==6399== by 0x58F8CCC: ??? (Pipe.cc:1425)
==6399== by 0x58FA140: Pipe::read_message(Message**) (Pipe.cc:1559)
==6399== by 0x58F6D80: Pipe::reader() (Pipe.cc:1210)
==6399== by 0x58FE165: Pipe::Reader::entry() (Pipe.h:47)
==6399== by 0x597852C: Thread::_entry_func(void*) (Thread.cc:41)
==6399== by 0x6B518B9: start_thread (pthread_create.c:300)
==6399== by 0x68B902C: clone (clone.S:112)
==6399==
==6399== 160 bytes in 5 blocks are indirectly lost in loss record 6 of 18
==6399== at 0x4C24DFA: operator new(unsigned long) (vg_replace_malloc.c:261)
==6399== by 0x5971F31: ceph::buffer::create(unsigned int) (buffer.cc:231)
==6399== by 0x58F8C54: ??? (Pipe.cc:1419)
==6399== by 0x58FA140: Pipe::read_message(Message**) (Pipe.cc:1559)
==6399== by 0x58F6D80: Pipe::reader() (Pipe.cc:1210)
==6399== by 0x58FE165: Pipe::Reader::entry() (Pipe.h:47)
==6399== by 0x597852C: Thread::_entry_func(void*) (Thread.cc:41)
==6399== by 0x6B518B9: start_thread (pthread_create.c:300)
==6399== by 0x68B902C: clone (clone.S:112)
==6399==
==6399== 224 bytes in 2 blocks are definitely lost in loss record 7 of 18
==6399== at 0x4C24DFA: operator new(unsigned long) (vg_replace_malloc.c:261)
==6399== by 0x571BAF9: ObjectOperation::stat(unsigned long*, utime_t*, int*) (Objecter.h:206)
==6399== by 0x5711120: librados::ObjectOperation::assert_exists() (librados.cc:115)
==6399== by 0x4EADCEF: librbd::AbstractWrite::guard_write() (AioRequest.cc:144)
==6399== by 0x4EE00C6: librbd::AioWrite::AioWrite(librbd::ImageCtx*, std::string const&, unsigned long, unsigned long, std::vector<std::pair<unsigned long, unsigned long>, std::allocator<std::pair<unsigned long, unsigned long> > >&, unsigned long, ceph::buffer::list const&, SnapContext const&, unsigned long, Context*) (AioRequest.h:160)
==6399== by 0x4EE6A9B: librbd::LibrbdWriteback::write(object_t const&, object_locator_t const&, unsigned long, unsigned long, SnapContext const&, ceph::buffer::list const&, utime_t, unsigned long, unsigned int, Context*) (LibrbdWriteback.cc:139)
==6399== by 0x4EEE0B1: ObjectCacher::bh_write(ObjectCacher::BufferHead*) (ObjectCacher.cc:700)
==6399== by 0x4EF4A04: ObjectCacher::flush(ObjectCacher::Object*, long, long) (ObjectCacher.cc:1386)
==6399== by 0x4EF4D8B: ObjectCacher::flush_set(ObjectCacher::ObjectSet*, Context*) (ObjectCacher.cc:1412)
==6399== by 0x4EF5DF8: ObjectCacher::commit_set(ObjectCacher::ObjectSet*, Context*) (ObjectCacher.cc:1501)
==6399== by 0x4EC00A9: librbd::ImageCtx::flush_cache() (ImageCtx.cc:516)
==6399== by 0x4EC04AA: librbd::ImageCtx::invalidate_cache() (ImageCtx.cc:544)
==6399==
==6399== 256 bytes in 1 blocks are definitely lost in loss record 8 of 18
==6399== at 0x4C24DFA: operator new(unsigned long) (vg_replace_malloc.c:261)
==6399== by 0x4EE973F: ObjectCacher::Object::map_read(ObjectCacher::OSDRead*, std::map<long, ObjectCacher::BufferHead*, std::less<long>, std::allocator<std::pair<long const, ObjectCacher::BufferHead*> > >&, std::map<long, ObjectCacher::BufferHead*, std::less<long>, std::allocator<std::pair<long const, ObjectCacher::BufferHead*> > >&, std::map<long, ObjectCacher::BufferHead*, std::less<long>, std::allocator<std::pair<long const, ObjectCacher::BufferHead*> > >&, std::map<long, ObjectCacher::BufferHead*, std::less<long>, std::allocator<std::pair<long const, ObjectCacher::BufferHead*> > >&) (ObjectCacher.cc:238)
==6399== by 0x4EF0F31: ObjectCacher::_readx(ObjectCacher::OSDRead*, ObjectCacher::ObjectSet*, Context*, bool) (ObjectCacher.cc:978)
==6399== by 0x4EF0157: ObjectCacher::readx(ObjectCacher::OSDRead*, ObjectCacher::ObjectSet*, Context*) (ObjectCacher.cc:900)
==6399== by 0x4EBFB25: librbd::ImageCtx::aio_read_from_cache(object_t, ceph::buffer::list*, unsigned long, unsigned long, Context*) (ImageCtx.cc:472)
==6399== by 0x4EDE997: librbd::aio_read(librbd::ImageCtx*, std::vector<std::pair<unsigned long, unsigned long>, std::allocator<std::pair<unsigned long, unsigned long> > > const&, char*, ceph::buffer::list*, librbd::AioCompletion*) (internal.cc:2634)
==6399== by 0x4EDE1D9: librbd::aio_read(librbd::ImageCtx*, unsigned long, unsigned long, char*, ceph::buffer::list*, librbd::AioCompletion*) (internal.cc:2576)
==6399== by 0x4EDAFEB: librbd::read_iterate(librbd::ImageCtx*, unsigned long, unsigned long, int (*)(unsigned long, unsigned long, char const*, void*), void*) (internal.cc:2124)
==6399== by 0x4EDB353: librbd::read(librbd::ImageCtx*, unsigned long, unsigned long, char*) (internal.cc:2169)
==6399== by 0x4EA715B: rbd_read (librbd.cc:971)
==6399== by 0x404008: doread (fsx.c:580)
==6399== by 0x40550F: test (fsx.c:1018)
==6399==
==6399== 320 bytes in 10 blocks are indirectly lost in loss record 9 of 18
==6399== at 0x4C24DFA: operator new(unsigned long) (vg_replace_malloc.c:261)
==6399== by 0x4EA965C: __gnu_cxx::new_allocator<std::_List_node<ceph::buffer::ptr> >::allocate(unsigned long, void const*) (new_allocator.h:89)
==6399== by 0x4EA9263: std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_get_node() (stl_list.h:316)
==6399== by 0x4EA8CA6: std::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_create_node(ceph::buffer::ptr const&) (stl_list.h:461)
==6399== by 0x4EA8670: std::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_insert(std::_List_iterator<ceph::buffer::ptr>, ceph::buffer::ptr const&) (stl_list.h:1407)
==6399== by 0x4EA7FC7: std::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::push_back(ceph::buffer::ptr const&) (stl_list.h:920)
==6399== by 0x4EC28D9: void std::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_initialize_dispatch<std::_List_const_iterator<ceph::buffer::ptr> >(std::_List_const_iterator<ceph::buffer::ptr>, std::_List_const_iterator<ceph::buffer::ptr>, std::__false_type) (stl_list.h:1361)
==6399== by 0x572375D: std::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::list<std::_List_const_iterator<ceph::buffer::ptr> >(std::_List_const_iterator<ceph::buffer::ptr>, std::_List_const_iterator<ceph::buffer::ptr>, std::allocator<ceph::buffer::ptr> const&) (stl_list.h:577)
==6399== by 0x5720A0B: void std::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::insert<std::_List_const_iterator<ceph::buffer::ptr> >(std::_List_iterator<ceph::buffer::ptr>, std::_List_const_iterator<ceph::buffer::ptr>, std::_List_const_iterator<ceph::buffer::ptr>) (stl_list.h:1051)
==6399== by 0x571E1DF: std::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::operator=(std::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> > const&) (list.tcc:147)
==6399== by 0x571933A: ceph::buffer::list::operator=(ceph::buffer::list const&) (buffer.h:309)
==6399== by 0x58724AD: Message::set_data(ceph::buffer::list const&) (Message.h:385)
==6399==
==6399== 368 bytes in 1 blocks are indirectly lost in loss record 10 of 18
==6399== at 0x4C24DFA: operator new(unsigned long) (vg_replace_malloc.c:261)
==6399== by 0x571858E: rados_aio_create_completion (librados.cc:2052)
==6399== by 0x5715887: librados::Rados::aio_create_completion(void*, void (*)(void*, void*), void (*)(void*, void*)) (librados.cc:1300)
==6399== by 0x4EE64CF: librbd::LibrbdWriteback::read(object_t const&, object_locator_t const&, unsigned long, unsigned long, snapid_t, ceph::buffer::list*, unsigned long, unsigned int, Context*) (LibrbdWriteback.cc:80)
==6399== by 0x4EECB84: ObjectCacher::bh_read(ObjectCacher::BufferHead*) (ObjectCacher.cc:560)
==6399== by 0x4EF102E: ObjectCacher::_readx(ObjectCacher::OSDRead*, ObjectCacher::ObjectSet*, Context*, bool) (ObjectCacher.cc:994)
==6399== by 0x4EF0157: ObjectCacher::readx(ObjectCacher::OSDRead*, ObjectCacher::ObjectSet*, Context*) (ObjectCacher.cc:900)
==6399== by 0x4EBFB25: librbd::ImageCtx::aio_read_from_cache(object_t, ceph::buffer::list*, unsigned long, unsigned long, Context*) (ImageCtx.cc:472)
==6399== by 0x4EDE997: librbd::aio_read(librbd::ImageCtx*, std::vector<std::pair<unsigned long, unsigned long>, std::allocator<std::pair<unsigned long, unsigned long> > > const&, char*, ceph::buffer::list*, librbd::AioCompletion*) (internal.cc:2634)
==6399== by 0x4EACF96: librbd::AioRequest::read_from_parent(std::vector<std::pair<unsigned long, unsigned long>, std::allocator<std::pair<unsigned long, unsigned long> > >&) (AioRequest.cc:60)
==6399== by 0x4EAE345: librbd::AbstractWrite::should_complete(int) (AioRequest.cc:168)
==6399== by 0x4EAAB14: librbd::AioRequest::complete(int) (AioRequest.h:37)
==6399==
==6399== 368 bytes in 1 blocks are indirectly lost in loss record 11 of 18
==6399== at 0x4C24DFA: operator new(unsigned long) (vg_replace_malloc.c:261)
==6399== by 0x571858E: rados_aio_create_completion (librados.cc:2052)
==6399== by 0x5715887: librados::Rados::aio_create_completion(void*, void (*)(void*, void*), void (*)(void*, void*)) (librados.cc:1300)
==6399== by 0x4EE64CF: librbd::LibrbdWriteback::read(object_t const&, object_locator_t const&, unsigned long, unsigned long, snapid_t, ceph::buffer::list*, unsigned long, unsigned int, Context*) (LibrbdWriteback.cc:80)
==6399== by 0x4EECB84: ObjectCacher::bh_read(ObjectCacher::BufferHead*) (ObjectCacher.cc:560)
==6399== by 0x4EF102E: ObjectCacher::_readx(ObjectCacher::OSDRead*, ObjectCacher::ObjectSet*, Context*, bool) (ObjectCacher.cc:994)
==6399== by 0x4EFC571: ObjectCacher::C_RetryRead::finish(int) (ObjectCacher.h:507)
==6399== by 0x4EAAAC8: Context::complete(int) (Context.h:41)
==6399== by 0x4EF979B: finish_contexts(CephContext*, std::list<Context*, std::allocator<Context*> >&, int) (Context.h:76)
==6399== by 0x4EEF311: ObjectCacher::bh_write_commit(long, sobject_t, long, unsigned long, unsigned long, int) (ObjectCacher.cc:790)
==6399== by 0x4EFC44C: ObjectCacher::C_WriteCommit::finish(int) (ObjectCacher.h:465)
==6399== by 0x4EAAAC8: Context::complete(int) (Context.h:41)
==6399==
==6399== 2,073 (8 direct, 2,065 indirect) bytes in 1 blocks are definitely lost in loss record 12 of 18
==6399== at 0x4C24DFA: operator new(unsigned long) (vg_replace_malloc.c:261)
==6399== by 0x57158B9: librados::Rados::aio_create_completion(void*, void (*)(void*, void*), void (*)(void*, void*)) (librados.cc:1302)
==6399== by 0x4EE64CF: librbd::LibrbdWriteback::read(object_t const&, object_locator_t const&, unsigned long, unsigned long, snapid_t, ceph::buffer::list*, unsigned long, unsigned int, Context*) (LibrbdWriteback.cc:80)
==6399== by 0x4EECB84: ObjectCacher::bh_read(ObjectCacher::BufferHead*) (ObjectCacher.cc:560)
==6399== by 0x4EF102E: ObjectCacher::_readx(ObjectCacher::OSDRead*, ObjectCacher::ObjectSet*, Context*, bool) (ObjectCacher.cc:994)
==6399== by 0x4EFC571: ObjectCacher::C_RetryRead::finish(int) (ObjectCacher.h:507)
==6399== by 0x4EAAAC8: Context::complete(int) (Context.h:41)
==6399== by 0x4EF979B: finish_contexts(CephContext*, std::list<Context*, std::allocator<Context*> >&, int) (Context.h:76)
==6399== by 0x4EEF311: ObjectCacher::bh_write_commit(long, sobject_t, long, unsigned long, unsigned long, int) (ObjectCacher.cc:790)
==6399== by 0x4EFC44C: ObjectCacher::C_WriteCommit::finish(int) (ObjectCacher.h:465)
==6399== by 0x4EAAAC8: Context::complete(int) (Context.h:41)
==6399== by 0x4EE6F5B: librbd::C_Request::finish(int) (LibrbdWriteback.cc:56)
==6399==
==6399== 3,931 bytes in 4 blocks are indirectly lost in loss record 13 of 18
==6399== at 0x4C24A72: operator new[](unsigned long) (vg_replace_malloc.c:305)
==6399== by 0x59776DE: ceph::buffer::raw_char::raw_char(unsigned int) (buffer.cc:196)
==6399== by 0x5971F44: ceph::buffer::create(unsigned int) (buffer.cc:231)
==6399== by 0x58F8D34: ??? (Pipe.cc:1430)
==6399== by 0x58FA140: Pipe::read_message(Message**) (Pipe.cc:1559)
==6399== by 0x58F6D80: Pipe::reader() (Pipe.cc:1210)
==6399== by 0x58FE165: Pipe::Reader::entry() (Pipe.h:47)
==6399== by 0x597852C: Thread::_entry_func(void*) (Thread.cc:41)
==6399== by 0x6B518B9: start_thread (pthread_create.c:300)
==6399== by 0x68B902C: clone (clone.S:112)
==6399==
==6399== 4,784 bytes in 13 blocks are indirectly lost in loss record 14 of 18
==6399== at 0x4C24DFA: operator new(unsigned long) (vg_replace_malloc.c:261)
==6399== by 0x571858E: rados_aio_create_completion (librados.cc:2052)
==6399== by 0x5715887: librados::Rados::aio_create_completion(void*, void (*)(void*, void*), void (*)(void*, void*)) (librados.cc:1300)
==6399== by 0x4EE64CF: librbd::LibrbdWriteback::read(object_t const&, object_locator_t const&, unsigned long, unsigned long, snapid_t, ceph::buffer::list*, unsigned long, unsigned int, Context*) (LibrbdWriteback.cc:80)
==6399== by 0x4EECB84: ObjectCacher::bh_read(ObjectCacher::BufferHead*) (ObjectCacher.cc:560)
==6399== by 0x4EF102E: ObjectCacher::_readx(ObjectCacher::OSDRead*, ObjectCacher::ObjectSet*, Context*, bool) (ObjectCacher.cc:994)
==6399== by 0x4EF0157: ObjectCacher::readx(ObjectCacher::OSDRead*, ObjectCacher::ObjectSet*, Context*) (ObjectCacher.cc:900)
==6399== by 0x4EBFB25: librbd::ImageCtx::aio_read_from_cache(object_t, ceph::buffer::list*, unsigned long, unsigned long, Context*) (ImageCtx.cc:472)
==6399== by 0x4EDE997: librbd::aio_read(librbd::ImageCtx*, std::vector<std::pair<unsigned long, unsigned long>, std::allocator<std::pair<unsigned long, unsigned long> > > const&, char*, ceph::buffer::list*, librbd::AioCompletion*) (internal.cc:2634)
==6399== by 0x4EDE1D9: librbd::aio_read(librbd::ImageCtx*, unsigned long, unsigned long, char*, ceph::buffer::list*, librbd::AioCompletion*) (internal.cc:2576)
==6399== by 0x4EDAFEB: librbd::read_iterate(librbd::ImageCtx*, unsigned long, unsigned long, int (*)(unsigned long, unsigned long, char const*, void*), void*) (internal.cc:2124)
==6399== by 0x4EDB353: librbd::read(librbd::ImageCtx*, unsigned long, unsigned long, char*) (internal.cc:2169)
==6399==
==6399== 7,974 bytes in 5 blocks are indirectly lost in loss record 15 of 18
==6399== at 0x4C24A72: operator new[](unsigned long) (vg_replace_malloc.c:305)
==6399== by 0x59776DE: ceph::buffer::raw_char::raw_char(unsigned int) (buffer.cc:196)
==6399== by 0x5971F44: ceph::buffer::create(unsigned int) (buffer.cc:231)
==6399== by 0x58F8C54: ??? (Pipe.cc:1419)
==6399== by 0x58FA140: Pipe::read_message(Message**) (Pipe.cc:1559)
==6399== by 0x58F6D80: Pipe::reader() (Pipe.cc:1210)
==6399== by 0x58FE165: Pipe::Reader::entry() (Pipe.h:47)
==6399== by 0x597852C: Thread::_entry_func(void*) (Thread.cc:41)
==6399== by 0x6B518B9: start_thread (pthread_create.c:300)
==6399== by 0x68B902C: clone (clone.S:112)
==6399==
==6399== 28,479 (104 direct, 28,375 indirect) bytes in 13 blocks are definitely lost in loss record 16 of 18
==6399== at 0x4C24DFA: operator new(unsigned long) (vg_replace_malloc.c:261)
==6399== by 0x57158B9: librados::Rados::aio_create_completion(void*, void (*)(void*, void*), void (*)(void*, void*)) (librados.cc:1302)
==6399== by 0x4EE64CF: librbd::LibrbdWriteback::read(object_t const&, object_locator_t const&, unsigned long, unsigned long, snapid_t, ceph::buffer::list*, unsigned long, unsigned int, Context*) (LibrbdWriteback.cc:80)
==6399== by 0x4EECB84: ObjectCacher::bh_read(ObjectCacher::BufferHead*) (ObjectCacher.cc:560)
==6399== by 0x4EF102E: ObjectCacher::_readx(ObjectCacher::OSDRead*, ObjectCacher::ObjectSet*, Context*, bool) (ObjectCacher.cc:994)
==6399== by 0x4EF0157: ObjectCacher::readx(ObjectCacher::OSDRead*, ObjectCacher::ObjectSet*, Context*) (ObjectCacher.cc:900)
==6399== by 0x4EBFB25: librbd::ImageCtx::aio_read_from_cache(object_t, ceph::buffer::list*, unsigned long, unsigned long, Context*) (ImageCtx.cc:472)
==6399== by 0x4EDE997: librbd::aio_read(librbd::ImageCtx*, std::vector<std::pair<unsigned long, unsigned long>, std::allocator<std::pair<unsigned long, unsigned long> > > const&, char*, ceph::buffer::list*, librbd::AioCompletion*) (internal.cc:2634)
==6399== by 0x4EDE1D9: librbd::aio_read(librbd::ImageCtx*, unsigned long, unsigned long, char*, ceph::buffer::list*, librbd::AioCompletion*) (internal.cc:2576)
==6399== by 0x4EDAFEB: librbd::read_iterate(librbd::ImageCtx*, unsigned long, unsigned long, int (*)(unsigned long, unsigned long, char const*, void*), void*) (internal.cc:2124)
==6399== by 0x4EDB353: librbd::read(librbd::ImageCtx*, unsigned long, unsigned long, char*) (internal.cc:2169)
==6399== by 0x4EA715B: rbd_read (librbd.cc:971)
==6399==
==6399== 45,161 (96 direct, 45,065 indirect) bytes in 3 blocks are definitely lost in loss record 17 of 18
==6399== at 0x4C24DFA: operator new(unsigned long) (vg_replace_malloc.c:261)
==6399== by 0x4EA965C: __gnu_cxx::new_allocator<std::_List_node<ceph::buffer::ptr> >::allocate(unsigned long, void const*) (new_allocator.h:89)
==6399== by 0x4EA9263: std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_get_node() (stl_list.h:316)
==6399== by 0x4EA8CA6: std::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_create_node(ceph::buffer::ptr const&) (stl_list.h:461)
==6399== by 0x4EA8670: std::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_insert(std::_List_iterator<ceph::buffer::ptr>, ceph::buffer::ptr const&) (stl_list.h:1407)
==6399== by 0x4EA7FC7: std::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::push_back(ceph::buffer::ptr const&) (stl_list.h:920)
==6399== by 0x4EC28D9: void std::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_initialize_dispatch<std::_List_const_iterator<ceph::buffer::ptr> >(std::_List_const_iterator<ceph::buffer::ptr>, std::_List_const_iterator<ceph::buffer::ptr>, std::__false_type) (stl_list.h:1361)
==6399== by 0x572375D: std::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::list<std::_List_const_iterator<ceph::buffer::ptr> >(std::_List_const_iterator<ceph::buffer::ptr>, std::_List_const_iterator<ceph::buffer::ptr>, std::allocator<ceph::buffer::ptr> const&) (stl_list.h:577)
==6399== by 0x5720A0B: void std::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::insert<std::_List_const_iterator<ceph::buffer::ptr> >(std::_List_iterator<ceph::buffer::ptr>, std::_List_const_iterator<ceph::buffer::ptr>, std::_List_const_iterator<ceph::buffer::ptr>) (stl_list.h:1051)
==6399== by 0x571E1DF: std::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::operator=(std::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> > const&) (list.tcc:147)
==6399== by 0x571933A: ceph::buffer::list::operator=(ceph::buffer::list const&) (buffer.h:309)
==6399== by 0x58724AD: Message::set_data(ceph::buffer::list const&) (Message.h:385)
==6399==
==6399== 57,344 bytes in 4 blocks are indirectly lost in loss record 18 of 18
==6399== at 0x4C236B6: memalign (vg_replace_malloc.c:581)
==6399== by 0x4C2370F: posix_memalign (vg_replace_malloc.c:709)
==6399== by 0x5977457: ceph::buffer::raw_posix_aligned::raw_posix_aligned(unsigned int) (buffer.cc:142)
==6399== by 0x59720F8: ceph::buffer::create_page_aligned(unsigned int) (buffer.cc:248)
==6399== by 0x58F8CCC: ??? (Pipe.cc:1425)
==6399== by 0x58FA140: Pipe::read_message(Message**) (Pipe.cc:1559)
==6399== by 0x58F6D80: Pipe::reader() (Pipe.cc:1210)
==6399== by 0x58FE165: Pipe::Reader::entry() (Pipe.h:47)
==6399== by 0x597852C: Thread::_entry_func(void*) (Thread.cc:41)
==6399== by 0x6B518B9: start_thread (pthread_create.c:300)
==6399== by 0x68B902C: clone (clone.S:112)
==6399==
==6399== LEAK SUMMARY:
==6399== definitely lost: 920 bytes in 23 blocks
==6399== indirectly lost: 75,505 bytes in 51 blocks
==6399== possibly lost: 0 bytes in 0 blocks
==6399== still reachable: 0 bytes in 0 blocks
==6399== suppressed: 0 bytes in 0 blocks
==6399==
==6399== For counts of detected and suppressed errors, rerun with: -v
==6399== ERROR SUMMARY: 17 errors from 13 contexts (suppressed: 4 from 4)
(2-2/2)