Hi Fred, Could you provide us with the following? - verion of ActiveMQ-CPP you're using - version of the ActiveMQ Broker - sample code snippet that demonstrates the problem.
Thanks, Nate On 10/14/07, Fred Crable <[EMAIL PROTECTED]> wrote: > > > I have a very simple consumer trying to read the properties from a > "TextMessage" and when its reading a particiular message the readString > function in the openwire utils aborts here (see backtrack below). What > I'm > guessing is the property set/get has an issue with properties and equal > sign > in the property values. I've got UUencoded data that looks like "ABC123=" > for a property value and its getting set in the queue as two empty > properties. For example "propertyX=ABC123=" yeilds two properties in the > message of propertyX=,ABC123= both appear to be empty. The only way I can > retrieve the message now is via jconsole browser and the C++ code can not > marshal the values at all. I've tried to read the code of the readString > function but its not quite clear why or where it is aborting because the > backtrace shows the 1st line of the function only :( Anyway, if anyone > has > any ideas on how to patch this or dealing with equal signs in the property > values please reply. My only solution at this point is to purge the queue > to get past the error. > > Thanks in advance, > Fred > > #0 0x00fd3eff in raise () at std/XML.cpp:761 > #1 0x00fd5705 in abort () at std/XML.cpp:761 > #2 0x00667aa0 in __gnu_cxx::__verbose_terminate_handler () at > std/XML.cpp:761 > #3 0x00665375 in __cxxabiv1::__terminate () at std/XML.cpp:761 > #4 0x006653b2 in std::terminate () at std/XML.cpp:761 > #5 0x006653d5 in __cxxabiv1::__unexpected () at std/XML.cpp:761 > #6 0x00664e58 in __cxa_call_unexpected () at std/XML.cpp:761 > #7 0x0836a7d8 in > activemq::connector::openwire::utils::OpenwireStringSupport::readString ( > [EMAIL PROTECTED]) at > activemq/connector/openwire/utils/OpenwireStringSupport.cpp:32 > #8 0x08344d93 in > > activemq::connector::openwire::marshal::PrimitiveMapMarshaller::unmarshalPrimitive > ([EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED]) > at activemq/connector/openwire/marshal/PrimitiveMapMarshaller.cpp:272 > #9 0x083450aa in > activemq::connector::openwire::marshal::PrimitiveMapMarshaller::unmarshal > ( > map=0x9bb4d18, [EMAIL PROTECTED]) > at activemq/connector/openwire/marshal/PrimitiveMapMarshaller.cpp:124 > #10 0x08306611 in > > activemq::connector::openwire::commands::ActiveMQMessageBase<cms::TextMessage>::afterUnmarshal > (this=0x9bb4c70, wireFormat=0x994b200) > at ./activemq/connector/openwire/commands/ActiveMQMessageBase.h:113 > #11 0x0837cc4b in > > activemq::connector::openwire::marshal::v2::ActiveMQTextMessageMarshaller::looseUnmarshal > (this=0x9b2cc78, wireFormat=0x994b200, dataStructure=0x9bb4c78, > dataIn=0x9af3bc0) > at > > activemq/connector/openwire/marshal/v2/ActiveMQTextMessageMarshaller.cpp:110 > #12 0x083316c5 in > activemq::connector::openwire::OpenWireFormat::looseUnmarshalNestedObject > ( > this=0x994b200, dis=0x9af3bc0) at > activemq/connector/openwire/OpenWireFormat.cpp:417 > ---Type <return> to continue, or q <return> to quit--- > #13 0x0833b04c in > > activemq::connector::openwire::marshal::BaseDataStreamMarshaller::looseUnmarshalNestedObject > (this=0x9af2820, wireFormat=0x994b200, dataIn=0x9af3bc0) > at > activemq/connector/openwire/marshal/BaseDataStreamMarshaller.cpp:171 > #14 0x08352f0d in > > activemq::connector::openwire::marshal::v2::MessageDispatchMarshaller::looseUnmarshal > (this=0x9af2820, wireFormat=0x994b200, dataStructure=0x9c69b4c, > dataIn=0x9af3bc0) > at > activemq/connector/openwire/marshal/v2/MessageDispatchMarshaller.cpp:122 > #15 0x08332fdc in > activemq::connector::openwire::OpenWireFormat::doUnmarshal > (this=0x994b200, > dis=0x9af3bc0) at activemq/connector/openwire/OpenWireFormat.cpp:246 > #16 0x0833356a in activemq::connector::openwire::OpenWireFormat::unmarshal > (this=0x994b200, > dis=0x9af3bc0) at activemq/connector/openwire/OpenWireFormat.cpp:185 > #17 0x08336aae in > activemq::connector::openwire::OpenWireCommandReader::readCommand ( > this=0x9bad680) at > activemq/connector/openwire/OpenWireCommandReader.cpp:71 > #18 0x082994ea in activemq::transport::IOTransport::run (this=0x9ba35f8) > at activemq/transport/IOTransport.cpp:166 > #19 0x082bef68 in activemq::concurrent::Thread::runCallback > (param=0x9b73bd8) > at activemq/concurrent/Thread.cpp:152 > #20 0x0046add8 in start_thread () at std/XML.cpp:761 > > -- > View this message in context: > http://www.nabble.com/C%2B%2B-OpenwireStringSupport%3A%3AreadString-aborts-on-empty-property-tf4623108s2354.html#a13202791 > Sent from the ActiveMQ - Dev mailing list archive at Nabble.com. > >
