[ 
https://issues.apache.org/jira/browse/ARTEMIS-4975?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17872417#comment-17872417
 ] 

Andre Onuki commented on ARTEMIS-4975:
--------------------------------------

I ran into the same issue with the New Relic Java agent tests.

Offending test: 
https://github.com/newrelic/newrelic-java-agent/blob/main/instrumentation/jms-3/src/test/java/com/nr/agent/instrumentation/jms3/ApacheMQTest.java

To run that test with Java 23, clone the repo and run: {{./gradlew 
:instrumentation:jms-3:test --tests 
"com.nr.agent.instrumentation.jms3.ApacheMQTest" -Ptest23}}

The cause seems to be a change in {{javax.security.auth.Subject.getSubject}}, 
where the following check was added:

{code:java}
        if (!SharedSecrets.getJavaLangAccess().allowSecurityManager()) {
            throw new UnsupportedOperationException(
                    "getSubject is supported only if a security manager is 
allowed");
        } else {
        // previous code is not inside this else statement
{code}

 
A possible workaround is to add the system property 
{{java.security.manager=allow}}.

> Artemis is incompatible with Java 23
> ------------------------------------
>
>                 Key: ARTEMIS-4975
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4975
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: JMX
>    Affects Versions: 2.31.2
>            Reporter: Stephane Nicoll
>            Priority: Major
>
> Using Artemis with Java 23 leads to the following exception on startup:
> {noformat}
>     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)
> {noformat}
> 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.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to