daves created ARTEMIS-4217:
------------------------------

             Summary: AMQ111005: Failed to convert message. Sending it to Dead 
Letter Address.
                 Key: ARTEMIS-4217
                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4217
             Project: ActiveMQ Artemis
          Issue Type: Bug
          Components: AMQP
    Affects Versions: 2.28.0
         Environment: Windows Server 2022 21H2

openjdk 19.0.1 2022-10-18
OpenJDK Runtime Environment (build 19.0.1+10-21)
OpenJDK 64-Bit Server VM (build 19.0.1+10-21, mixed mode, sharing)
            Reporter: daves
         Attachments: artemis.log, artemis.log.2023-03-23-1.log.gz, 
artemis.log.2023-03-23-10.log.gz, artemis.log.2023-03-23-11.log.gz, 
artemis.log.2023-03-23-12.log.gz, artemis.log.2023-03-23-13.log.gz, 
artemis.log.2023-03-23-14.log.gz, artemis.log.2023-03-23-2.log.gz, 
artemis.log.2023-03-23-3.log.gz, artemis.log.2023-03-23-4.log.gz, 
artemis.log.2023-03-23-5.log.gz, artemis.log.2023-03-23-6.log.gz, 
artemis.log.2023-03-23-7.log.gz, artemis.log.2023-03-23-8.log.gz, 
artemis.log.2023-03-23-9.log.gz

Some of the AMQP messages sent by my client never arrive at the consumer. In 
the Artemis log I found the following exception:

 
 
{code:java}
2023-03-23 18:06:58,084 WARN  
[org.apache.activemq.artemis.protocol.amqp.logger] AMQ111005: Failed to convert 
message. Sending it to Dead Letter Address. 
org.apache.activemq.artemis.protocol.amqp.converter.coreWrapper.ConversionException:
 java.nio.channels.ClosedChannelException     at 
org.apache.activemq.artemis.protocol.amqp.converter.CoreAmqpConverter.fromCore(CoreAmqpConverter.java:318)
 ~[artemis-amqp-protocol-2.28.0.jar:2.28.0]     at 
org.apache.activemq.artemis.protocol.amqp.converter.CoreAmqpConverter.checkAMQP(CoreAmqpConverter.java:79)
 ~[artemis-amqp-protocol-2.28.0.jar:2.28.0]     at 
org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext.executeDelivery(ProtonServerSenderContext.java:561)
 ~[artemis-amqp-protocol-2.28.0.jar:2.28.0]     at 
org.apache.activemq.artemis.core.server.impl.MessageReferenceImpl.run(MessageReferenceImpl.java:131)
 ~[artemis-server-2.28.0.jar:2.28.0]     at 
io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
 ~[netty-common-4.1.86.Final.jar:4.1.86.Final]     at 
io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
 ~[netty-common-4.1.86.Final.jar:4.1.86.Final]     at 
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
 ~[netty-common-4.1.86.Final.jar:4.1.86.Final]     at 
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) 
~[netty-transport-4.1.86.Final.jar:4.1.86.Final]     at 
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
 ~[netty-common-4.1.86.Final.jar:4.1.86.Final]     at 
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) 
~[netty-common-4.1.86.Final.jar:4.1.86.Final]     at 
org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
 ~[artemis-commons-2.28.0.jar:?] Caused by: java.lang.RuntimeException: 
java.nio.channels.ClosedChannelException     at 
org.apache.activemq.artemis.core.persistence.impl.journal.LargeBody.getBodyBufferSize(LargeBody.java:293)
 ~[artemis-server-2.28.0.jar:2.28.0]     at 
org.apache.activemq.artemis.core.persistence.impl.journal.LargeServerMessageImpl.getBodyBufferSize(LargeServerMessageImpl.java:263)
 ~[artemis-server-2.28.0.jar:2.28.0]     at 
org.apache.activemq.artemis.protocol.amqp.converter.coreWrapper.CoreBytesMessageWrapper.getBodyLength(CoreBytesMessageWrapper.java:98)
 ~[artemis-amqp-protocol-2.28.0.jar:2.28.0]     at 
org.apache.activemq.artemis.protocol.amqp.converter.coreWrapper.CoreBytesMessageWrapper.getBinaryFromMessageBody(CoreBytesMessageWrapper.java:68)
 ~[artemis-amqp-protocol-2.28.0.jar:2.28.0]     at 
org.apache.activemq.artemis.protocol.amqp.converter.coreWrapper.CoreBytesMessageWrapper.createAMQPSection(CoreBytesMessageWrapper.java:78)
 ~[artemis-amqp-protocol-2.28.0.jar:2.28.0]     at 
org.apache.activemq.artemis.protocol.amqp.converter.CoreAmqpConverter.fromCore(CoreAmqpConverter.java:106)
 ~[artemis-amqp-protocol-2.28.0.jar:2.28.0]     ... 10 more Caused by: 
java.nio.channels.ClosedChannelException     at 
sun.nio.ch.FileChannelImpl.ensureOpen(FileChannelImpl.java:165) ~[?:?]     at 
sun.nio.ch.FileChannelImpl.size(FileChannelImpl.java:416) ~[?:?]     at 
org.apache.activemq.artemis.core.io.nio.NIOSequentialFile.size(NIOSequentialFile.java:339)
 ~[artemis-journal-2.28.0.jar:2.28.0]     at 
org.apache.activemq.artemis.core.persistence.impl.journal.LargeBody.getBodyBufferSize(LargeBody.java:285)
 ~[artemis-server-2.28.0.jar:2.28.0]     at 
org.apache.activemq.artemis.core.persistence.impl.journal.LargeServerMessageImpl.getBodyBufferSize(LargeServerMessageImpl.java:263)
 ~[artemis-server-2.28.0.jar:2.28.0]     at 
org.apache.activemq.artemis.protocol.amqp.converter.coreWrapper.CoreBytesMessageWrapper.getBodyLength(CoreBytesMessageWrapper.java:98)
 ~[artemis-amqp-protocol-2.28.0.jar:2.28.0]     at 
org.apache.activemq.artemis.protocol.amqp.converter.coreWrapper.CoreBytesMessageWrapper.getBinaryFromMessageBody(CoreBytesMessageWrapper.java:68)
 ~[artemis-amqp-protocol-2.28.0.jar:2.28.0]     at 
org.apache.activemq.artemis.protocol.amqp.converter.coreWrapper.CoreBytesMessageWrapper.createAMQPSection(CoreBytesMessageWrapper.java:78)
 ~[artemis-amqp-protocol-2.28.0.jar:2.28.0]     at 
org.apache.activemq.artemis.protocol.amqp.converter.CoreAmqpConverter.fromCore(CoreAmqpConverter.java:106)
 ~[artemis-amqp-protocol-2.28.0.jar:2.28.0]     ... 10 more{code}
 
 

I tried to reproduce the error white trace log level enabled, but the problem 
never occurs with trace enabled (same message payload).  Maybe it is a timing 
issue which not occurs when Artemis processes messages much slower due to 
additional tracing...?

 

 

 

 

 

 



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

Reply via email to