A bit of further research: in org.apache.activemq.openwire.OpenWireFormat.marshal there is: ..... BooleanStream bs = new BooleanStream(); size += dsm.tightMarshal1(this, c, bs); size += bs.marshalledSize();
if( !sizePrefixDisabled ) { dataOut.writeInt(size); } dataOut.writeByte(type); bs.marshal(dataOut); dsm.tightMarshal2(this, c, dataOut, bs); ..... the problem seems to be that c (second parameter of tightMarshal*) can change between tightMarshal1 and tightMarshal2. It is a race condition. What I particulary did was setting a password for a ConnectionInfo to null in a BrokerFilter#processDispatch. Maybe I shoud synchronize on something there but I don't know on what. -- View this message in context: http://www.nabble.com/org.apache.activemq.openwire.v2.BaseDataStreamMarshaller-error-tf3631400s2354.html#a10853744 Sent from the ActiveMQ - User mailing list archive at Nabble.com.