RFR: 8263565: NPE was thrown when sun.jvm.hotspot.rmi.serverNamePrefix was set
Chris Plummer
cjplummer at openjdk.java.net
Mon Mar 15 18:50:10 UTC 2021
On Mon, 15 Mar 2021 02:01:12 GMT, Yasumasa Suenaga <ysuenaga at openjdk.org> wrote:
> NPE was thrown when I set server name prefix for debugd as following:
>
> $ jhsdb -J-Dsun.jvm.hotspot.rmi.serverNamePrefix=test debugd --pid 781
> Attaching to process ID 781 and starting RMI services, please wait...
> Error attaching to process or starting server: sun.jvm.hotspot.debugger.DebuggerException: java.lang.NullPointerException: Cannot invoke "String.length()" because "this.input" is null
> at jdk.hotspot.agent/sun.jvm.hotspot.RMIHelper.rebind(RMIHelper.java:78)
> at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.setupDebugger(HotSpotAgent.java:379)
> at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:329)
> at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.startServer(HotSpotAgent.java:215)
> at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.runDEBUGD(SALauncher.java:431)
> at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.main(SALauncher.java:493)
> Caused by: java.lang.NullPointerException: Cannot invoke "String.length()" because "this.input" is null
> at java.base/java.net.URI$Parser.parse(URI.java:3166)
> at java.base/java.net.URI.<init>(URI.java:623)
> at java.rmi/java.rmi.Naming.intParseURL(Naming.java:273)
> at java.rmi/java.rmi.Naming.parseURL(Naming.java:237)
> at java.rmi/java.rmi.Naming.rebind(Naming.java:171)
> at jdk.hotspot.agent/sun.jvm.hotspot.RMIHelper.rebind(RMIHelper.java:64)
> ... 5 more
>
> `serverNamePrefix` would not affect due to trivial bug.
The fix looks fine. It would be nice if this was documented somewhere (and even tested). Also, while looking into this I noticed the following comment:
// debugServerID follows the pattern [unique_id@]host[:port]
// we have to transform this as //host[:port]/<serverNamePrefix>['_'<unique_id>]
The `[:port]` part is also not document, not even in the command line syntax for `sadebugd`
-------------
Marked as reviewed by cjplummer (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/3000
More information about the serviceability-dev
mailing list