We can see following error when we run `findsym` on CLHSDB which connects to remote debug server.
hsdb> verbose true hsdb> findsym gHotSpotVMTypes 0x00007f913d4a45b0Error: java.lang.NullPointerException: Cannot invoke "sun.jvm.hotspot.debugger.cdbg.CDebugger.loadObjectContainingPC(sun.jvm.hotspot.debugger.Address)" because "cdbg" is null java.lang.NullPointerException: Cannot invoke "sun.jvm.hotspot.debugger.cdbg.CDebugger.loadObjectContainingPC(sun.jvm.hotspot.debugger.Address)" because "cdbg" is null at jdk.hotspot.agent/sun.jvm.hotspot.CommandProcessor$7.doit(CommandProcessor.java:618) at jdk.hotspot.agent/sun.jvm.hotspot.CommandProcessor.executeCommand(CommandProcessor.java:2116) at jdk.hotspot.agent/sun.jvm.hotspot.CommandProcessor.executeCommand(CommandProcessor.java:2086) at jdk.hotspot.agent/sun.jvm.hotspot.CommandProcessor.run(CommandProcessor.java:1957) at jdk.hotspot.agent/sun.jvm.hotspot.CLHSDB.run(CLHSDB.java:112) at jdk.hotspot.agent/sun.jvm.hotspot.CLHSDB.main(CLHSDB.java:44) at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.runCLHSDB(SALauncher.java:282) at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.main(SALauncher.java:493) The cause of this NPE is that CDebugger is null. It happens when the debugger is running on debugd server. Command line debugger like CLHSDB can delegate the command to debugd, like `pmap` and `pstack`. `findsym` can also use this scheme. This PR has passed serviceability/sa tests on Linux x64. ------------- Commit messages: - 8265505: findsym does not work on remote debug server Changes: https://git.openjdk.java.net/jdk/pull/3582/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3582&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8265505 Stats: 92 lines in 6 files changed: 44 ins; 28 del; 20 mod Patch: https://git.openjdk.java.net/jdk/pull/3582.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/3582/head:pull/3582 PR: https://git.openjdk.java.net/jdk/pull/3582