activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nathan Mittler <nathan.mitt...@gmail.com>
Subject Re: AMQ-CPP - Core Dump on reconnect
Date Fri, 01 Feb 2008 13:58:45 GMT
Would you mind creating a JIRA issue for this?

Nate

On Feb 1, 2008, at 1:54 AM, pfid wrote:

>
> Hello,
>
> i'm having problems with our activemq application in production  
> environment.
> the application core dumped several times during the last days when  
> the
> connection to the broker was lost. each time it was either caused by  
> the
> broker beeing restartet by our monitor/service application (noticing  
> the
> broker having problems and restarting it, the activemq app will then  
> notice
> a disconnect and recover itself), or, what is worse, write attempts  
> failing
> (see exception below) and causing the activemq application to recover
> itself. in this situation, the application will close and delete all
> activemq objects (see cleanup() from web example), and recreate them/ 
> try to
> open the queue after 60s waiting. the core dumps seemed to happen  
> when the
> application trys to re-open the connection, but fails because the  
> broker is
> still unreachable. here is the backtrace:
>
>
>
>> #0  activemq::connector::openwire::OpenWireConnector::closeResource
>> (this=0x8b4a268, resource=0x8b4dde0) at
>> activemq/connector/openwire/OpenWireConnector.cpp:1200
>> #1  0x080da6fc in activemq::connector::BaseConnectorResource::close
>> (this=0x8b4dde0) at activemq/connector/BaseConnectorResource.cpp:59
>> #2  0x0812ff50 in ~OpenWireSessionInfo (this=0x8b4dde0) at
>> OpenWireSessionInfo.h:56
>> #3  0x0812d0c4 in
>> activemq::connector::openwire::OpenWireConnector::createSession
>> (this=0x8b4dde0, ackMode=cms::Session::AUTO_ACKNOWLEDGE)
>>    at activemq/connector/openwire/OpenWireConnector.cpp:281
>> #4  0x080e86c1 in activemq::core::ActiveMQConnection::createSession
>> (this=0x8b4ded0, ackMode=137247624) at
>> activemq/core/ActiveMQConnection.cpp:98
>> #5  0x08059c19 in ActiveMqQueue::open (this=0x8b1d6b0,
>> aQueueName=0x8ab925c "outqueue", aMode=ActiveMqQueue::modeWrite,
>> aListenMode=0) at activemqqueue.cc:335
>>
>
> Debuggin shows that at
> activemq/connector/openwire/OpenWireConnector.cpp:1200
>
> 1200:  dataStructure = session->getSessionInfo()->getSessionId();
>
> the session object is null, the previously dyn-casted resource object
> however is not null:
>
>
>
>> (gdb) p session
>> $1 = (activemq::connector::openwire::OpenWireSessionInfo *) 0x0
>> (gdb) p resource
>> $2 = (class activemq::connector::ConnectorResource *) 0x8b4dde0
> (corrupt memory?)
>
> Exception when write attempts fail:
>
> No valid response received for command: Begin Class =  
> ActiveMQTextMessage
> Begin Class = ActiveMQMessageBase  Value of ackHandler = 0  Value of
> redeliveryCount = 0  Value of properties = Begin Class PrimitiveMap:  
> Begin
> Class PrimitiveMap:  Begin Class = Message  Value of Message::ID_MESSAGE 
>  = 0
> Value of ProducerId is Below: Begin Class = ProducerId  Value of
> ProducerId::ID_PRODUCERID = 123  Value of ConnectionId =
> 0c00f32b-2269-4e0f-ace1-13fd0414b4b5  Value of Value = 0  Value of  
> SessionId
> = 0 No Data for Class BaseDataStructure End Class = ProducerId    
> Value of
> Destination is Below: Begin Class = ActiveMQQueue Begin Class =
> ActiveMQDestination  Value of exclusive = false  Value of ordered =  
> false
> Value of advisory = false  Value of orderedTarget = coordinator   
> Value of
> physicalName = ffs_out  Value of options = Begin Class
> activemq::util::Properties: End Class activemq::util::Properties:   
> No Data
> for Class BaseDataStructure End Class = ActiveMQDestination End  
> Class =
> ActiveMQQueue   Value of TransactionId is Below:    Object is NULL   
> Value of
> OriginalDestination is Below:    Object is NULL  Value of MessageId is
> Below: Begin Class = MessageId  Value of MessageId::ID_MESSAGEID = 110
> Value of ProducerId is Below: Begin Class = ProducerId  Value of
> ProducerId::ID_PRODUCERID = 123  Value of ConnectionId =
> 0c00f32b-2269-4e0f-ace1-13fd0414b4b5  Value of Value = 0  Value of  
> SessionId
> = 0 No Data for Class BaseDataStructure End Class = ProducerId    
> Value of
> ProducerSequenceId = 4  Value of BrokerSequenceId = 0 No Data for  
> Class
> BaseDataStructure End Class = MessageId   Value of  
> OriginalTransactionId is
> Below:    Object is NULL  Value of GroupID =   Value of  
> GroupSequence = 0
> Value of CorrelationId =   Value of Persistent = 1  Value of  
> Expiration =
> 1201683817204  Value of Priority = 4  Value of ReplyTo is Below:     
> Object
> is NULL  Value of Timestamp = 1201676617204  Value of Type =   Value  
> of
> Content[0] = , check broker.
>
> Versions:
> Activemq-cpp-2.1.1
> ActiveMq Broker 4.2
>
> the application handles 17 write-mode queues, with a rather low
> messages/second rate.
> Using 5.0.0 broker instead of 4.2 would most likely solve this  
> problem,
> since the failed write attempts problem only occurs with 4.2 broker (i
> reported this bug before, but it seemed like no one was interested  
> in taking
> care of it). however, the broker 5.0.0 won't start with  
> preconfigured JAAS
> queues, so its not an option and we have to stick with 4.2. i will  
> try the
> latest snapshot these days, however i dont feel good when using a  
> snapshot
> server in production environment.
>
> hopefully someone can help, since core dumps in production  
> environment cause
> severe problems to the whole system. in the last 3 days we had about  
> 30 core
> dumps (eating hard disk space..).
> -- 
> View this message in context: http://www.nabble.com/AMQ-CPP---Core-Dump-on-reconnect-tp15223366s2354p15223366.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>


Mime
View raw message