Andreas Baumgart created ARTEMIS-5790:
-----------------------------------------

             Summary: Artemis broker calls deprecated netty method on 
initialization which fails with exception on Java 25
                 Key: ARTEMIS-5790
                 URL: https://issues.apache.org/jira/browse/ARTEMIS-5790
             Project: Artemis
          Issue Type: Bug
          Components: Broker
    Affects Versions: 2.43.0
            Reporter: Andreas Baumgart


Hi,

we are currently migrating from Spring Boot 3 to 4 on Java 25. Spring Boot 4 
uses Artemis 2.43.0 and Netty 4.2.7.

Our server runs with an embedded Artemis broker which now fails at startup with 
the follwing exception: 
{noformat}
04.12.2025 14:12:52.576  INFO 34508 --- [server] [           main] [            
                    ]o.apache.activemq.artemis.core.server    : AMQ221013: 
Using NIO Journal04.12.2025 14:12:52.609  INFO 34508 --- [server] [           
main] [                                ]o.apache.activemq.artemis.core.server   
 : AMQ221057: Global Max Size is being adjusted to 1/2 of the JVM max size 
(-Xmx). being defined as 1286812467204.12.2025 14:12:52.627  INFO 34508 --- 
[server] [           main] [                                
]o.apache.activemq.artemis.core.server    : AMQ221043: Protocol module found: 
[artemis-server]. Adding protocol support for: CORE04.12.2025 14:12:52.628  
INFO 34508 --- [server] [           main] [                                
]o.apache.activemq.artemis.core.server    : AMQ221043: Protocol module found: 
[artemis-openwire-protocol]. Adding protocol support for: OPENWIRE04.12.2025 
14:12:52.628  INFO 34508 --- [server] [           main] [                       
         ]o.apache.activemq.artemis.core.server    : AMQ221043: Protocol module 
found: [artemis-openwire-protocol]. Adding protocol support for: 
OPENWIRE04.12.2025 14:12:52.684  INFO 34508 --- [server] [           main] [    
                            ]o.apache.activemq.artemis.core.server    : 
AMQ221034: Waiting indefinitely to obtain primary lock04.12.2025 14:12:52.684  
INFO 34508 --- [server] [           main] [                                
]o.apache.activemq.artemis.core.server    : AMQ221035: Primary Server Obtained 
primary lock04.12.2025 14:12:52.730 ERROR 34508 --- [server] [           main] 
[                                ]o.apache.activemq.artemis.core.server    : 
AMQ224000: Failure in initialisationjava.lang.UnsupportedOperationException: 
Cannot clean arbitrary ByteBuffer instances at 
io.netty.util.internal.CleanerJava25.freeDirectBuffer(CleanerJava25.java:177) 
at 
io.netty.util.internal.PlatformDependent.freeDirectBuffer(PlatformDependent.java:613)
 at 
org.apache.activemq.artemis.core.io.nio.NIOSequentialFileFactory.releaseDirectBuffer(NIOSequentialFileFactory.java:138)
 at 
org.apache.activemq.artemis.core.journal.impl.JournalImpl.load(JournalImpl.java:2317)
 at 
org.apache.activemq.artemis.core.journal.impl.JournalImpl.load(JournalImpl.java:1649)
 at org.apache.activemq.artemis.core.journal.Journal.load(Journal.java:276) at 
org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager.loadBindingJournal(AbstractJournalStorageManager.java:1659)
 at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.loadJournals(ActiveMQServerImpl.java:3837)
 at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.initialisePart2(ActiveMQServerImpl.java:3469)
 at 
org.apache.activemq.artemis.core.server.impl.PrimaryOnlyActivation.run(PrimaryOnlyActivation.java:78)
 at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:754)
 at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:644)
 at 
org.apache.activemq.artemis.core.server.embedded.EmbeddedActiveMQ.start(EmbeddedActiveMQ.java:124)
 at 
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
 at java.base/java.lang.reflect.Method.invoke(Method.java:565){noformat}
The problem seems to be that NIOSequentialFileFactory calls the deprecated 
PlatformDependent.freeDirectBuffer Netty method which now delegates to the 
CleanerJava25 method which throws an UnsupportedOperationException.

The issue currently blocks our Spring Boot upgrade. Would be great if it could 
be fixed or if someone would have at least an idea how to workaround it.

Best regards, Andreas

 



--
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