activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From LukeH <lukeh...@yahoo.com>
Subject Re: org.apache.activemq.openwire.v2.BaseDataStreamMarshaller error
Date Tue, 29 May 2007 13:06:25 GMT

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.


Mime
View raw message