Hi there, I'm still trying to build an AMQP RPC message flow. I have the request path working and am now debugging the response path. In doing so, it seems that the response message is correctly being sent over the expected channel, but the broker seems to die from an out of memory error. In trying to understand what's going on, I've got some more details, but not sure yet what's going on.
This is with Artemis 2.6.2. In CoreAmqpConverter.convertBody(), my message hits the ServerJMSMessage branch. The CoreMessage's buffer has ridx 0 and widx 9755, with endOfBodyPosition = 9218. For some reason, the readerIndex from message.getInnerMessage().getBodyBuffer().readerIndex() ends up being 4 (it's not clear to me exactly how/why this happens). This seems to be skipping over a prefix that contains [0, 0, 36, 2]. That data is directly followed by what I recognize as the actual message contents, with starts with a 5-byte alphanumeric string. However, when the code then tries to readNullableSimpleString() from the buffer it seems to read the length of the buffer to be used from the alpha string, resulting in a buffer length that ends up going out of bounds. SimpleString.readNullableSimpleString() then reads another byte from the buffer to check whether it's null (it does not appear to rewind the reader index if it isn't?). readSimpleString then reads a length of 1.8 GB and the process dies. Can someone explain to me what might be going on here? Kind regards, Dirkjan