activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nathan Mittler" <nathan.mitt...@gmail.com>
Subject Re: C++ OpenwireStringSupport::readString aborts on empty property
Date Sun, 14 Oct 2007 20:51:57 GMT
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 <fredcrable@hotmail.com> 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 (
>     dataIn=@0xb57de644) at
> activemq/connector/openwire/utils/OpenwireStringSupport.cpp:32
> #8  0x08344d93 in
>
> activemq::connector::openwire::marshal::PrimitiveMapMarshaller::unmarshalPrimitive
> (dataIn=@0xb57de644, key=@0xb57de694, map=@0x9bb4d18)
>     at activemq/connector/openwire/marshal/PrimitiveMapMarshaller.cpp:272
> #9  0x083450aa in
> activemq::connector::openwire::marshal::PrimitiveMapMarshaller::unmarshal
> (
>     map=0x9bb4d18, src=@0x9bb4cd4)
>     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.
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message