Details
-
Bug
-
Resolution: Fixed
-
P3
-
8, 11, 13.0.1, 14
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8304785 | 11.0.21-oracle | Fairoz Matte | P3 | Resolved | Fixed | b01 |
JDK-8310866 | 11.0.21 | Goetz Lindenmaier | P3 | Resolved | Fixed | b01 |
JDK-8304787 | 8u391 | Fairoz Matte | P3 | Resolved | Fixed | b01 |
Description
https://bz.apache.org/bugzilla/show_bug.cgi?id=63815
While the Tomcat case is a little more complicated, this issue can be reduced to trying to pass a system property where the value contains a space. This works with java but the equivalent jdb fails.
A test case is available here:
https://github.com/markt-asf/tomcat-bugs/tree/master/src/java/org/apache/tomcat/bug63815
You need EchoArgs.java and jdb-test.sh.
EchoArgs.java is a simple Java program that echos the arguments used to the console.
jdb-test.sh first calls this program via java and then via jdb
java "-Dfoo=ba" ...
and
jdb "-Dfoo=ba" ...
work as expected. However, if a space is inserted:
java "-Dfoo=b a" ...
works but
jdb "-Dfoo=b a" ...
fails. It thinks a is the main class name.
Attachments
Issue Links
- backported by
-
JDK-8304785 jdb quoted option parsing broken
- Resolved
-
JDK-8304787 jdb quoted option parsing broken
- Resolved
-
JDK-8310866 jdb quoted option parsing broken
- Resolved
- relates to
-
JDK-8260878 com/sun/jdi/JdbOptions.java fails without jfr
- Resolved
-
JDK-7154809 JDI: update JDI/JDB debugee commandline option parsing
- Closed
- links to
-
Commit openjdk/jdk11u-dev/97c07a12
-
Commit openjdk/jdk/d1f9b8a8
-
Review openjdk/jdk11u-dev/1962
-
Review openjdk/jdk11u-dev/1967
-
Review openjdk/jdk/211