RFR: 8281614: serviceability/sa/ClhsdbFindPC.java fails with java.lang.RuntimeException: 'In code in NMethod for jdk/test/lib/apps/LingeredApp.steadyState' missing from stdout/stderr
Chris Plummer
cjplummer at openjdk.java.net
Wed Feb 23 01:32:58 UTC 2022
On Wed, 23 Feb 2022 00:51:40 GMT, Daniel D. Daugherty <dcubed at openjdk.org> wrote:
>> I think that is related to why xcomp-process and xcomp-core are not in agreement. Probably also a bug introduced when adding the two core tests (just like the DeoptimizeALot check was done wrong). As a reference, here's what it looked like before adding the two core tests:
>>
>>
>> * @requires vm.hasSA
>> * @requires vm.compiler1.enabled
>> * @requires vm.opt.DeoptimizeALot != true
>> * @run main/othervm/timeout=480 ClhsdbFindPC true
>>
>> * @requires vm.compMode != "Xcomp"
>> * @requires vm.hasSA
>> * @requires vm.compiler1.enabled
>> * @run main/othervm/timeout=480 ClhsdbFindPC false
>>
>> The first test is running the debuggee with -Xcomp. The test itself can be run with or without -Xcomp. The second runs the debuggee without -Xcomp. In this case the test is not allowed to be run with -Xcomp, because it would be passed to the debuggee (although with some work the test could have stripped it). I believe Leonid added this restriction to avoid unnecessarily testing the debuggee in -Xcomp mode twice. To be it consistent it looks like I need to move the `@requires vm.compMode != "Xcomp"` from `id=xcomp-core` to `no-xcomp-process`. The other choice is to just remove this restriction. I wasn't a fan of it when it went in initially.
>
> Personally, I'm not a fan of running the debugger/debuggee tests with the debugger in -Xcomp mode.
> I don't think that represents a real world usage scenario. Exercising the debuggee in -Xcomp mode
> is useful IMHO.
Yeah. All the SA tests get run in -Xcomp mode in the higher tiers. Maybe we should revisit this. But need to consider that it's rare for SA tests to internally force the debuggee into -Xcomp mode. So if we did not do the -Xcomp runs in the upper tiers, we would not get much testing of debuggees in -Xcomp mode.
BTW, this test has always made the debuggee run both with and w/o -Xcomp. But at some point work was done to make LingeredApp use the same JVM options as were given to the test itself. So that means if we did not exclude running this test in -Xcomp mode, we would not really need to force it to have Xcomp test cases. We would just have core and process test cases, and let the tier decide if everything is -Xcomp (debuggee, test, clhsdb), or nothing is.
-------------
PR: https://git.openjdk.java.net/jdk/pull/7542
More information about the serviceability-dev
mailing list