[PATCH RFC 0/2] Add linux/ppc64 support for Hotspot serviceability agent to read core files
Dmitry Samersoff
dmitry.samersoff at oracle.com
Fri Nov 14 20:11:51 UTC 2014
Maynard,
Thank you for this contribution.
Could I ask you to prepare a webrev?
http://openjdk.java.net/guide/webrevHelp.html
-Dmitry
On 2014-11-14 21:09, Maynard Johnson wrote:
> When Hotspot SA tools jmap, jstack, and jsadebugd are run against a core file, they fail with the following runtime exception:
>
> OS/CPU combination linux/ppc64 not yet supported
>
> I will post a patch set that adds this support. The patch set consists of the following patches:
>
> PATCH 1/2: Updates to non-Java files to support linux/ppc64 Hotspot SA with core files
>
> PATCH 2/2: New PPC64 class files (and updates to generic files) to support linux/ppc64 Hotspot SA with core files
>
> These two patches apply cleanly to a November 13 pull of the jdk9-dev upstream sources.
>
> ------------
> Open issues:
> ------------
> 1) The jstack tool does not print a stack entry for the 'main()' method of the Java
> workload (attached) under test. For example:
>
> (Note: Addresses and method signatures elided for brevity.)
>
> Thread 24358: (state = IN_JAVA, current Java SP = null
> )
> - java.lang.String.getChars(...) @bci=58, line=814, pc=..., Method*=... (Compiled frame; ... imprecise)
> - test.run_test() @bci=80, line=33, pc=..., Method*=... (Compiled frame)
> ==> (Expect an entry for test.main() here)
>
> 2) The jstack tool sometimes prints what appears to be two complete stacks for the Java workload. For example:
>
> Thread 24779: (state = IN_JAVA, current Java SP = null
> )
> - java.lang.String.getChars(...) @bci=58, line=814, pc=..., Method*=... (Compiled frame; ... imprecise)
> - test.run_test() @bci=80, line=33, pc=..., Method*=... (Compiled frame)
> - test.get_my_chars(...) @bci=39, line=15, pc=..., Method*=... (Compiled frame)
> - test.run_test() @bci=92, line=34, pc=..., Method*=... (Compiled frame)
>
> Again, the 'test.main' method is missing, but there's also the anomaly of the
> test.run_test' method showing up twice in the stack, implying that it is called
> by 'test.get_my_chars' at line 15. But that that is not accurate. In fact, run_test
> does call String.getChars at line 33 *and* it calls test.get_my_chars at line 34 --
> but these are totally distinct call graphs. Somehow, we are seeing these two distinct
> stacks in the core file, which seems impossible.
>
> ---------
>
> Any help offered on these two open issues would be greatly appreciated.
>
> -Maynard
>
--
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* I would love to change the world, but they won't give me the sources.
More information about the ppc-aix-port-dev
mailing list