Return-Path: X-Original-To: apmail-activemq-dev-archive@www.apache.org Delivered-To: apmail-activemq-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 16CFE10738 for ; Fri, 24 Jan 2014 13:56:46 +0000 (UTC) Received: (qmail 13027 invoked by uid 500); 24 Jan 2014 13:56:44 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 12719 invoked by uid 500); 24 Jan 2014 13:56:40 -0000 Mailing-List: contact dev-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list dev@activemq.apache.org Received: (qmail 12698 invoked by uid 99); 24 Jan 2014 13:56:38 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 24 Jan 2014 13:56:38 +0000 Date: Fri, 24 Jan 2014 13:56:38 +0000 (UTC) From: "Vincent Giacomini (JIRA)" To: dev@activemq.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Comment Edited] (AMQCPP-531) receiveNoWait never returns MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/AMQCPP-531?page=3Dcom.atlassian= .jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D1388= 0976#comment-13880976 ]=20 Vincent Giacomini edited comment on AMQCPP-531 at 1/24/14 1:55 PM: ------------------------------------------------------------------- below the stack trace given by My IDE RDP (Rational developer for power) _event_wait : libpthreads.a(shr_xpg5_64.o):.text=09 _cond_wait_local : libpthreads.a(shr_xpg5_64.o):.text=09 _cond_wait : libpthreads.a(shr_xpg5_64.o):.text=09 pthread_cond_wait : libpthreads.a(shr_xpg5_64.o):.text=09 interruptibleWaitOnCondition__Q5_5decaf8internal4util10concurrent14Platform= ThreadFP14pthread_cond_tP15pthread_mutex_tRQ5_5decaf8internal4util10concurr= ent19CompletionCondition : libactivemq-cpp.a(libactivemq-cpp.so.18):.text= =09 park__Q5_5decaf8internal4util10concurrent9ThreadingFPQ3_5decaf4lang6ThreadL= i : libactivemq-cpp.a(libactivemq-cpp.so.18):.text=09 park__Q5_5decaf8internal4util10concurrent9ThreadingFPQ3_5decaf4lang6Thread = : libactivemq-cpp.a(libactivemq-cpp.so.18):.text=09 park__Q5_5decaf4util10concurrent5locks11LockSupportFv : libactivemq-cpp.a(l= ibactivemq-cpp.so.18):.text=09 parkAndCheckInterrupt__Q5_5decaf4util10concurrent5locks17SynchronizerStateC= Fv : libactivemq-cpp.a(libactivemq-cpp.so.18):.text=09 acquireQueued__Q5_5decaf4util10concurrent5locks17SynchronizerStateFPQ2_32Ab= stractQueuedSynchronizer.cpp-04Nodei : libactivemq-cpp.a(libactivemq-cpp.so= .18):.text=09 acquire__Q5_5decaf4util10concurrent5locks26AbstractQueuedSynchronizerFi : l= ibactivemq-cpp.a(libactivemq-cpp.so.18):.text=09 lock__Q2_28ReentrantReadWriteLock.cpp-09WriteLockFv : libactivemq-cpp.a(lib= activemq-cpp.so.18):.text=09 removeConsumer__Q4_8activemq4core7kernels21ActiveMQSessionKernelFQ3_5decaf4= lang7PointerXTQ4_8activemq4core7kernels22ActiveMQConsumerKernelTQ5_5decaf4u= til10concurrent6atomic16AtomicRefCounter_ : libactivemq-cpp.a(libactivemq-c= pp.so.18):.text=09 dispose__Q4_8activemq4core7kernels22ActiveMQConsumerKernelFv : libactivemq-= cpp.a(libactivemq-cpp.so.18):.text=09 doClose__Q4_8activemq4core7kernels22ActiveMQConsumerKernelFv : libactivemq-= cpp.a(libactivemq-cpp.so.18):.text=09 close__Q4_8activemq4core7kernels22ActiveMQConsumerKernelFv : libactivemq-cp= p.a(libactivemq-cpp.so.18):.text=09 __dt__Q3_8activemq4core16ActiveMQConsumerFv : libactivemq-cpp.a(libactivemq= -cpp.so.18):.text=09 std::auto_ptr::~auto_ptr() : MsiScheduler.o=09 std::auto_ptr::__dftdt() : MsiScheduler.o=09 __Throw : libC.a(ansicore_64.o):.text=09 __DoThrowV6 : libC.a(ansicore_64.o):.text=09 receiveNoWait__Q3_8activemq4core16ActiveMQConsumerFv : libactivemq-cpp.a(li= bactivemq-cpp.so.18):.text=09 msi::service::MsiScheduler::Run() : MsiScheduler.o=09 msi::service::MsiServer::start(int,char**,std::map,std::allocator >,MsiService*,std::less,std::allocator > >,std::allocat= or,std::alloc= ator >,MsiService*> > >&) : MsiServer.o=09 main : MsiServices.o=09 __start : crt0_64.o=09 Below the code doing the receiveNoWait: =09// cr=C3=A9er un consommateur g=C3=A9n=C3=A9ral =09std::auto_ptr consumer(session->createConsumer(ser= viceQueue)) ; =09std::stringstream ss ; =09// cr=C3=A9e un selecteur pour une message de vie pour ce processus =09// exemple de selecteur =3D=3D> JMSType =3D 'aliveMsg' AND dest =3D '1' =09ss << "JMSType =3D '" << msi::constant::process::alive_Rq_msgtype << "' = AND " << msi::constant::process::dest_alive_msgprop << " =3D '" << server.g= etId() << "'" ; =09LOG4CXX_INFO(logger,"selecteur message de vie =3D " << ss.str()) ; =09// cr=C3=A9=C3=A9 un consommateur pour les messages de vie =09std::auto_ptr aliveConsumer(session->createConsume= r(serviceQueue,ss.str())) ; =09LOG4CXX_INFO(logger, "service pr=C3=AAt") ; =09do { =09=09 // R=C3=A9cup=C3=A9ration prioritaire des messages de vie =09=09 message =3D aliveConsumer->receiveNoWait() ; =09=09 // si pas de message de vue, on se met en attente d'un autre type d= e message =09=09 if (message =3D=3D NULL) =09=09 { =09=09=09 // r=C3=A9cup=C3=A8re un message de la file d'attente (bloque si= celle-ci est vide) =09=09=09 message =3D consumer->receive(msi::constant::system::maxMessageW= ait) ; =09=09 } was (Author: vgiacomini): below the stack trace giev by My IDE RDP (Rational developer for power) _event_wait : libpthreads.a(shr_xpg5_64.o):.text=09 _cond_wait_local : libpthreads.a(shr_xpg5_64.o):.text=09 _cond_wait : libpthreads.a(shr_xpg5_64.o):.text=09 pthread_cond_wait : libpthreads.a(shr_xpg5_64.o):.text=09 interruptibleWaitOnCondition__Q5_5decaf8internal4util10concurrent14Platform= ThreadFP14pthread_cond_tP15pthread_mutex_tRQ5_5decaf8internal4util10concurr= ent19CompletionCondition : libactivemq-cpp.a(libactivemq-cpp.so.18):.text= =09 park__Q5_5decaf8internal4util10concurrent9ThreadingFPQ3_5decaf4lang6ThreadL= i : libactivemq-cpp.a(libactivemq-cpp.so.18):.text=09 park__Q5_5decaf8internal4util10concurrent9ThreadingFPQ3_5decaf4lang6Thread = : libactivemq-cpp.a(libactivemq-cpp.so.18):.text=09 park__Q5_5decaf4util10concurrent5locks11LockSupportFv : libactivemq-cpp.a(l= ibactivemq-cpp.so.18):.text=09 parkAndCheckInterrupt__Q5_5decaf4util10concurrent5locks17SynchronizerStateC= Fv : libactivemq-cpp.a(libactivemq-cpp.so.18):.text=09 acquireQueued__Q5_5decaf4util10concurrent5locks17SynchronizerStateFPQ2_32Ab= stractQueuedSynchronizer.cpp-04Nodei : libactivemq-cpp.a(libactivemq-cpp.so= .18):.text=09 acquire__Q5_5decaf4util10concurrent5locks26AbstractQueuedSynchronizerFi : l= ibactivemq-cpp.a(libactivemq-cpp.so.18):.text=09 lock__Q2_28ReentrantReadWriteLock.cpp-09WriteLockFv : libactivemq-cpp.a(lib= activemq-cpp.so.18):.text=09 removeConsumer__Q4_8activemq4core7kernels21ActiveMQSessionKernelFQ3_5decaf4= lang7PointerXTQ4_8activemq4core7kernels22ActiveMQConsumerKernelTQ5_5decaf4u= til10concurrent6atomic16AtomicRefCounter_ : libactivemq-cpp.a(libactivemq-c= pp.so.18):.text=09 dispose__Q4_8activemq4core7kernels22ActiveMQConsumerKernelFv : libactivemq-= cpp.a(libactivemq-cpp.so.18):.text=09 doClose__Q4_8activemq4core7kernels22ActiveMQConsumerKernelFv : libactivemq-= cpp.a(libactivemq-cpp.so.18):.text=09 close__Q4_8activemq4core7kernels22ActiveMQConsumerKernelFv : libactivemq-cp= p.a(libactivemq-cpp.so.18):.text=09 __dt__Q3_8activemq4core16ActiveMQConsumerFv : libactivemq-cpp.a(libactivemq= -cpp.so.18):.text=09 std::auto_ptr::~auto_ptr() : MsiScheduler.o=09 std::auto_ptr::__dftdt() : MsiScheduler.o=09 __Throw : libC.a(ansicore_64.o):.text=09 __DoThrowV6 : libC.a(ansicore_64.o):.text=09 receiveNoWait__Q3_8activemq4core16ActiveMQConsumerFv : libactivemq-cpp.a(li= bactivemq-cpp.so.18):.text=09 msi::service::MsiScheduler::Run() : MsiScheduler.o=09 msi::service::MsiServer::start(int,char**,std::map,std::allocator >,MsiService*,std::less,std::allocator > >,std::allocat= or,std::alloc= ator >,MsiService*> > >&) : MsiServer.o=09 main : MsiServices.o=09 __start : crt0_64.o=09 Below the code doing the receiveNoWait: =09// cr=C3=A9er un consommateur g=C3=A9n=C3=A9ral =09std::auto_ptr consumer(session->createConsumer(ser= viceQueue)) ; =09std::stringstream ss ; =09// cr=C3=A9e un selecteur pour une message de vie pour ce processus =09// exemple de selecteur =3D=3D> JMSType =3D 'aliveMsg' AND dest =3D '1' =09ss << "JMSType =3D '" << msi::constant::process::alive_Rq_msgtype << "' = AND " << msi::constant::process::dest_alive_msgprop << " =3D '" << server.g= etId() << "'" ; =09LOG4CXX_INFO(logger,"selecteur message de vie =3D " << ss.str()) ; =09// cr=C3=A9=C3=A9 un consommateur pour les messages de vie =09std::auto_ptr aliveConsumer(session->createConsume= r(serviceQueue,ss.str())) ; =09LOG4CXX_INFO(logger, "service pr=C3=AAt") ; =09do { =09=09 // R=C3=A9cup=C3=A9ration prioritaire des messages de vie =09=09 message =3D aliveConsumer->receiveNoWait() ; =09=09 // si pas de message de vue, on se met en attente d'un autre type d= e message =09=09 if (message =3D=3D NULL) =09=09 { =09=09=09 // r=C3=A9cup=C3=A8re un message de la file d'attente (bloque si= celle-ci est vide) =09=09=09 message =3D consumer->receive(msi::constant::system::maxMessageW= ait) ; =09=09 } > receiveNoWait never returns > --------------------------- > > Key: AMQCPP-531 > URL: https://issues.apache.org/jira/browse/AMQCPP-531 > Project: ActiveMQ C++ Client > Issue Type: Bug > Affects Versions: 3.8.2 > Environment: AIX 6.1 > Compilateur XLC V12 > ActiveMQ-cpp buit with the following options : -qminimaltoc -q64 -qrtti= =3Dall=20 > Reporter: Vincent Giacomini > Assignee: Timothy Bish > > Just built the last version 3.8.2 of activemq-cpp (SSL disabled) > But my application doesn't work anymore.=20 > The reason : the consumer->ReceiveNoWait() method now never returns=20 > Works well in activemq-cpp 3.4.1.... -- This message was sent by Atlassian JIRA (v6.1.5#6160)