[
https://issues.apache.org/jira/browse/ARTEMIS-5790?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Justin Bertram updated ARTEMIS-5790:
------------------------------------
Description:
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 following exception:
{noformat}
04.12.2025 14:12:52.576 INFO 34508 --- [server] [ main] [
]o.apache.activemq.artemis.core.server : AMQ221013:
Using NIO Journal
04.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 12868124672
04.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: CORE
04.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: OPENWIRE
04.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: OPENWIRE
04.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 lock
04.12.2025 14:12:52.730 ERROR 34508 --- [server] [ main] [
]o.apache.activemq.artemis.core.server : AMQ224000:
Failure in initialisation
java.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
was:
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
> 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
> Priority: Major
>
> 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 following exception:
> {noformat}
> 04.12.2025 14:12:52.576 INFO 34508 --- [server] [ main] [
> ]o.apache.activemq.artemis.core.server : AMQ221013:
> Using NIO Journal
> 04.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 12868124672
> 04.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: CORE
> 04.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: OPENWIRE
> 04.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: OPENWIRE
> 04.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 lock
> 04.12.2025 14:12:52.730 ERROR 34508 --- [server] [ main] [
> ]o.apache.activemq.artemis.core.server : AMQ224000:
> Failure in initialisation
> java.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