harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nathan Beyer" <ndbe...@apache.org>
Subject Re: [drlvm] tests failing on linux (Ubuntu 7.04-dev) with Quad Xeon P3
Date Sat, 31 Mar 2007 00:42:40 GMT
Okay, I'm trying that out now. Can the JIT be a little smarter and not
use instructions that aren't available? We certainly can't limit
available platforms to P4 or newer.

-Nathan

On 3/30/07, Gregory Shimansky <gshimansky@gmail.com> wrote:
> Ok I think I know what's going on. DRLVM JIT generates SSE2 instructions,
> and according to the subject, you are using P3. SSE2 is not available on P3
> and will generate SIGILL on it. So it is most likely not related to JVMTI
> implementation. To prove this you can try to run "build.sh smoke.test" which
> should execute pure Java without any JVMTI.
>
> If you could please do
>
> x/1i $eip $eip+1
>
> in gdb to disassemble the failing address to see what instruction caused
> SIGILL.
>
> 2007/3/30, Nathan Beyer <ndbeyer@apache.org>:
> >
> > I might have to take that back. I tried running a simple class and it
> > bombed out with "Illegal instruction". Here's what I got from GDB run,
> > below. Note, I'm still pretty green when it comes to Linux development
> > tools, so I may sound like an idiot right now.
> >
> > nathan@pants
> > :~/harmony/drlvm-trunk/build/lnx_ia32_gcc_debug/deploy/jdk/jre/bin$
> > gdb --args ./java -cp ~/workspace/helloworld/bin/ HelloWorld
> > GNU gdb 6.6-debian
> > Copyright (C) 2006 Free Software Foundation, Inc.
> > GDB is free software, covered by the GNU General Public License, and you
> > are
> > welcome to change it and/or distribute copies of it under certain
> > conditions.
> > Type "show copying" to see the conditions.
> > There is absolutely no warranty for GDB.  Type "show warranty" for
> > details.
> > This GDB was configured as "i486-linux-gnu"...
> > Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
> > (gdb) run
> > Starting program:
> >
> > /home/nathan/harmony/drlvm-trunk/build/lnx_ia32_gcc_debug/deploy/jdk/jre/bin/java
> > -cp /home/nathan/workspace/helloworld/bin/ HelloWorld
> > [Thread debugging using libthread_db enabled]
> > [New Thread -1214162256 (LWP 13833)]
> > [New Thread -1215321200 (LWP 13836)]
> > [New process 13833]
> > [New LWP 13833]
> >
> > Program received signal SIGILL, Illegal instruction.
> > Cannot remove breakpoints because program is no longer writable.
> > It might be running in another process.
> > Further execution is probably impossible.
> > 0xb7b0c2ab in ?? () from /lib/tls/i686/cmov/libc.so.6
> > (gdb)
> >
> >
> > On 3/29/07, Nathan Beyer <ndbeyer@apache.org> wrote:
> > > I am not seeing that. Can you run the "./java -version" successfully?
> > >
> > > I tried running "gdb ./java" and it loaded me into GDB just fine.
> > >
> > > -Nathan
> > >
> > > On 3/29/07, Rana Dasgupta <rdasgupt@gmail.com> wrote:
> > > > The jvmti tests are among the first to run. Is it a problem with jvmti
> > > > failures or is drlvm currently broken on linux? I seem to get a
> > segmentation
> > > > violation running just the drlvm java executable on both 32 and 64 bit
> > RHEL
> > > > Linux.
> > > >
> > > > gdb java
> > > >
> > > > I think shows an invalid pointer in hymem_free_memory()
> > > >
> > > > Is anyone else seeing this?
> > > >
> > > >
> > > >
> > > > On 3/29/07, Nathan Beyer <ndbeyer@apache.org > wrote:
> > > > >
> > > > > On 3/29/07, Gregory Shimansky < gshimansky@gmail.com> wrote:
> > > > > > Nathan Beyer wrote:
> > > > > > > On 3/28/07, Gregory Shimansky <gshimansky@gmail.com>
wrote:
> > > > > > >> Nathan Beyer wrote:
> > > > > > >> > I'm getting consistent failures of the following
tests on
> > Ubuntu
> > > > > > >> > 7.04-dev running on Quad Xeon P3 hardware. I saw
some other
> > threads
> > > > > on
> > > > > > >> > the mailing list about failures on a dual CPU
machine, are
> > these
> > > > > the
> > > > > > >> > same failures.
> > > > > > >> >
> > > > > > >> > Is there anyway to get some more information about
these
> > failures?
> > > > > > >> > Stack trace? dumps?
> > > > > > >> >
> > > > > > >> > -Nathan
> > > > > > >> >
> > > > > > >> > Breakpoint1 failed on Client mode JIT (default)
> > > > > > >> > SingleStep1 failed on Client mode JIT (default)
> > > > > > >> > VMInit1 failed on Client mode JIT (default)
> > > > > > >> > Breakpoint1 failed on interpreter
> > > > > > >> > SingleStep1 failed on interpreter
> > > > > > >> > VMInit1 failed on interpreter
> > > > > > >>
> > > > > > >> The tests produce a report in
> > > > > > >> lnx_ia32_gcc_debug/semis/jvmti.tests/reports which
you can try
> > to
> > > > > > >> analyze. There should be the output why the tests failed.
The
> > tests
> > > > > > >> you've mentioned are single threaded and shouldn't
depend on
> > the
> > > > > number
> > > > > > >> of CPUs.
> > > > > > >
> > > > > > > I'm seeing three folders under
> > > > > > > "build/lnx_ia32_gcc_debug/semis/jvmti.tests/reports/" and
"int",
> > "jit"
> > > > > > > and "opt" folder. All of them are empty.
> > > > > >
> > > > > > Try this command line to run the test in command line. Tests
have
> > to be
> > > > > > compiled before running it
> > > > > >
> > > > > > ./lnx_ia32_gcc_debug/deploy/jdk/jre/bin/java -cp
> > > > > > make/tmp/junit.jar:./lnx_ia32_gcc_debug/semis/jvmti.tests/classes
> > > > > >
> > > > >
> > -agentpath:./lnx_ia32_gcc_debug/semis/jvmti.tests/native/Breakpoint1/libBreakpoint1.so
> > > > > > junit.textui.TestRunner Breakpoint1.Breakpoint1
> > > > > >
> > > > > > --
> > > > > > Gregory
> > > > > >
> > > > > >
> > > > >
> > > > > I tried that and this is what is output to the console (the report
> > > > > folders are still empty).
> > > > >
> > > > > DEBUG: Getting JVMTI enviroment...
> > > > > DEBUG: done!
> > > > > DEBUG: Setting capabilities...
> > > > > DEBUG: done!
> > > > > DEBUG: Setting events...
> > > > > DEBUG: done!
> > > > > Illegal instruction
> > > > >
> > > >
> > >
> >
>
>
>
> --
> Gregory
>

Mime
View raw message