ArrayIndexOutOfBoundsException on MarshallingSupport.writeUTF8 running on OS/390 --------------------------------------------------------------------------------
Key: AMQ-2549 URL: https://issues.apache.org/activemq/browse/AMQ-2549 Project: ActiveMQ Issue Type: Bug Affects Versions: 5.3.0 Environment: Operating System: OS/390 v 1.9 JRE: Java(TM) SE Runtime Environment (build pmz3160sr5-20090604_01(SR5)) IBM J9 VM (build 2.4, J2RE 1.6.0 IBM J9 2.4 z/OS s390-31 jvmmz3160sr5-20090519_35743 (JIT enabled, AOT enabled) J9VM - 20090519_035743_bHdSMr JIT - r9_20090518_2017 GC - 20090417_AA) JCL - 20090529_01 Reporter: Bruno Nogueira de Souza I'm facing one ArrayIndexOutOfBoundsException when sending one TextMessage from one producer running on OS/390. I'm starting ActiveMQ and the producer on separate JVM in OS/390. The stack trace is: java.lang.ArrayIndexOutOfBoundsException at org.apache.activemq.util.MarshallingSupport.writeUTF8(MarshallingSupport.java:300) at org.apache.activemq.command.ActiveMQTextMessage.beforeMarshall(ActiveMQTextMessage.java:118) at org.apache.activemq.openwire.v5.MessageMarshaller.tightMarshal1(MessageMarshaller.java:121) at org.apache.activemq.openwire.v5.ActiveMQMessageMarshaller.tightMarshal1(ActiveMQMessageMarshaller.java:76) at org.apache.activemq.openwire.v5.ActiveMQTextMessageMarshaller.tightMarshal1(ActiveMQTextMessageMarshaller.java:76) at org.apache.activemq.openwire.OpenWireFormat.marshal(OpenWireFormat.java:231) at org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java:166) at org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:237) at org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:83) at org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:104) at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java) at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60) at org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1225) at org.apache.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1219) at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1631) at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:231) at org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:241) at a.b.c.mmtp.gateway.activemq.ActiveMQCacheConsumer.enviarLote(ActiveMQCacheConsumer.java:106) Looking at the source of the writeUTF8 method, I saw that it refers to Sun code (in the comments) and that there are some differences between they. Looking on the internet I found some info about the size limit of the encoded message (64Kb), and saw that aren't any checks on the code about that. But I don't think that this is the problem, because the message that I'm sending has only [140-500] bytes. I think it may be some issue of converting the EBCDIC encoding. I really don't know much about UTF, so I think that anyone with knowledge about UTF can do a better job looking at this code. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.