|
From: Jacob E. <de...@gm...> - 2011-10-20 01:53:35
|
I seem to be experiencing problems running Valgrind and java together. I've ran the combination across multiple platforms (all x64 on vms and pure hardware). Attempting to launch Valgrind of version >=3.5 causes the jvm to exit with SSE2 not supported. Initially the setup was to have a jni c program to launch the jvm which then in turn runs junit tests which calls jni code. Is this still supposed to be supported in >=3.5? Or am I missing a crucial setting? I have also tried just launching the java executable instead of the c jni launcher. |
|
From: John R. <jr...@bi...> - 2011-10-20 04:19:04
|
On 10/19/2011 06:53 PM, Jacob Evans wrote:
>
> I seem to be experiencing problems running Valgrind and java together. I've ran the combination across multiple platforms (all x64 on vms and pure hardware). Attempting to launch Valgrind of version >=3.5 causes the jvm to exit with SSE2 not supported.
Can you give an explicit literal example?
This works for me: valgrind 3.7.0-SVN on Fedora 14 x86_64.
It does not complain about SSE2 not supported:
-----
$ /usr/local/valgrind-svn/bin/valgrind -v /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java
==5148== Memcheck, a memory error detector
==5148== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==5148== Using Valgrind-3.7.0.SVN and LibVEX; rerun with -h for copyright info
==5148== Command: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java
==5148==
--5148-- Valgrind options:
--5148-- -v
--5148-- Contents of /proc/version:
--5148-- Linux version 2.6.35.14-97.fc14.x86_64 (moc...@x8...) (gcc version 4.5.1 20100924 (Red Hat 4.5.1-4) (GCC) ) #1 SMP Sat Sep 17 00:15:37 UTC 2011
--5148-- Arch and hwcaps: AMD64, amd64-sse3-cx16
--5148-- Page sizes: currently 4096, max supported 4096
--5148-- Valgrind library directory: /usr/local/valgrind-svn/lib/valgrind
--5148-- Reading syms from /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java (0x400000)
--5148-- object doesn't have a symbol table
--5148-- Reading syms from /usr/local/valgrind-svn/lib/valgrind/memcheck-amd64-linux (0x38000000)
--5148-- object doesn't have a dynamic symbol table
--5148-- Reading syms from /lib64/ld-2.13.so (0x3b4ee00000)
--5148-- Considering /usr/lib/debug/.build-id/b2/d31589b26896b2bb8da53229cea66750e13e24.debug ..
--5148-- .. build-id is valid
--5148-- Reading suppressions file: /usr/local/valgrind-svn/lib/valgrind/default.supp
==5148== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-5148-by-jreiser-on-f14-64.local
==5148== embedded gdbserver: writing to /tmp/vgdb-pipe-to-vgdb-from-5148-by-jreiser-on-f14-64.local
==5148== embedded gdbserver: shared mem /tmp/vgdb-pipe-shared-mem-vgdb-5148-by-jreiser-on-f14-64.local
==5148==
[snip]
exec: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java
argv: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
-d32 use a 32-bit data model if available
-d64 use a 64-bit data model if available
[snip]
-----
--
|
|
From: Jacob E. <de...@gm...> - 2011-10-20 05:03:59
|
Currently on mobile but I seemed to be able to always reproduce now. It seems to be java version dependent, it works with 16_02 but not 16_24 or 17 of sun java. So with 16_24 in your path execute valgrind --trace-children=yes java -version The jvm has to start as does hotspot so an invalid command line option may not trigger it. I get a different error on x86 where object heap cannot be allocated. Thanks for your time. On 20/10/2011, at 2:19 PM, John Reiser <jr...@bi...> wrote: > On 10/19/2011 06:53 PM, Jacob Evans wrote: >> >> I seem to be experiencing problems running Valgrind and java together. I've ran the combination across multiple platforms (all x64 on vms and pure hardware). Attempting to launch Valgrind of version >=3.5 causes the jvm to exit with SSE2 not supported. > > Can you give an explicit literal example? > > This works for me: valgrind 3.7.0-SVN on Fedora 14 x86_64. > It does not complain about SSE2 not supported: > ----- > $ /usr/local/valgrind-svn/bin/valgrind -v /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java > ==5148== Memcheck, a memory error detector > ==5148== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al. > ==5148== Using Valgrind-3.7.0.SVN and LibVEX; rerun with -h for copyright info > ==5148== Command: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java > ==5148== > --5148-- Valgrind options: > --5148-- -v > --5148-- Contents of /proc/version: > --5148-- Linux version 2.6.35.14-97.fc14.x86_64 (moc...@x8...) (gcc version 4.5.1 20100924 (Red Hat 4.5.1-4) (GCC) ) #1 SMP Sat Sep 17 00:15:37 UTC 2011 > --5148-- Arch and hwcaps: AMD64, amd64-sse3-cx16 > --5148-- Page sizes: currently 4096, max supported 4096 > --5148-- Valgrind library directory: /usr/local/valgrind-svn/lib/valgrind > --5148-- Reading syms from /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java (0x400000) > --5148-- object doesn't have a symbol table > --5148-- Reading syms from /usr/local/valgrind-svn/lib/valgrind/memcheck-amd64-linux (0x38000000) > --5148-- object doesn't have a dynamic symbol table > --5148-- Reading syms from /lib64/ld-2.13.so (0x3b4ee00000) > --5148-- Considering /usr/lib/debug/.build-id/b2/d31589b26896b2bb8da53229cea66750e13e24.debug .. > --5148-- .. build-id is valid > --5148-- Reading suppressions file: /usr/local/valgrind-svn/lib/valgrind/default.supp > ==5148== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-5148-by-jreiser-on-f14-64.local > ==5148== embedded gdbserver: writing to /tmp/vgdb-pipe-to-vgdb-from-5148-by-jreiser-on-f14-64.local > ==5148== embedded gdbserver: shared mem /tmp/vgdb-pipe-shared-mem-vgdb-5148-by-jreiser-on-f14-64.local > ==5148== > [snip] > exec: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java > argv: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java > Usage: java [-options] class [args...] > (to execute a class) > or java [-options] -jar jarfile [args...] > (to execute a jar file) > where options include: > -d32 use a 32-bit data model if available > -d64 use a 64-bit data model if available > [snip] > ----- > > -- > > ------------------------------------------------------------------------------ > The demand for IT networking professionals continues to grow, and the > demand for specialized networking skills is growing even more rapidly. > Take a complimentary Learning@Ciosco Self-Assessment and learn > about Cisco certifications, training, and career opportunities. > http://p.sf.net/sfu/cisco-dev2dev > _______________________________________________ > Valgrind-users mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-users |
|
From: Julian S. <js...@ac...> - 2011-10-20 14:37:33
|
For running Java (or, in general, any JIT-generated code) on x86_64 and x86, you need to use --smc-check=all (or =all-non-file, if you have a new enough valgrind). Else really wierd things will likely happen. J On Thursday, October 20, 2011, Jacob Evans wrote: > Currently on mobile but I seemed to be able to always reproduce now. > > It seems to be java version dependent, it works with 16_02 but not 16_24 or > 17 of sun java. > > So with 16_24 in your path execute valgrind --trace-children=yes java > -version The jvm has to start as does hotspot so an invalid command line > option may not trigger it. > > I get a different error on x86 where object heap cannot be allocated. > > Thanks for your time. > > On 20/10/2011, at 2:19 PM, John Reiser <jr...@bi...> wrote: > > On 10/19/2011 06:53 PM, Jacob Evans wrote: > >> I seem to be experiencing problems running Valgrind and java together. > >> I've ran the combination across multiple platforms (all x64 on vms and > >> pure hardware). Attempting to launch Valgrind of version >=3.5 causes > >> the jvm to exit with SSE2 not supported. > > > > Can you give an explicit literal example? > > > > This works for me: valgrind 3.7.0-SVN on Fedora 14 x86_64. > > It does not complain about SSE2 not supported: > > ----- > > $ /usr/local/valgrind-svn/bin/valgrind -v > > /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java ==5148== > > Memcheck, a memory error detector > > ==5148== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al. > > ==5148== Using Valgrind-3.7.0.SVN and LibVEX; rerun with -h for copyright > > info ==5148== Command: > > /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java ==5148== > > --5148-- Valgrind options: > > --5148-- -v > > --5148-- Contents of /proc/version: > > --5148-- Linux version 2.6.35.14-97.fc14.x86_64 > > (moc...@x8...) (gcc version 4.5.1 20100924 > > (Red Hat 4.5.1-4) (GCC) ) #1 SMP Sat Sep 17 00:15:37 UTC 2011 --5148-- > > Arch and hwcaps: AMD64, amd64-sse3-cx16 > > --5148-- Page sizes: currently 4096, max supported 4096 > > --5148-- Valgrind library directory: /usr/local/valgrind-svn/lib/valgrind > > --5148-- Reading syms from > > /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java (0x400000) > > --5148-- object doesn't have a symbol table > > --5148-- Reading syms from > > /usr/local/valgrind-svn/lib/valgrind/memcheck-amd64-linux (0x38000000) > > --5148-- object doesn't have a dynamic symbol table > > --5148-- Reading syms from /lib64/ld-2.13.so (0x3b4ee00000) > > --5148-- Considering > > /usr/lib/debug/.build-id/b2/d31589b26896b2bb8da53229cea66750e13e24.debug > > .. --5148-- .. build-id is valid > > --5148-- Reading suppressions file: > > /usr/local/valgrind-svn/lib/valgrind/default.supp ==5148== embedded > > gdbserver: reading from > > /tmp/vgdb-pipe-from-vgdb-to-5148-by-jreiser-on-f14-64.local ==5148== > > embedded gdbserver: writing to > > /tmp/vgdb-pipe-to-vgdb-from-5148-by-jreiser-on-f14-64.local ==5148== > > embedded gdbserver: shared mem > > /tmp/vgdb-pipe-shared-mem-vgdb-5148-by-jreiser-on-f14-64.local ==5148== > > > > [snip] > > > > exec: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java > > argv: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java > > Usage: java [-options] class [args...] > > > > (to execute a class) > > > > or java [-options] -jar jarfile [args...] > > > > (to execute a jar file) > > > > where options include: > > -d32 use a 32-bit data model if available > > -d64 use a 64-bit data model if available > > > > [snip] > > > > ----- > > --------------------------------------------------------------------------- > --- The demand for IT networking professionals continues to grow, and the > demand for specialized networking skills is growing even more rapidly. > Take a complimentary Learning@Ciosco Self-Assessment and learn > about Cisco certifications, training, and career opportunities. > http://p.sf.net/sfu/cisco-dev2dev > _______________________________________________ > Valgrind-users mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-users |