[ 
https://issues.apache.org/jira/browse/AMQCPP-532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13883909#comment-13883909
 ] 

Andrei Gheorghe commented on AMQCPP-532:
----------------------------------------

Sometimes it doesn't crash and sometimes it takes a while ( sometimes a few 
minutes ). There are two ways it can crash and I've attached both stacktraces.

> Frequently deleting queue browser causes access violation
> ---------------------------------------------------------
>
>                 Key: AMQCPP-532
>                 URL: https://issues.apache.org/jira/browse/AMQCPP-532
>             Project: ActiveMQ C++ Client
>          Issue Type: Bug
>    Affects Versions: 3.8.2
>         Environment: Windows
>            Reporter: Andrei Gheorghe
>            Assignee: Timothy Bish
>         Attachments: crash.cpp, stacktrace.txt
>
>
> The following code should reproduce this issue :
> #include <activemq/library/ActiveMQCPP.h>
> #include <activemq/core/ActiveMQConnectionFactory.h>
> #include <activemq/commands/ActiveMQQueue.h>
> using namespace cms;
> int main()
> {
>       try 
>       {
>       activemq::library::ActiveMQCPP::initializeLibrary();
>       activemq::core::ActiveMQConnectionFactory connectionFactory( 
> "tcp://localhost:61616" );
>       auto connection = connectionFactory.createConnection();
>       connection->start();
>       auto session = connection->createSession( Session::SESSION_TRANSACTED );
>       activemq::commands::ActiveMQQueue queue( "testqueue" ); //sometimes it 
> doesn't crash if the queue is empty so it should have atleast a message
>       while ( 1 )
>       {
>               auto queueBrowser = session->createBrowser( &queue, "" );
>               auto enumeration = queueBrowser->getEnumeration();
>       
>               if ( enumeration->hasMoreMessages() )
>                       auto message = enumeration->nextMessage();
>               delete queueBrowser;
>       }
>       }
>       catch ( const std::exception& e )
>       {
>               std::string what = e.what(); //sometimes it throws an exception 
> like "Monitor is still in use!"
>       }
>       while ( 1 ) {} //wait, sometimes an activemq thread fails
> }



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to