Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jdk24 java.lang.AssertionError: sun.security.util.ResourcesMgr (PD) #20351

Closed
pshipton opened this issue Oct 15, 2024 · 4 comments · Fixed by #21073 or #21077
Closed

jdk24 java.lang.AssertionError: sun.security.util.ResourcesMgr (PD) #20351

pshipton opened this issue Oct 15, 2024 · 4 comments · Fixed by #21073 or #21077
Assignees
Labels
comp:vm jdk24 project:MH Used to track Method Handles related work test failure

Comments

@pshipton
Copy link
Member

https://openj9-jenkins.osuosl.org/job/Test_openjdknext_j9_sanity.openjdk_aarch64_mac_Personal_testList_0/6
jdk_lang
java/lang/Class/ProtectionDomainRace.java

14:43:27  java.lang.AssertionError: sun.security.util.ResourcesMgr (PD)
14:43:27  	at java.base/java.lang.invoke.MethodHandleImpl$BindCaller.checkInjectedInvoker(MethodHandleImpl.java:1219)
14:43:27  	at java.base/java.lang.invoke.MethodHandleImpl$BindCaller.makeInjectedInvoker(MethodHandleImpl.java:1120)
14:43:27  	at java.base/java.lang.invoke.MethodHandleImpl$BindCaller$1.computeValue(MethodHandleImpl.java:1127)
14:43:27  	at java.base/java.lang.invoke.MethodHandleImpl$BindCaller$1.computeValue(MethodHandleImpl.java:1124)
14:43:27  	at java.base/java.lang.ClassValue.getFromHashMap(ClassValue.java:235)
14:43:27  	at java.base/java.lang.ClassValue.getFromBackup(ClassValue.java:217)
14:43:27  	at java.base/java.lang.ClassValue.get(ClassValue.java:123)
14:43:27  	at java.base/java.lang.invoke.MethodHandleImpl$BindCaller.bindCallerWithInjectedInvoker(MethodHandleImpl.java:1099)
14:43:27  	at java.base/java.lang.invoke.MethodHandleImpl$BindCaller.bindCaller(MethodHandleImpl.java:1087)
14:43:27  	at java.base/java.lang.invoke.MethodHandleImpl.bindCaller(MethodHandleImpl.java:1040)
14:43:27  	at java.base/java.lang.invoke.MethodHandles$Lookup.maybeBindCaller(MethodHandles.java:4134)
14:43:27  	at java.base/java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon(MethodHandles.java:4118)
14:43:27  	at java.base/java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager(MethodHandles.java:4062)
14:43:27  	at java.base/java.lang.invoke.MethodHandles$Lookup.getDirectMethodForConstant(MethodHandles.java:4311)
14:43:27  	at java.base/java.lang.invoke.MethodHandles$Lookup.linkMethodHandleConstant(MethodHandles.java:4259)
14:43:27  	at java.base/java.lang.invoke.MethodHandleNatives.linkMethodHandleConstant(MethodHandleNatives.java:634)
14:43:27  	at java.base/java.lang.invoke.MethodHandleResolver.sendResolveMethodHandle(MethodHandleResolver.java:297)
14:43:27  	at java.base/java.lang.invoke.MethodHandleResolver.getCPMethodHandleAt(Native Method)
14:43:27  	at java.base/java.lang.invoke.MethodHandleResolver.getAdditionalBsmArg(MethodHandleResolver.java:412)
14:43:27  	at java.base/java.lang.invoke.MethodHandleResolver.resolveInvokeDynamic(MethodHandleResolver.java:186)
14:43:27  	at java.base/sun.security.util.ResourcesMgr.getBundle(ResourcesMgr.java:54)
14:43:27  	at java.base/sun.security.util.ResourcesMgr.getString(ResourcesMgr.java:40)
14:43:27  	at java.base/javax.security.auth.Subject.doAs(Subject.java:517)
14:43:27  	at ProtectionDomainRace.lambda$main$1(ProtectionDomainRace.java:66)
14:43:27  	at java.base/java.lang.Thread.run(Thread.java:1588)
Copy link

Issue Number: 20351
Status: Open
Recommended Components: comp:vm, comp:jclextensions, comp:gc
Recommended Assignees: babsingh, jasonfengj9, fengxue-is

@pshipton
Copy link
Member Author

Temporarily exclude it via adoptium/aqa-tests#5922

@keithc-ca
Copy link
Contributor

This problem can still occur; see #21073 (review).

@keithc-ca keithc-ca reopened this Feb 6, 2025
babsingh added a commit to babsingh/openj9 that referenced this issue Feb 6, 2025
Since allPermissionsPD is a static field, a static synchronized
method locks on Class.class, which is the correct approach.

Fixes: eclipse-openj9#20351

Signed-off-by: Babneet Singh <[email protected]>
babsingh added a commit to babsingh/openj9 that referenced this issue Feb 6, 2025
Since allPermissionsPD is a static field, a static synchronized
method locks on Class.class, which is the correct approach.

Fixes: eclipse-openj9#20351

Signed-off-by: Babneet Singh <[email protected]>
babsingh added a commit to babsingh/openj9 that referenced this issue Feb 6, 2025
Since allPermissionsPD is a static field, a static synchronized
method locks on Class.class, which is the correct approach for
ensuring thread safety.

Fixes: eclipse-openj9#20351

Signed-off-by: Babneet Singh <[email protected]>
babsingh added a commit to babsingh/openj9 that referenced this issue Feb 6, 2025
Using this approach, allPermissionsPD can be a final field. VM's class
initialization mechanisms will prevent races via the static block.

Fixes: eclipse-openj9#20351

Signed-off-by: Babneet Singh <[email protected]>
babsingh added a commit to babsingh/openj9 that referenced this issue Feb 6, 2025
Using this approach, allPermissionsPD can be a final field. VM's class
initialization mechanisms will prevent races via the static block.

Fixes: eclipse-openj9#20351

Signed-off-by: Babneet Singh <[email protected]>
babsingh added a commit to babsingh/openj9 that referenced this issue Feb 6, 2025
Using this approach, allPermissionsPD can be a final field. VM's class
initialization mechanisms will prevent races via the static block.

Fixes: eclipse-openj9#20351

Signed-off-by: Babneet Singh <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:vm jdk24 project:MH Used to track Method Handles related work test failure
Projects
None yet
3 participants