RFR: 8352728: InternalError loading java.security due to Windows parent folder permissions [v13]
Francisco Ferrari Bihurriet
fferrari at openjdk.org
Tue Dec 2 19:55:51 UTC 2025
On Tue, 2 Dec 2025 14:12:54 GMT, Sean Mullan <mullan at openjdk.org> 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
More information about the security-dev
mailing list