Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.31.2
-
None
-
None
Description
Using Artemis with Java 23 leads to the following exception on startup:
java.lang.UnsupportedOperationException: getSubject is supported only if a security manager is allowed at java.base/javax.security.auth.Subject.getSubject(Subject.java:347) at org.apache.activemq.artemis.logs.AuditLogger.getCaller(AuditLogger.java:68) at org.apache.activemq.artemis.logs.AuditLogger.getNotificationInfo(AuditLogger.java:1114) at org.apache.activemq.artemis.core.management.impl.ActiveMQServerControlImpl.getNotificationInfo(ActiveMQServerControlImpl.java:4277) at java.management/com.sun.jmx.mbeanserver.MBeanIntrospector.findNotifications(MBeanIntrospector.java:446) at java.management/com.sun.jmx.mbeanserver.MBeanIntrospector.getMBeanInfo(MBeanIntrospector.java:392) at java.management/com.sun.jmx.mbeanserver.MBeanSupport.<init>(MBeanSupport.java:139) at java.management/com.sun.jmx.mbeanserver.StandardMBeanSupport.<init>(StandardMBeanSupport.java:60) at java.management/javax.management.StandardMBean.construct(StandardMBean.java:181) at java.management/javax.management.StandardMBean.<init>(StandardMBean.java:232) at org.apache.activemq.artemis.core.management.impl.AbstractControl.<init>(AbstractControl.java:49) at org.apache.activemq.artemis.core.management.impl.ActiveMQServerControlImpl.<init>(ActiveMQServerControlImpl.java:189) at org.apache.activemq.artemis.core.server.management.impl.ManagementServiceImpl.registerServer(ManagementServiceImpl.java:217) at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.initialisePart1(ActiveMQServerImpl.java:3302) at org.apache.activemq.artemis.core.server.impl.LiveOnlyActivation.run(LiveOnlyActivation.java:70) at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:720) at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:610) at org.apache.activemq.artemis.core.server.embedded.EmbeddedActiveMQ.start(EmbeddedActiveMQ.java:134) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580)
With the Security Manager being disallowed by default, it looks like https://bugs.openjdk.org/browse/JDK-8327134 is relevant.
Let me know if a reproducer is necessary but I found out running Spring Boot's test suite with Java 23 so it should be pretty straightforward to reproduce.