Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8085397 | emb-9 | Unassigned | P3 | Resolved | Fixed | team |
The fix for 8030046, is incorrect and the problem is two fold.
wrt. http://hg.openjdk.java.net/jdk9/dev/langtools/rev/e6e9f1b096c8
On Windows toURI().resolve will fail with:
[STDOUT]:
java.lang.IllegalArgumentException: Illegal character in opaque part at index 2: C:\cygwin\BLAH\scratch\jars\test.jar
The IAE unfortunately is swallowed, as follows:
+ try {
+ File f = parent == null ? new File(elt): new File(file.toURI().resolve(elt));
+ list.add(f);
+ } catch (IllegalArgumentException ex) {}
So thus the jar will never be added to the classpath on Windows, because of the
drive specifier "c:".
Secondly the test is flawed, in the original changeset:
The path name to the jar created in line 2.55 is never added to the args, thus
the test never worked on any platform, and this was masked because only
"-cp ." was used.
The issue was unmasked by the fix forJDK-8050429, now the test seems to be
working correctly but fails on Windows.
wrt. http://hg.openjdk.java.net/jdk9/dev/langtools/rev/e6e9f1b096c8
On Windows toURI().resolve will fail with:
[STDOUT]:
java.lang.IllegalArgumentException: Illegal character in opaque part at index 2: C:\cygwin\BLAH\scratch\jars\test.jar
The IAE unfortunately is swallowed, as follows:
+ try {
+ File f = parent == null ? new File(elt): new File(file.toURI().resolve(elt));
+ list.add(f);
+ } catch (IllegalArgumentException ex) {}
So thus the jar will never be added to the classpath on Windows, because of the
drive specifier "c:".
Secondly the test is flawed, in the original changeset:
The path name to the jar created in line 2.55 is never added to the args, thus
the test never worked on any platform, and this was masked because only
"-cp ." was used.
The issue was unmasked by the fix for
working correctly but fails on Windows.
- backported by
-
JDK-8085397 [javac] fix for 8030046 is incorrect
-
- Resolved
-
- duplicates
-
JDK-8055182 tools/javac/Paths/AbsolutePathTest.java start failing on Windows after JDK-8050429
-
- Closed
-
- relates to
-
JDK-8055501 [javac] ignore test/tools/javac/Paths/AbsolutePathTest.java
-
- Closed
-
-
JDK-8055768 javac and ToolBox do not close opened files.
-
- Closed
-
-
JDK-8030046 javac incorrectly handles absolute paths in manifest classpath
-
- Closed
-