==21216== Invalid read of size 8 ==21216== at 0x6ED5230: std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_erase(std::_Rb_tree_node > >*) (in /usr/lib64/libIce.so.3.2.1) ==21216== by 0x6ED523F: std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_erase(std::_Rb_tree_node > >*) (in /usr/lib64/libIce.so.3.2.1) ==21216== by 0x6ED5985: std::_Rb_tree, std::less, std::allocator > > > >, std::_Select1st, std::less, std::allocator > > > > >, std::less, std::allocator, std::less, std::allocator > > > > > >::_M_erase(std::_Rb_tree_node, std::less, std::allocator > > > > >*) (in /usr/lib64/libIce.so.3.2.1) ==21216== by 0x6ED399A: IceInternal::ServantManager::destroy() (in /usr/lib64/libIce.so.3.2.1) ==21216== by 0x6E7832A: Ice::ObjectAdapterI::destroy() (in /usr/lib64/libIce.so.3.2.1) ==21216== by 0x6E77BFC: IceUtilInternal::SecondVoidMemFun > std::for_each > >, IceUtilInternal::SecondVoidMemFun > >(std::_Rb_tree_iterator > >, std::_Rb_tree_iterator > >, IceUtilInternal::SecondVoidMemFun >) (in /usr/lib64/libIce.so.3.2.1) ==21216== by 0x6E75CAB: IceInternal::ObjectAdapterFactory::destroy() (in /usr/lib64/libIce.so.3.2.1) ==21216== by 0x6E4031E: IceInternal::Instance::destroy() (in /usr/lib64/libIce.so.3.2.1) ==21216== by 0x6DFD4F7: Ice::CommunicatorI::destroy() (in /usr/lib64/libIce.so.3.2.1) ==21216== by 0x6DED6FB: Ice::Application::main(int, char**, Ice::InitializationData const&) (in /usr/lib64/libIce.so.3.2.1) ==21216== by 0x6DEDD02: Ice::Application::main(int, char**) (in /usr/lib64/libIce.so.3.2.1) ==21216== by 0x414CAF: main (myexe.cc:2508) ==21216== Address 0x9102680 is 24 bytes inside a block of size 48 free'd ==21216== at 0x4C206FC: operator delete(void*) (in /usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so) ==21216== by 0x6ED5268: std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_erase(std::_Rb_tree_node > >*) (in /usr/lib64/libIce.so.3.2.1) ==21216== by 0x6ED523F: std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_erase(std::_Rb_tree_node > >*) (in /usr/lib64/libIce.so.3.2.1) ==21216== by 0x6ED5985: std::_Rb_tree, std::less, std::allocator > > > >, std::_Select1st, std::less, std::allocator > > > > >, std::less, std::allocator, std::less, std::allocator > > > > > >::_M_erase(std::_Rb_tree_node, std::less, std::allocator > > > > >*) (in /usr/lib64/libIce.so.3.2.1) ==21216== by 0x6ED389F: IceInternal::ServantManager::destroy() (in /usr/lib64/libIce.so.3.2.1) ==21216== by 0x6E7832A: Ice::ObjectAdapterI::destroy() (in /usr/lib64/libIce.so.3.2.1) ==21216== by 0x6E77BFC: IceUtilInternal::SecondVoidMemFun > std::for_each > >, IceUtilInternal::SecondVoidMemFun > >(std::_Rb_tree_iterator > >, std::_Rb_tree_iterator > >, IceUtilInternal::SecondVoidMemFun >) (in /usr/lib64/libIce.so.3.2.1) ==21216== by 0x6E75CAB: IceInternal::ObjectAdapterFactory::destroy() (in /usr/lib64/libIce.so.3.2.1) ==21216== by 0x6E4031E: IceInternal::Instance::destroy() (in /usr/lib64/libIce.so.3.2.1) ==21216== by 0x6DFD4F7: Ice::CommunicatorI::destroy() (in /usr/lib64/libIce.so.3.2.1) ==21216== by 0x6DED6FB: Ice::Application::main(int, char**, Ice::InitializationData const&) (in /usr/lib64/libIce.so.3.2.1) ==21216== by 0x6DEDD02: Ice::Application::main(int, char**) (in /usr/lib64/libIce.so.3.2.1)