|
From: <oli...@on...> - 2005-05-02 11:02:43
|
If I run valgrind (parameters: --tool=memcheck --error-limit=no --log-file=valgrind --leak-check=full --num-callers=50 --show-reachable=yes --track-fds=yes --leak-resolution=med) with the actual SVN (valgrind: 3593 vex: 1152) I get the following error/assertion, when the dlopen() call is done. ==27642== Invalid read of size 4 ==27642== at 0x1B8F41A7: strlen (in /lib/ld-2.3.2.so) ==27642== by 0x1B8E8E8B: _dl_map_object_from_fd (in /lib/ld-2.3.2.so) ==27642== by 0x1B8E7C7A: _dl_map_object (in /lib/ld-2.3.2.so) ==27642== by 0x4211571A: dl_open_worker (in /lib/i686/libc-2.3.2.so) ==27642== by 0x1B8EF0F5: _dl_catch_error (in /lib/ld-2.3.2.so) ==27642== by 0x4211556E: _dl_open (in /lib/i686/libc-2.3.2.so) ==27642== by 0x1BAC2F68: dlopen_doit (in /lib/libdl-2.3.2.so) ==27642== by 0x1B8EF0F5: _dl_catch_error (in /lib/ld-2.3.2.so) ==27642== by 0x1BAC3315: _dlerror_run (in /lib/libdl-2.3.2.so) ==27642== by 0x1BAC2F13: dlopen@@GLIBC_2.1 (in /lib/libdl-2.3.2.so) ==27642== by 0x811A1D1: CbLoadLibrary(char const*) (../../source/base/library/library.cpp:65) ==27642== by 0x80DC464: CAnalyzerDLL::LoadDLL(char const*) (../../source/libs/libcal/interface/plugininterface.cpp:67) ==27642== by 0x805E718: CTestPlugin::Initialize() (../../../source/apps/cal/test/testplugin/base/ctestplugin.cpp:447) ==27642== by 0x806CA06: CTestPlugin::TestPlugin() (../../../source/apps/cal/test/testplugin/base/ctestplugin.cpp:1732) ==27642== by 0x806BE17: CTestPlugin::RunTest() (../../../source/apps/cal/test/testplugin/base/ctestplugin.cpp:1684) ==27642== by 0x80818F8: main (../../../source/apps/cal/test/testplugin/testplugin.cpp:106) ==27642== Address 0x1BC167CC is 28 bytes inside a block of size 31 alloc'd ==27642== at 0x1B8FC6A5: malloc (vg_replace_malloc.c:215) ==27642== by 0x1B8E7E4D: _dl_map_object (in /lib/ld-2.3.2.so) ==27642== by 0x4211571A: dl_open_worker (in /lib/i686/libc-2.3.2.so) ==27642== by 0x1B8EF0F5: _dl_catch_error (in /lib/ld-2.3.2.so) ==27642== by 0x4211556E: _dl_open (in /lib/i686/libc-2.3.2.so) ==27642== by 0x1BAC2F68: dlopen_doit (in /lib/libdl-2.3.2.so) ==27642== by 0x1B8EF0F5: _dl_catch_error (in /lib/ld-2.3.2.so) ==27642== by 0x1BAC3315: _dlerror_run (in /lib/libdl-2.3.2.so) ==27642== by 0x1BAC2F13: dlopen@@GLIBC_2.1 (in /lib/libdl-2.3.2.so) ==27642== by 0x811A1D1: CbLoadLibrary(char const*) (../../source/base/library/library.cpp:65) ==27642== by 0x80DC464: CAnalyzerDLL::LoadDLL(char const*) (../../source/libs/libcal/interface/plugininterface.cpp:67) ==27642== by 0x805E718: CTestPlugin::Initialize() (../../../source/apps/cal/test/testplugin/base/ctestplugin.cpp:447) ==27642== by 0x806CA06: CTestPlugin::TestPlugin() (../../../source/apps/cal/test/testplugin/base/ctestplugin.cpp:1732) ==27642== by 0x806BE17: CTestPlugin::RunTest() (../../../source/apps/cal/test/testplugin/base/ctestplugin.cpp:1684) ==27642== by 0x80818F8: main (../../../source/apps/cal/test/testplugin/testplugin.cpp:106) valgrind: vg_symtab2.c:870 (canonicaliseCfiSI): Assertion `si->cfisi[i].base + si->cfisi[i].len - 1 < si->cfisi[i+1].base' failed. ==27642== at 0xB001E639: ??? ==27642== by 0xB001E638: ??? ==27642== by 0xB0023269: ??? ==27642== by 0xB0024C53: ??? ==27642== by 0xB0048139: ??? ==27642== by 0xB004822A: ??? ==27642== by 0xB002BF5D: ??? ==27642== by 0xB0034FFE: ??? ==27642== by 0xB00394A9: ??? ==27642== by 0xB0014AD7: ??? ==27642== by 0xB0014DB4: ??? ==27642== by 0xB004B012: ??? Basic block ctr is approximately 745445 sched status: running_tid=1 Thread 1: status = VgTs_Runnable ==27642== at 0x1B8F3BBD: mmap (in /lib/ld-2.3.2.so) ==27642== by 0x1B8E7C7A: _dl_map_object (in /lib/ld-2.3.2.so) ==27642== by 0x4211571A: dl_open_worker (in /lib/i686/libc-2.3.2.so) ==27642== by 0x1B8EF0F5: _dl_catch_error (in /lib/ld-2.3.2.so) ==27642== by 0x4211556E: _dl_open (in /lib/i686/libc-2.3.2.so) ==27642== by 0x1BAC2F68: dlopen_doit (in /lib/libdl-2.3.2.so) ==27642== by 0x1B8EF0F5: _dl_catch_error (in /lib/ld-2.3.2.so) ==27642== by 0x1BAC3315: _dlerror_run (in /lib/libdl-2.3.2.so) ==27642== by 0x1BAC2F13: dlopen@@GLIBC_2.1 (in /lib/libdl-2.3.2.so) ==27642== by 0x811A1D1: CbLoadLibrary(char const*) (../../source/base/library/library.cpp:65) ==27642== by 0x80DC464: CAnalyzerDLL::LoadDLL(char const*) (../../source/libs/libcal/interface/plugininterface.cpp:67) ==27642== by 0x805E718: CTestPlugin::Initialize() (../../../source/apps/cal/test/testplugin/base/ctestplugin.cpp:447) ==27642== by 0x806CA06: CTestPlugin::TestPlugin() (../../../source/apps/cal/test/testplugin/base/ctestplugin.cpp:1732) ==27642== by 0x806BE17: CTestPlugin::RunTest() (../../../source/apps/cal/test/testplugin/base/ctestplugin.cpp:1684) ==27642== by 0x80818F8: main (../../../source/apps/cal/test/testplugin/testplugin.cpp:106) Thread 2: status = VgTs_WaitSys ==27642== at 0x420DB1A7: poll (in /lib/i686/libc-2.3.2.so) ==27642== by 0x1B90B9DD: __pthread_manager (in /lib/i686/libpthread-0.10.so) ==27642== by 0x420E3886: clone (in /lib/i686/libc-2.3.2.so) Thread 3: status = VgTs_WaitSys ==27642== at 0x1B90EA35: __pthread_sigsuspend (in /lib/i686/libpthread-0.10.so) ==27642== by 0x1B90DDB7: __pthread_wait_for_restart_signal (in /lib/i686/libpthread-0.10.so) ==27642== by 0x1B90AC8A: pthread_cond_wait@@GLIBC_2.3.2 (in /lib/i686/libpthread-0.10.so) ==27642== by 0x810F87A: CbEvent::WaitFor(int) (../../source/base/sync/unx/cbsyncimpl.cpp:454) ==27642== by 0x80B1994: ThreadFunc(void*) (../../source/libs/libcalbase/thread/threadpool.cpp:495) ==27642== by 0x1B90C880: pthread_start_thread (in /lib/i686/libpthread-0.10.so) ==27642== by 0x420E3886: clone (in /lib/i686/libc-2.3.2.so) I know it's WIP code, but I thought I might just point it out. |
|
From: Julian S. <js...@ac...> - 2005-05-02 11:43:54
|
> actual SVN (valgrind: 3593 vex: 1152) I get the following > error/assertion, when the dlopen() call is done. Wow, you like to live on the leading edge, huh?! I committed that stuff, well, almost an hour ago now :-) > valgrind: vg_symtab2.c:870 (canonicaliseCfiSI): Assertion > `si->cfisi[i].base + si->cfisi[i].len - 1 < si->cfisi[i+1].base' > failed. Darn. I have no idea .. Can you re-run with --trace-cfi=yes. This will generate tons of cfi-related debug junk, then bzip2 it and send to me if it's not too huge? That might give a clue. J |
|
From: gerhard s. <pos...@in...> - 2006-03-02 11:11:26
|
Hi, with valgrind: ==2886== Memcheck, a memory error detector. ==2886== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al. ==2886== Using LibVEX rev 1471, a library for dynamic binary translation. ==2886== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP. ==2886== Using valgrind-3.1.0, a dynamic binary instrumentation framework. ==2886== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al. I get a similar error (Assertion 'cfisi->len > 0...) (see below). A bzip2 ed log with --trace-cfi=yes can be provided. Any help would be great. Greetings G. Schabel valgrind: m_debuginfo/symtab.c:511 (vgModuleLocal_addCfiSI): Assertion 'cfisi->len > 0 && cfisi->len < 2000000' failed. ==2886== at 0xB000E3D8: report_and_quit (in /usr/lib/valgrind/x86-linux/memcheck) ==2886== by 0xB000E57A: vgPlain_assert_fail (in /usr/lib/valgrind/x86-linux/memcheck) ==2886== by 0xB0025771: vgModuleLocal_addCfiSI (in /usr/lib/valgrind/x86-linux/memcheck) ==2886== by 0xB00481F7: run_CF_instructions (in /usr/lib/valgrind/x86-linux/memcheck) ==2886== by 0xB00489FA: vgModuleLocal_read_callframe_info_dwarf2 (in /usr/lib/valgrind/x86-linux/memcheck) ==2886== by 0xB0028028: read_lib_symbols (in /usr/lib/valgrind/x86-linux/memcheck) ==2886== by 0xB00281CD: vgPlain_read_seg_symbols (in /usr/lib/valgrind/x86-linux/memcheck) ==2886== by 0xB0025119: vgPlain_di_notify_mmap (in /usr/lib/valgrind/x86-linux/memcheck) ==2886== by 0xB002EB64: vgModuleLocal_generic_PRE_sys_mmap (in /usr/lib/valgrind/x86-linux/memcheck) ==2886== by 0xB0043661: vgSysWrap_x86_linux_sys_mmap2_before (in /usr/lib/valgrind/x86-linux/memcheck) ==2886== by 0xB0039584: vgPlain_client_syscall (in /usr/lib/valgrind/x86-linux/memcheck) ==2886== by 0xB002B80B: handle_syscall (in /usr/lib/valgrind/x86-linux/memcheck) ==2886== by 0xB002BAC0: vgPlain_scheduler (in /usr/lib/valgrind/x86-linux/memcheck) ==2886== by 0xB003A708: thread_wrapper (in /usr/lib/valgrind/x86-linux/memcheck) ==2886== by 0xB003A7C8: run_a_thread_NORETURN (in /usr/lib/valgrind/x86-linux/memcheck) sched status: running_tid=1 Thread 1: status = VgTs_Runnable ==2886== at 0x40100D3: mmap (mmap.S:56) |