[Dclib-devel] Invalid read of size 1
Brought to you by:
davisking
From: Steven V. I. <st...@va...> - 2009-06-23 06:25:47
|
I think this is because the object is deleted, but somehow it is still reading from it... Can that be? I don't delete threads from anywhere... ==06:20:12:05.257 26069== ==06:20:12:05.257 26069== 2 errors in context 10 of 41: ==06:20:12:05.257 26069== Invalid read of size 1 ==06:20:12:05.257 26069== at 0x80DDA93: dlib::threaded_object::should_stop() const (threaded_object_extension.cpp:169) ==06:20:12:05.257 26069== by 0x80D230C: ProbePoolHelper::thread() (ProbePool.cpp:33) ==06:20:12:05.257 26069== by 0x80E5043: dlib::threaded_object::thread_helper() (threaded_object_extension.cpp:183) ==06:20:12:05.257 26069== by 0x80F37CC: void dlib::dlib_create_new_thread_helper<dlib::threaded_object, &(dlib::threaded_object::thread_helper())>(void*) (create_new_thread_extension.h:24) ==06:20:12:05.257 26069== by 0x80E5171: dlib::threads_kernel_shared::thread_starter(void*) (threads_kernel_shared.cpp:231) ==06:20:12:05.257 26069== by 0x80E5DC8: dlib::threads_kernel_shared_helpers::thread_starter(void*) (threads_kernel_2.cpp:39) ==06:20:12:05.257 26069== by 0x29849A: start_thread (in /lib/ libpthread-2.5.so) ==06:20:12:05.257 26069== by 0x21842D: clone (in /lib/libc-2.5.so) ==06:20:12:05.257 26069== Address 0x41A6E2A is 90 bytes inside a block of size 104 free'd ==06:20:12:05.257 26069== at 0x4004CF1: operator delete(void*) (vg_replace_malloc.c:244) ==06:20:12:05.257 26069== by 0x80D238A: ProbePoolHelper::~ProbePoolHelper() (ProbePool.cpp:13) ==06:20:12:05.257 26069== by 0x80D1CE7: dlib::shared_ptr<ProbePoolHelper>::~shared_ptr() (shared_ptr.h:187) ==06:20:12:05.257 26069== by 0x80D1D3A: void std::_Destroy<dlib::shared_ptr<ProbePoolHelper> >(dlib::shared_ptr<ProbePoolHelper>*) (stl_construct.h:107) ==06:20:12:05.257 26069== by 0x80D1D50: void std::__destroy_aux<dlib::shared_ptr<ProbePoolHelper>*>(dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper>*, __false_type) (stl_construct.h:122) ==06:20:12:05.257 26069== by 0x80D1D7F: void std::_Destroy<dlib::shared_ptr<ProbePoolHelper>*>(dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper>*) (stl_construct.h:155) ==06:20:12:05.257 26069== by 0x80D1D99: void std::_Destroy<dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper> >(dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper>*, std::allocator<dlib::shared_ptr< ProbePoolHelper> >) (stl_construct.h:182) ==06:20:12:05.257 26069== by 0x80D2020: std::vector<dlib::shared_ptr<ProbePoolHelper>, std::allocator<dlib::shared_ptr<ProbePoolHelper> > >::~vector() (stl_vector.h:272) ==06:20:12:05.257 26069== by 0x80D144E: ProbePool::~ProbePool() (ProbePool.cpp:68) ==06:20:12:05.258 26069== by 0x80C3177: main (main.cpp:61) ==06:20:12:05.258 26069== ==06:20:12:05.258 26069== 2 errors in context 11 of 41: ==06:20:12:05.258 26069== Invalid read of size 1 ==06:20:12:05.258 26069== at 0x80DDA88: dlib::threaded_object::should_stop() const (threaded_object_extension.cpp:167) ==06:20:12:05.258 26069== by 0x80D230C: ProbePoolHelper::thread() (ProbePool.cpp:33) ==06:20:12:05.258 26069== by 0x80E5043: dlib::threaded_object::thread_helper() (threaded_object_extension.cpp:183) ==06:20:12:05.258 26069== by 0x80F37CC: void dlib::dlib_create_new_thread_helper<dlib::threaded_object, &(dlib::threaded_object::thread_helper())>(void*) (create_new_thread_extension.h:24) ==06:20:12:05.258 26069== by 0x80E5171: dlib::threads_kernel_shared::thread_starter(void*) (threads_kernel_shared.cpp:231) ==06:20:12:05.258 26069== by 0x80E5DC8: dlib::threads_kernel_shared_helpers::thread_starter(void*) (threads_kernel_2.cpp:39) ==06:20:12:05.258 26069== by 0x29849A: start_thread (in /lib/ libpthread-2.5.so) ==06:20:12:05.258 26069== by 0x21842D: clone (in /lib/libc-2.5.so) ==06:20:12:05.258 26069== Address 0x41A6E2A is 90 bytes inside a block of size 104 free'd ==06:20:12:05.258 26069== at 0x4004CF1: operator delete(void*) (vg_replace_malloc.c:244) ==06:20:12:05.258 26069== by 0x80D238A: ProbePoolHelper::~ProbePoolHelper() (ProbePool.cpp:13) ==06:20:12:05.258 26069== by 0x80D1CE7: dlib::shared_ptr<ProbePoolHelper>::~shared_ptr() (shared_ptr.h:187) ==06:20:12:05.258 26069== by 0x80D1D3A: void std::_Destroy<dlib::shared_ptr<ProbePoolHelper> >(dlib::shared_ptr<ProbePoolHelper>*) (stl_construct.h:107) ==06:20:12:05.258 26069== by 0x80D1D50: void std::__destroy_aux<dlib::shared_ptr<ProbePoolHelper>*>(dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper>*, __false_type) (stl_construct.h:122) ==06:20:12:05.258 26069== by 0x80D1D7F: void std::_Destroy<dlib::shared_ptr<ProbePoolHelper>*>(dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper>*) (stl_construct.h:155) ==06:20:12:05.258 26069== by 0x80D1D99: void std::_Destroy<dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper> >(dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper>*, std::allocator<dlib::shared_ptr< ProbePoolHelper> >) (stl_construct.h:182) ==06:20:12:05.258 26069== by 0x80D2020: std::vector<dlib::shared_ptr<ProbePoolHelper>, std::allocator<dlib::shared_ptr<ProbePoolHelper> > >::~vector() (stl_vector.h:272) ==06:20:12:05.258 26069== by 0x80D144E: ProbePool::~ProbePool() (ProbePool.cpp:68) ==06:20:12:05.258 26069== by 0x80C3177: main (main.cpp:61) ==06:20:12:05.258 26069== ==06:20:12:05.258 26069== 2 errors in context 12 of 41: ==06:20:12:05.258 26069== Invalid read of size 1 ==06:20:12:05.258 26069== at 0x80DDA7D: dlib::threaded_object::should_stop() const (threaded_object_extension.cpp:167) ==06:20:12:05.258 26069== by 0x80D230C: ProbePoolHelper::thread() (ProbePool.cpp:33) ==06:20:12:05.258 26069== by 0x80E5043: dlib::threaded_object::thread_helper() (threaded_object_extension.cpp:183) ==06:20:12:05.259 26069== by 0x80F37CC: void dlib::dlib_create_new_thread_helper<dlib::threaded_object, &(dlib::threaded_object::thread_helper())>(void*) (create_new_thread_extension.h:24) ==06:20:12:05.259 26069== by 0x80E5171: dlib::threads_kernel_shared::thread_starter(void*) (threads_kernel_shared.cpp:231) ==06:20:12:05.259 26069== by 0x80E5DC8: dlib::threads_kernel_shared_helpers::thread_starter(void*) (threads_kernel_2.cpp:39) ==06:20:12:05.259 26069== by 0x29849A: start_thread (in /lib/ libpthread-2.5.so) ==06:20:12:05.259 26069== by 0x21842D: clone (in /lib/libc-2.5.so) ==06:20:12:05.259 26069== Address 0x41A6E28 is 88 bytes inside a block of size 104 free'd ==06:20:12:05.259 26069== at 0x4004CF1: operator delete(void*) (vg_replace_malloc.c:244) ==06:20:12:05.259 26069== by 0x80D238A: ProbePoolHelper::~ProbePoolHelper() (ProbePool.cpp:13) ==06:20:12:05.259 26069== by 0x80D1CE7: dlib::shared_ptr<ProbePoolHelper>::~shared_ptr() (shared_ptr.h:187) ==06:20:12:05.259 26069== by 0x80D1D3A: void std::_Destroy<dlib::shared_ptr<ProbePoolHelper> >(dlib::shared_ptr<ProbePoolHelper>*) (stl_construct.h:107) ==06:20:12:05.259 26069== by 0x80D1D50: void std::__destroy_aux<dlib::shared_ptr<ProbePoolHelper>*>(dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper>*, __false_type) (stl_construct.h:122) ==06:20:12:05.259 26069== by 0x80D1D7F: void std::_Destroy<dlib::shared_ptr<ProbePoolHelper>*>(dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper>*) (stl_construct.h:155) ==06:20:12:05.259 26069== by 0x80D1D99: void std::_Destroy<dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper> >(dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper>*, std::allocator<dlib::shared_ptr< ProbePoolHelper> >) (stl_construct.h:182) ==06:20:12:05.259 26069== by 0x80D2020: std::vector<dlib::shared_ptr<ProbePoolHelper>, std::allocator<dlib::shared_ptr<ProbePoolHelper> > >::~vector() (stl_vector.h:272) ==06:20:12:05.259 26069== by 0x80D144E: ProbePool::~ProbePool() (ProbePool.cpp:68) ==06:20:12:05.259 26069== by 0x80C3177: main (main.cpp:61) ==06:20:12:05.259 26069== ==06:20:12:05.259 26069== 2 errors in context 13 of 41: ==06:20:12:05.259 26069== Invalid read of size 1 ==06:20:12:05.259 26069== at 0x80DDA93: dlib::threaded_object::should_stop() const (threaded_object_extension.cpp:169) ==06:20:12:05.259 26069== by 0x80D22C5: ProbePoolHelper::thread() (ProbePool.cpp:46) ==06:20:12:05.259 26069== by 0x80E5043: dlib::threaded_object::thread_helper() (threaded_object_extension.cpp:183) ==06:20:12:05.259 26069== by 0x80F37CC: void dlib::dlib_create_new_thread_helper<dlib::threaded_object, &(dlib::threaded_object::thread_helper())>(void*) (create_new_thread_extension.h:24) ==06:20:12:05.259 26069== by 0x80E5171: dlib::threads_kernel_shared::thread_starter(void*) (threads_kernel_shared.cpp:231) ==06:20:12:05.259 26069== by 0x80E5DC8: dlib::threads_kernel_shared_helpers::thread_starter(void*) (threads_kernel_2.cpp:39) ==06:20:12:05.259 26069== by 0x29849A: start_thread (in /lib/ libpthread-2.5.so) ==06:20:12:05.259 26069== by 0x21842D: clone (in /lib/libc-2.5.so) ==06:20:12:05.259 26069== Address 0x41A6E2A is 90 bytes inside a block of size 104 free'd ==06:20:12:05.260 26069== at 0x4004CF1: operator delete(void*) (vg_replace_malloc.c:244) ==06:20:12:05.260 26069== by 0x80D238A: ProbePoolHelper::~ProbePoolHelper() (ProbePool.cpp:13) ==06:20:12:05.260 26069== by 0x80D1CE7: dlib::shared_ptr<ProbePoolHelper>::~shared_ptr() (shared_ptr.h:187) ==06:20:12:05.260 26069== by 0x80D1D3A: void std::_Destroy<dlib::shared_ptr<ProbePoolHelper> >(dlib::shared_ptr<ProbePoolHelper>*) (stl_construct.h:107) ==06:20:12:05.260 26069== by 0x80D1D50: void std::__destroy_aux<dlib::shared_ptr<ProbePoolHelper>*>(dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper>*, __false_type) (stl_construct.h:122) ==06:20:12:05.260 26069== by 0x80D1D7F: void std::_Destroy<dlib::shared_ptr<ProbePoolHelper>*>(dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper>*) (stl_construct.h:155) ==06:20:12:05.260 26069== by 0x80D1D99: void std::_Destroy<dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper> >(dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper>*, std::allocator<dlib::shared_ptr< ProbePoolHelper> >) (stl_construct.h:182) ==06:20:12:05.260 26069== by 0x80D2020: std::vector<dlib::shared_ptr<ProbePoolHelper>, std::allocator<dlib::shared_ptr<ProbePoolHelper> > >::~vector() (stl_vector.h:272) ==06:20:12:05.260 26069== by 0x80D144E: ProbePool::~ProbePool() (ProbePool.cpp:68) ==06:20:12:05.260 26069== by 0x80C3177: main (main.cpp:61) ==06:20:12:05.260 26069== ==06:20:12:05.260 26069== 2 errors in context 14 of 41: ==06:20:12:05.260 26069== Invalid read of size 1 ==06:20:12:05.260 26069== at 0x80DDA88: dlib::threaded_object::should_stop() const (threaded_object_extension.cpp:167) ==06:20:12:05.260 26069== by 0x80D22C5: ProbePoolHelper::thread() (ProbePool.cpp:46) ==06:20:12:05.260 26069== by 0x80E5043: dlib::threaded_object::thread_helper() (threaded_object_extension.cpp:183) ==06:20:12:05.260 26069== by 0x80F37CC: void dlib::dlib_create_new_thread_helper<dlib::threaded_object, &(dlib::threaded_object::thread_helper())>(void*) (create_new_thread_extension.h:24) ==06:20:12:05.260 26069== by 0x80E5171: dlib::threads_kernel_shared::thread_starter(void*) (threads_kernel_shared.cpp:231) ==06:20:12:05.260 26069== by 0x80E5DC8: dlib::threads_kernel_shared_helpers::thread_starter(void*) (threads_kernel_2.cpp:39) ==06:20:12:05.260 26069== by 0x29849A: start_thread (in /lib/ libpthread-2.5.so) ==06:20:12:05.260 26069== by 0x21842D: clone (in /lib/libc-2.5.so) ==06:20:12:05.260 26069== Address 0x41A6E2A is 90 bytes inside a block of size 104 free'd ==06:20:12:05.260 26069== at 0x4004CF1: operator delete(void*) (vg_replace_malloc.c:244) ==06:20:12:05.260 26069== by 0x80D238A: ProbePoolHelper::~ProbePoolHelper() (ProbePool.cpp:13) ==06:20:12:05.260 26069== by 0x80D1CE7: dlib::shared_ptr<ProbePoolHelper>::~shared_ptr() (shared_ptr.h:187) ==06:20:12:05.260 26069== by 0x80D1D3A: void std::_Destroy<dlib::shared_ptr<ProbePoolHelper> >(dlib::shared_ptr<ProbePoolHelper>*) (stl_construct.h:107) ==06:20:12:05.261 26069== by 0x80D1D50: void std::__destroy_aux<dlib::shared_ptr<ProbePoolHelper>*>(dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper>*, __false_type) (stl_construct.h:122) ==06:20:12:05.261 26069== by 0x80D1D7F: void std::_Destroy<dlib::shared_ptr<ProbePoolHelper>*>(dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper>*) (stl_construct.h:155) ==06:20:12:05.261 26069== by 0x80D1D99: void std::_Destroy<dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper> >(dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper>*, std::allocator<dlib::shared_ptr< ProbePoolHelper> >) (stl_construct.h:182) ==06:20:12:05.261 26069== by 0x80D2020: std::vector<dlib::shared_ptr<ProbePoolHelper>, std::allocator<dlib::shared_ptr<ProbePoolHelper> > >::~vector() (stl_vector.h:272) ==06:20:12:05.261 26069== by 0x80D144E: ProbePool::~ProbePool() (ProbePool.cpp:68) ==06:20:12:05.261 26069== by 0x80C3177: main (main.cpp:61) ==06:20:12:05.261 26069== ==06:20:12:05.261 26069== 2 errors in context 15 of 41: ==06:20:12:05.261 26069== Invalid read of size 1 ==06:20:12:05.261 26069== at 0x80DDA7D: dlib::threaded_object::should_stop() const (threaded_object_extension.cpp:167) ==06:20:12:05.261 26069== by 0x80D22C5: ProbePoolHelper::thread() (ProbePool.cpp:46) ==06:20:12:05.261 26069== by 0x80E5043: dlib::threaded_object::thread_helper() (threaded_object_extension.cpp:183) ==06:20:12:05.261 26069== by 0x80F37CC: void dlib::dlib_create_new_thread_helper<dlib::threaded_object, &(dlib::threaded_object::thread_helper())>(void*) (create_new_thread_extension.h:24) ==06:20:12:05.261 26069== by 0x80E5171: dlib::threads_kernel_shared::thread_starter(void*) (threads_kernel_shared.cpp:231) ==06:20:12:05.261 26069== by 0x80E5DC8: dlib::threads_kernel_shared_helpers::thread_starter(void*) (threads_kernel_2.cpp:39) ==06:20:12:05.261 26069== by 0x29849A: start_thread (in /lib/ libpthread-2.5.so) ==06:20:12:05.261 26069== by 0x21842D: clone (in /lib/libc-2.5.so) ==06:20:12:05.261 26069== Address 0x41A6E28 is 88 bytes inside a block of size 104 free'd ==06:20:12:05.261 26069== at 0x4004CF1: operator delete(void*) (vg_replace_malloc.c:244) ==06:20:12:05.261 26069== by 0x80D238A: ProbePoolHelper::~ProbePoolHelper() (ProbePool.cpp:13) ==06:20:12:05.261 26069== by 0x80D1CE7: dlib::shared_ptr<ProbePoolHelper>::~shared_ptr() (shared_ptr.h:187) ==06:20:12:05.261 26069== by 0x80D1D3A: void std::_Destroy<dlib::shared_ptr<ProbePoolHelper> >(dlib::shared_ptr<ProbePoolHelper>*) (stl_construct.h:107) ==06:20:12:05.261 26069== by 0x80D1D50: void std::__destroy_aux<dlib::shared_ptr<ProbePoolHelper>*>(dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper>*, __false_type) (stl_construct.h:122) ==06:20:12:05.261 26069== by 0x80D1D7F: void std::_Destroy<dlib::shared_ptr<ProbePoolHelper>*>(dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper>*) (stl_construct.h:155) ==06:20:12:05.261 26069== by 0x80D1D99: void std::_Destroy<dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper> >(dlib::shared_ptr<ProbePoolHelper>*, dlib::shared_ptr<ProbePoolHelper>*, std::allocator<dlib::shared_ptr< ProbePoolHelper> >) (stl_construct.h:182) ==06:20:12:05.262 26069== by 0x80D2020: std::vector<dlib::shared_ptr<ProbePoolHelper>, std::allocator<dlib::shared_ptr<ProbePoolHelper> > >::~vector() (stl_vector.h:272) ==06:20:12:05.262 26069== by 0x80D144E: ProbePool::~ProbePool() (ProbePool.cpp:68) ==06:20:12:05.262 26069== by 0x80C3177: main (main.cpp:61) ==06:20:12:05.262 26069== |