On Wed, 17 Apr 2024 14:30:02 GMT, Weijun Wang <wei...@openjdk.org> wrote:
>> Francisco Ferrari Bihurriet has updated the pull request with a new target >> base due to a merge or a rebase. The pull request now contains 11 commits: >> >> - Merge 'openjdk/master' into JDK-8319332 >> - Merge 'openjdk/master' into JDK-8319332 >> >> Conflict in ConfigFileTest.java solved by keeping our file, which had >> been previously adjusted. >> >> Commands: >> git merge upstream/master >> git restore --ours -- >> test/jdk/java/security/Security/ConfigFileTest.java >> git add test/jdk/java/security/Security/ConfigFileTest.java >> git merge --continue >> - 8319332: Adjust code for JDK-8319673 changes >> >> JDK-8319673: Few security tests ignore VM flags >> >> Next, we will merge the openjdk/master branch and ignore the conflict in >> this file. >> >> Co-authored-by: Martin Balao <mba...@redhat.com> >> Co-authored-by: Francisco Ferrari Bihurriet <fferr...@redhat.com> >> - 8319332: Update copyright and ConfigFileTest.java. >> >> Bump copyright year to 2024 in all the modified files. >> >> Remove leaked host name from children JVMs debug command. >> >> Extract Executor::addSystemPropertiesAsJvmArgs from Executor::execute >> and rename 'allJvmArgs' to 'command'. Also split class name and >> RUNNER_ARG addition to 'command' as two separated command.add() calls. >> >> Co-authored-by: Martin Balao <mba...@redhat.com> >> Co-authored-by: Francisco Ferrari Bihurriet <fferr...@redhat.com> >> - Merge 'openjdk/master' into JDK-8319332 >> - 8319332: Fix corner-case regression with bash pipe >> >> Extra properties files provided through bash pipes used to work before >> this enhancement, restore their behaviour. >> >> Also take advantage to use Files::isRegularFile, Files::isDirectory and >> Files::exists APIs instead of converting from Path to File. >> >> Linux reproducers (sub-shell, stdin, and combination of both): >> >> java -XshowSettings:security:properties \ >> -Djava.security.properties==<(echo name=value) \ >> -Djava.security.debug=properties -version >> >> echo name=value | java -XshowSettings:security:properties \ >> -Djava.security.properties==/dev/stdin \ >> -Djava.security.debug=properties -version >> >> echo name=value | java -XshowSettings:security:properties \ >> -Djava.security.properties==<(echo include /dev/stdin) \ >> -Djava.security.debug=properties... > > src/java.base/share/classes/java/security/Security.java line 256: > >> 254: } else if (Files.isDirectory(path)) { >> 255: throw new IOException("Is a directory"); >> 256: } else { > > When would this happen? Hi @wangweij, to complement @martinuy's answer, the following commands can trigger this error message in the different described contexts: java -Djava.security.properties=file:///etc -XshowSettings:security:properties -Djava.security.debug=properties 2>&1 | head -22 java -Djava.security.properties==/etc -XshowSettings:security:properties -Djava.security.debug=properties 2>&1 | head -22 java -Djava.security.properties==<(echo include /etc) -XshowSettings:security:properties This is also exercised by the test case: https://github.com/openjdk/jdk/blob/d414fd56e583f321aaa944b61e27631b225b9fa3/test/jdk/java/security/Security/ConfigFileTest.java#L241-L245 ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/16483#discussion_r1572330885