Hide Forgot
Description of problem: A number of assumptions and dependencies built into the systemtap java probing runtime fail on el8 era hosts. Specifically: - the `jps` tool being available through the jpackage-utils package - JAVA_HOME environment variable default pointing to the active java version (/usr/lib/jvm/java dir doesn't exist after `yum install systemtap-runtime-java`) Most of these changes probably stem from the java runtime/sdk being shipping in the form of modules now. It might be as simple as adding a (runtime) dependency on java-devel, which seems to fix a variety of the issues above (jps is installed, and the JAVA_HOME dir properly populated) Version-Release number of selected component (if applicable): systemtap-runtime-java-4.1-3.el8.x86_64 How reproducible: Always Steps to Reproduce: 1. yum install systemtap-runtime-java 2. try to run java probes 3. Actual results: Expected results: Additional info:
(In reply to Lukas Berk from comment #0) > Description of problem: > A number of assumptions and dependencies built into the systemtap java > probing runtime fail on el8 era hosts. Specifically: > > - the `jps` tool being available through the jpackage-utils package > - JAVA_HOME environment variable default pointing to the active java version > (/usr/lib/jvm/java dir doesn't exist after `yum install > systemtap-runtime-java`) > > Most of these changes probably stem from the java runtime/sdk being shipping > in the form of modules now. Does it? yum install systemtap-runtime-java brings in java-1.8.0-openjdk-headless for me. Only JDK 9+ have JPMS (Java Platform Module System). Has it been tested with JDK 11 at all? As far as byteman in RHEL-8 is concerned it's new enough to be used with a modular JDK. > It might be as simple as adding a (runtime) > dependency on java-devel, which seems to fix a variety of the issues above > (jps is installed, and the JAVA_HOME dir properly populated) Yes. It appears a runtime dependency on java-devel is missing. "jps" is *not* part of jpackage-utils (or javapackages-tools these days). It's part of java-X-openjdk-devel packages. If systemtap-runtime-java sets JAVA_HOME to be /usr/lib/jvm/java it has an implicit dependency on the java_sdk alternatives link which is a slave of javac, itself part of -devel subpackage.
Got it, thanks. I misinterpreted your "Note that java-11-openjdk packages don't provide version-less virtual provides, like 'java-devel'." to suggest that -no- openjdk packages provide 'java-devel'. commit 16bf9d37fe22
Verified with systemtap-4.1-6.el8: systemtap-runtime-java now requires java-devel.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2019:3366