RFR: 8281822: Test failures on non-DTrace builds due to incomplete DTrace* flags handling [v2]

Aleksey Shipilev shade at openjdk.java.net
Tue Feb 15 16:11:48 UTC 2022


> A test failure reproduces in GHA in x86_32 mode. Reproduces locally too:
> 
> 
> $ CONF=linux-x86-server-fastdebug make run-test TEST=serviceability/7170638/SDTProbesGNULinuxTest.java
> 
> java.lang.Error: java.lang.RuntimeException: '.note.stapsd' missing from stdout
> 
> at SDTProbesGNULinuxTest.testLibJvm(SDTProbesGNULinuxTest.java:76)
> at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
> at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
> at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
> 
> 
> The reason is that the new test now enables `DTraceMethodProbes`, `DTraceAllocProbes`, `DTraceMonitorProbes`, but VM never actually checks those options are available. So test thinks dtrace support is there, yet there are no relevant sections in `libjvm.so`, so the test fails. We should extend the argument checks to those three options too.
> 
> Unfortunately, there are tests that do `DTrace*` flags, we should make them sense the build capability, and act accordingly. This simplifies some existing tests too.
> 
> Additional testing:
>  - [x] Linux x86_64 fastdebug (dtrace enabled), affected test still passes
>  - [x] Linux x86_32 fastdebug (dtrace disabled due to missing dependencies), affected test now passes

Aleksey Shipilev has updated the pull request incrementally with two additional commits since the last revision:

 - Explicit DTraceOptionsTest
 - Sense DTrace build option

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/7477/files
  - new: https://git.openjdk.java.net/jdk/pull/7477/files/29ce59a9..b799af8c

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7477&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7477&range=00-01

  Stats: 114 lines in 7 files changed: 100 ins; 13 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/7477.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/7477/head:pull/7477

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


More information about the hotspot-runtime-dev mailing list