RFR: 8260296: SA's dumpreplaydata fails [v5]

Roland Westrelin roland at openjdk.java.net
Fri Feb 5 09:36:58 UTC 2021


> I noticed that the SA's dumpreplaydata command fails with:
> 
> java.lang.AssertionError: CLHSDB wasn't run successfully: Opening core file, please wait...
> hsdb> Exception in thread "main" java.lang.InternalError: ciMetadata does not appear to be polymorphic
> 
> with a simple test program. This happens because the SA can't find the
> vtable symbol for ciMetadata (build produced by gcc 9.2.1). AFAIU,
> there's nothing in our build system that hides that symbol. I had to
> move one method's definition from the header file to the cpp file for
> the symbol to be visible again.
> 
> We have a test that checks dumpreplaydata but it doesn't catch that
> problem. The test produces a replay file from a core file with the SA
> by running a simple test with -Xcomp and CICrash=1. So the replay data
> has very little or no profile data (which is what causes the problem
> above). I propose running a slightly more complicated test method and
> crashing after the method has had time to run for long enough to
> collect profile data.
> 
> The other shortcoming of the test is that it doesn't look at the
> content of the replay file. It only warns if they differ. The replay
> file produced by the VM and the one produced by the SA should be
> identical (except for comment lines). So I propose we check that.
> 
> Finally, I can't run that test on my system because core files are
> handled by systemd (I'm running some recent version of fedora). I
> suppose, the system can be configured differently but having the test
> work out the box is nice. I extended the test case to handle that.
> 
> With the improved test, there are a few differences between the VM and
> SA replay files caused by VM changes that were not mirrored in the
> SA. I fixed those.

Roland Westrelin has updated the pull request incrementally with one additional commit since the last revision:

  copyrights

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/2195/files
  - new: https://git.openjdk.java.net/jdk/pull/2195/files/da2fe2be..150ea54c

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2195&range=04
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2195&range=03-04

  Stats: 18 lines in 18 files changed: 0 ins; 0 del; 18 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2195.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2195/head:pull/2195

PR: https://git.openjdk.java.net/jdk/pull/2195


More information about the hotspot-compiler-dev mailing list