==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::allocator > > const&, char*, ceph::buffer::list*, librbd::AioCompletion*) (internal.cc:2634) ==6399== by 0x4EACF96: librbd::AioRequest::read_from_parent(std::vector, std::allocator > >&) (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::allocator > >&, 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 >&, 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::allocator > >&, 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::allocator > >&, 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, std::allocator > >&, std::map, std::allocator > >&, std::map, std::allocator > >&, std::map, std::allocator > >&) (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::allocator > > 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 >::allocate(unsigned long, void const*) (new_allocator.h:89) ==6399== by 0x4EA9263: std::_List_base >::_M_get_node() (stl_list.h:316) ==6399== by 0x4EA8CA6: std::list >::_M_create_node(ceph::buffer::ptr const&) (stl_list.h:461) ==6399== by 0x4EA8670: std::list >::_M_insert(std::_List_iterator, ceph::buffer::ptr const&) (stl_list.h:1407) ==6399== by 0x4EA7FC7: std::list >::push_back(ceph::buffer::ptr const&) (stl_list.h:920) ==6399== by 0x4EC28D9: void std::list >::_M_initialize_dispatch >(std::_List_const_iterator, std::_List_const_iterator, std::__false_type) (stl_list.h:1361) ==6399== by 0x572375D: std::list >::list >(std::_List_const_iterator, std::_List_const_iterator, std::allocator const&) (stl_list.h:577) ==6399== by 0x5720A0B: void std::list >::insert >(std::_List_iterator, std::_List_const_iterator, std::_List_const_iterator) (stl_list.h:1051) ==6399== by 0x571E1DF: std::list >::operator=(std::list > 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::allocator > > const&, char*, ceph::buffer::list*, librbd::AioCompletion*) (internal.cc:2634) ==6399== by 0x4EACF96: librbd::AioRequest::read_from_parent(std::vector, std::allocator > >&) (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 >&, 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 >&, 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::allocator > > 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::allocator > > 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 >::allocate(unsigned long, void const*) (new_allocator.h:89) ==6399== by 0x4EA9263: std::_List_base >::_M_get_node() (stl_list.h:316) ==6399== by 0x4EA8CA6: std::list >::_M_create_node(ceph::buffer::ptr const&) (stl_list.h:461) ==6399== by 0x4EA8670: std::list >::_M_insert(std::_List_iterator, ceph::buffer::ptr const&) (stl_list.h:1407) ==6399== by 0x4EA7FC7: std::list >::push_back(ceph::buffer::ptr const&) (stl_list.h:920) ==6399== by 0x4EC28D9: void std::list >::_M_initialize_dispatch >(std::_List_const_iterator, std::_List_const_iterator, std::__false_type) (stl_list.h:1361) ==6399== by 0x572375D: std::list >::list >(std::_List_const_iterator, std::_List_const_iterator, std::allocator const&) (stl_list.h:577) ==6399== by 0x5720A0B: void std::list >::insert >(std::_List_iterator, std::_List_const_iterator, std::_List_const_iterator) (stl_list.h:1051) ==6399== by 0x571E1DF: std::list >::operator=(std::list > 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)