On Fri, 22 Jan 2021 14:21:52 GMT, Roland Westrelin <[email protected]> wrote:
> 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. This pull request has now been integrated. Changeset: 3495febf Author: Roland Westrelin <[email protected]> URL: https://git.openjdk.java.net/jdk/commit/3495febf Stats: 228 lines in 20 files changed: 109 ins; 55 del; 64 mod 8260296: SA's dumpreplaydata fails Reviewed-by: kvn, cjplummer, iignatyev ------------- PR: https://git.openjdk.java.net/jdk/pull/2195
