|
From: Bart V. A. <bar...@gm...> - 2008-02-09 13:17:10
|
Hello Julian, I'm afraid something is wrong with one of the last commits. When I run the regression tests, on some systems all regression tests run fine and on other systems all regression tests hang. I can reproduce this issue by running the commands below on an openSUSE 10.3 x86_64 system: $ svn co svn://svn.valgrind.org/valgrind/trunk valgrind \ && cd valgrind \ && ./autogen.sh \ && ./configure \ && make -s \ && make -s check \ && ./vg-in-place --tool=none none/tests/selfrun Output with -v enabled: $ ./vg-in-place -v --tool=none none/tests/selfrun ==29390== Nulgrind, a binary JIT-compiler. ==29390== Copyright (C) 2002-2007, and GNU GPL'd, by Nicholas Nethercote. ==29390== Using LibVEX rev 1809, a library for dynamic binary translation. ==29390== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP. ==29390== Using valgrind-3.4.0.SVN, a dynamic binary instrumentation framework. ==29390== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al. ==29390== --29390-- Command line --29390-- none/tests/selfrun --29390-- Startup, with flags: --29390-- -v --29390-- --tool=none --29390-- Contents of /proc/version: --29390-- Linux version 2.6.22.16-0.2-default (geeko@buildhost) (gcc version 4.2.1 (SUSE Linux)) #1 SMP 2008/02/01 19:36:55 UTC --29390-- Arch and hwcaps: AMD64, amd64-sse2 --29390-- Page sizes: currently 4096, max supported 4096 --29390-- Valgrind library directory: ./.in_place --29390-- Reading syms from /home/bart/software/valgrind/none/tests/selfrun (0x400000) --29390-- Reading syms from /lib64/ld-2.6.1.so (0x4000000) --29390-- object doesn't have a symbol table --29390-- Reading syms from /home/bart/software/valgrind/none/none-amd64-linux (0x38000000) --29390-- object doesn't have a dynamic symbol table --29390-- Reading syms from /home/bart/software/valgrind/coregrind/vgpreload_core-amd64-linux.so (0x4A1D000) --29390-- Reading syms from /lib64/libc-2.6.1.so (0x4C1F000) --29390-- object doesn't have a symbol table (hangs) Bart. |
|
From: Julian S. <js...@ac...> - 2008-02-09 14:48:46
|
> I'm afraid something is wrong with one of the last commits. When I run > the regression tests, on some systems all regression tests run fine > and on other systems all regression tests hang. I did do a complete rebuild and regression test run before committing. The usual cause of strangeness after changes in VEX is because the dependencies are partially broken and so some stuff that should be recompiled, isn't. If you make distclean and rebuild from the start, does that help? J |
|
From: Bart V. A. <bar...@gm...> - 2008-02-09 16:17:17
|
On Feb 9, 2008 3:46 PM, Julian Seward <js...@ac...> wrote: > > > I'm afraid something is wrong with one of the last commits. When I run > > the regression tests, on some systems all regression tests run fine > > and on other systems all regression tests hang. > > I did do a complete rebuild and regression test run before committing. > The usual cause of strangeness after changes in VEX is because the > dependencies are partially broken and so some stuff that should be > recompiled, isn't. If you make distclean and rebuild from the start, > does that help? After I noticed the hang, I removed the entire Valgrind directory and ran the commands mentioned above. That was not only a clean build, I also fetched the sourcecode again from the repository. Bart. |
|
From: Julian S. <js...@ac...> - 2008-02-10 01:02:58
|
On Saturday 09 February 2008 17:17, Bart Van Assche wrote:
> On Feb 9, 2008 3:46 PM, Julian Seward <js...@ac...> wrote:
> > > I'm afraid something is wrong with one of the last commits. When I run
> > > the regression tests, on some systems all regression tests run fine
> > > and on other systems all regression tests hang.
> >
> > I did do a complete rebuild and regression test run before committing.
> > The usual cause of strangeness after changes in VEX is because the
> > dependencies are partially broken and so some stuff that should be
> > recompiled, isn't. If you make distclean and rebuild from the start,
> > does that help?
>
> After I noticed the hang, I removed the entire Valgrind directory and
> ran the commands mentioned above. That was not only a clean build, I
> also fetched the sourcecode again from the repository.
I managed to reproduce it. I think it is related to the new CPUID
info I added last night. This appears to cause glibc to loop
forever in this:
/* Query until desired cache level is enumerated. */
do
{
asm volatile ("cpuid"
: "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
: "0" (4), "2" (i++));
}
while (((eax >> 5) & 0x7) != level);
which is at glibc-2.6.1/sysdeps/x86_64/cacheinfo.c:399. Quite why
it loops there is a mystery to me given that the CPUID info that V
gives is now identical to that produced by a Core 2 CPU.
J
|
|
From: Bart V. A. <bar...@gm...> - 2008-02-10 09:50:38
|
On Feb 10, 2008 2:00 AM, Julian Seward <js...@ac...> wrote: > which is at glibc-2.6.1/sysdeps/x86_64/cacheinfo.c:399. Quite why > it loops there is a mystery to me given that the CPUID info that V > gives is now identical to that produced by a Core 2 CPU. I also noticed this issue on a Core 2 CPU. Bart. |
|
From: Julian S. <js...@ac...> - 2008-02-10 17:47:57
|
On Sunday 10 February 2008 10:50, Bart Van Assche wrote: > On Feb 10, 2008 2:00 AM, Julian Seward <js...@ac...> wrote: > > which is at glibc-2.6.1/sysdeps/x86_64/cacheinfo.c:399. Quite why > > it loops there is a mystery to me given that the CPUID info that V > > gives is now identical to that produced by a Core 2 CPU. This should be fixed now by vex r1810, although I have not retested on opensuse 10.3. J |
|
From: Bart V. A. <bar...@gm...> - 2008-02-10 17:57:05
|
On Feb 10, 2008 6:45 PM, Julian Seward <js...@ac...> wrote: > On Sunday 10 February 2008 10:50, Bart Van Assche wrote: > > On Feb 10, 2008 2:00 AM, Julian Seward <js...@ac...> wrote: > > > which is at glibc-2.6.1/sysdeps/x86_64/cacheinfo.c:399. Quite why > > > it loops there is a mystery to me given that the CPUID info that V > > > gives is now identical to that produced by a Core 2 CPU. > > This should be fixed now by vex r1810, although I have not retested > on opensuse 10.3. By this time I have done a clean build for Valgrind on openSUSE 10.3, and this issue is solved. Thanks for the quick fix ! Bart. |