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 <[EMAIL PROTECTED]>:

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.

[EMAIL PROTECTED]
:~/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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED] > wrote:
> > >
> > > On 3/29/07, Gregory Shimansky < [EMAIL PROTECTED]> wrote:
> > > > Nathan Beyer wrote:
> > > > > On 3/28/07, Gregory Shimansky <[EMAIL PROTECTED]> 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

Reply via email to