On Tue, 2 Dec 2025 14:12:54 GMT, Sean Mullan <[email protected]> wrote:
>> Francisco Ferrari Bihurriet has updated the pull request incrementally with >> two additional commits since the last revision: >> >> - Address review comments >> - Slightly improve ConfigFileTestDirPermissions >> >> Extract restrictedAcl() AutoCloseable and also use AutoCloseable for the >> temporary directory cleanup. > > test/jdk/java/security/Security/ConfigFileTestAnonymousPipes.sh line 1: > >> 1: # > > This test failed on linux-x64 and linux-aarch64 on our test systems. Here's a > snippet of the logfile: > > > properties[0x3|main|Security.java:160|2025-12-02 13:35:48.066]: unable to > load security properties from <(echo include /dev/stdin) > java.io.FileNotFoundException: <(echo include /dev/stdin) > at > java.base/java.security.Security$SecPropLoader.loadExtraFromPath(Security.java:209) > at > java.base/java.security.Security$SecPropLoader.loadExtraHelper(Security.java:178) > at > java.base/java.security.Security$SecPropLoader.loadExtra(Security.java:157) > at > java.base/java.security.Security$SecPropLoader.loadAll(Security.java:122) > at java.base/java.security.Security.initialize(Security.java:337) > at java.base/java.security.Security.<clinit>(Security.java:326) > at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native > Method) > at > java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1195) > at > java.base/java.lang.invoke.MethodHandles$Lookup.ensureInitialized(MethodHandles.java:2750) > at > java.base/jdk.internal.access.SharedSecrets.ensureClassInitialized(SharedSecrets.java:504) > at > java.base/jdk.internal.access.SharedSecrets.getJavaSecurityPropertiesAccess(SharedSecrets.java:320) > at > java.base/sun.launcher.SecuritySettings.printSecurityProperties(SecuritySettings.java:88) > at > java.base/sun.launcher.SecuritySettings.printSecuritySettings(SecuritySettings.java:63) > at > java.base/sun.launcher.LauncherHelper.showSettings(LauncherHelper.java:172) Looks like `<(echo include /dev/stdin)` is being interpreted literally, instead of defining a [Bash Process Substitution](https://www.gnu.org/software/bash/manual/html_node/Process-Substitution.html). Thinking Bash would be the execution shell on all the platforms was probably a wrong assumption. Let me see if I can replace it by something else, otherwise I will need to give up and remove that second one. The first one must be passing, otherwise it would have exited without getting to the second one: https://github.com/openjdk/jdk/blob/4e7206c082e4b0152d999b32eba0063a506eff67/test/jdk/java/security/Security/ConfigFileTestAnonymousPipes.sh#L54 ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/24465#discussion_r2582596652
