|
From: Bill H. <ho...@de...> - 2005-07-19 18:14:32
|
After Julian's recent message asking us to try things prior to a release, I grabbed the current svn 3.0 code and built it on an FC4 machine (using the default gcc 4). Most things seem to work well, but one example I tried goes down on an assertion failure while reading in the symtab. 2.4 has no problem running this example. I looked in bugzilla, but it doesn't look like that is set up for the 3.0 version, so here is the info. If there is anything I can do to help look into this, please let me know. (liboaDB.so is about 5MiB and is an older C++ library). [bill@lumwork2 pwtest]$ valgrind -v oainfo ==6888== Memcheck, a memory error detector. ==6888== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al. ==6888== Using LibVEX rev 1277, a library for dynamic binary translation. ==6888== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP. ==6888== Using valgrind-3.0.0.SVN, a dynamic binary instrumentation framework. ==6888== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al. --6888-- Valgrind library directory: /home/bill/donotbackup/valgrind/install/lib/valgrind --6888-- Command line --6888-- oainfo --6888-- Startup, with flags: --6888-- --tool=memcheck --6888-- --trace-children=no --6888-- --demangle=yes --6888-- --num-callers=16 --6888-- --error-limit=no --6888-- --run-libc-freeres=no --6888-- -v --6888-- -- --6888-- Contents of /proc/version: --6888-- Linux version 2.6.12-1.1390_FC4smp (bhc...@de...) (gcc version 4.0.0 20050519 (Red Hat 4.0.0-8)) #1 SMP Tue Jul 5 20:21:11 EDT 2005 --6888-- Reading syms from /home/bill/dev/bin/oainfo (0x8048000) --6888-- Reading syms from /lib/ld-2.3.5.so (0x1B8E4000) --6888-- Reading syms from /home/bill/donotbackup/valgrind/install/lib/valgrind/stage2 (0xB0000000) --6888-- Reading suppressions file: /home/bill/donotbackup/valgrind/install/lib/valgrind/default.supp ==6888== --6888-- Reading syms from /home/bill/donotbackup/valgrind/install/lib/valgrind/vg_preload_core.so (0x1B901000) --6888-- Reading syms from /home/bill/donotbackup/valgrind/install/lib/valgrind/vgpreload_memcheck.so (0x1B903000) --6888-- REDIR: 0x1B8F9B50 (index) redirected to 0x1B9060DC (index) --6888-- Reading syms from /home/bill/dev/others/oa/tools.lnx86/lib/liboaDB.so (0x1B908000) valgrind: symtab.c:884 (canonicaliseCfiSI): Assertion 'si->cfisi[i].base < si->cfisi[i+1].base' failed. |
|
From: Julian S. <js...@ac...> - 2005-07-19 19:11:40
|
> goes down on an assertion failure while reading in the symtab. 2.4 has no > problem running this example. 3.0 is reading stuff from the symtab that 2.4 doesn't even try to. > /home/bill/dev/others/oa/tools.lnx86/lib/liboaDB.so (0x1B908000) > > valgrind: symtab.c:884 (canonicaliseCfiSI): Assertion 'si->cfisi[i].base < > si->cfisi[i+1].base' failed. Could you send me a bzip2'd copy of liboaDB.so so I can see what goes wrong when V reads stuff (the call frame info) from it? Thanks J |
|
From: Nicholas N. <nj...@cs...> - 2005-07-19 18:42:16
|
On Tue, 19 Jul 2005, Bill Hoover wrote: > I looked in bugzilla, but it doesn't look like that is set up for the > 3.0 version Good point. Dirk, can you please add a 3.0 entry to Bugzilla? Thanks. N |
|
From: Dirk M. <dm...@gm...> - 2005-07-19 18:54:52
|
On Tuesday 19 July 2005 20:42, Nicholas Nethercote wrote: > Good point. Dirk, can you please add a 3.0 entry to Bugzilla? done. |
|
From: Nicholas N. <nj...@cs...> - 2005-07-19 18:56:19
|
On Tue, 19 Jul 2005, Dirk Mueller wrote: >> Good point. Dirk, can you please add a 3.0 entry to Bugzilla? > > done. Thanks. I guess we should have a 3.0.0 entry as well as a 3.0 SVN entry; sorry, I should have been clearer. N |
|
From: Julian S. <js...@ac...> - 2005-07-23 17:17:42
|
This is fixed in r4232. Bill, thanks for the test case. Turns out that the .so has ill-formed debug info (call-frame-info) in the sense that a whole bunch of different CFI entries which claim to cover the same piece(s) of address space and that's why V asserted. r4232 handles this more robustly. Do you know what compiler created the .so ? Basically it emitted bad DWARF2 call-frame info. J > /home/bill/dev/others/oa/tools.lnx86/lib/liboaDB.so (0x1B908000) > > valgrind: symtab.c:884 (canonicaliseCfiSI): Assertion 'si->cfisi[i].base < > si->cfisi[i+1].base' failed. |
|
From: Bill H. <ho...@de...> - 2005-07-28 17:06:26
|
On Sat, 2005-07-23 at 18:19 +0100, Julian Seward wrote: > This is fixed in r4232. Bill, thanks for the test case. Turns out that the > .so has ill-formed debug info (call-frame-info) in the sense that a whole > bunch of different CFI entries which claim to cover the same piece(s) of > address space and that's why V asserted. r4232 handles this more robustly. > > Do you know what compiler created the .so ? Basically it emitted bad > DWARF2 call-frame info. > > J Sorry I didn't get back more quickly, but I had to dig up the information. First, thanks for the quick fix. The library in question came to us in binary form. It was generated by Cadence Design Systems as part of the Open Access software ( http://openeda.si2.org/ ). Anyway, looking at it with strings, it looks like it was built with gcc 3.2.3. This is an old version of the library. Thanks again for a great tool. |