You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2016/09/27 18:35:07 UTC

qpid-cpp git commit: NO-JIRA: Fix valgrind error with gcc in c++11 mode.

Repository: qpid-cpp
Updated Branches:
  refs/heads/master a3bc7cd63 -> e7400a0e0


NO-JIRA: Fix valgrind error with gcc in c++11 mode.

Not sure why the error was occurring but a trivial re-factor fixes it.
Error was showing up after python_tests:

==27260== Conditional jump or move depends on uninitialised value(s)
==27260==    at 0x5188FBA: ~shared_count (shared_count.hpp:473)
==27260==    by 0x5188FBA: ~shared_ptr (shared_ptr.hpp:336)
==27260==    by 0x5188FBA: qpid::broker::SessionAdapter::ExchangeHandlerImpl::checkAlternate(boost::shared_ptr<qpid::broker::Exchange>, boost::shared_ptr<qpid::broker::Exchange>) (SessionAdapter.cpp:120)
==27260==    by 0x518A666: qpid::broker::SessionAdapter::ExchangeHandlerImpl::declare(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool, bool, qpid::framing::FieldTable const&) (SessionAdapter.cpp:94)
==27260==    by 0x55B0331: invoke<qpid::framing::AMQP_ServerOperations::ExchangeHandler> (ExchangeDeclareBody.h:104)
==27260==    by 0x55B0331: qpid::framing::AMQP_ServerOperations::ExchangeHandler::Invoker::visit(qpid::framing::ExchangeDeclareBody const&) (ServerInvoker.cpp:630)
==27260==    by 0x55B6C11: accept (ExchangeDeclareBody.h:108)
==27260==    by 0x55B6C11: qpid::framing::AMQP_ServerOperations::Invoker::visit(qpid::framing::ExchangeDeclareBody const&) (ServerInvoker.cpp:338)
==27260==    by 0x5192BC0: invoke<qpid::broker::SessionAdapter> (Invoker.h:67)
==27260==    by 0x5192BC0: qpid::broker::SessionState::handleCommand(qpid::framing::AMQMethodBody*) (SessionState.cpp:198)
==27260==    by 0x5196F54: qpid::broker::SessionState::handleIn(qpid::framing::AMQFrame&) (SessionState.cpp:295)
==27260==    by 0x5647A0D: qpid::amqp_0_10::SessionHandler::handleIn(qpid::framing::AMQFrame&) (SessionHandler.cpp:93)
==27260==    by 0x50F37DA: operator() (Handler.h:39)
==27260==    by 0x50F37DA: qpid::broker::ConnectionHandler::handle(qpid::framing::AMQFrame&) (ConnectionHandler.cpp:93)
==27260==    by 0x50ED3A3: qpid::broker::amqp_0_10::Connection::received(qpid::framing::AMQFrame&) (Connection.cpp:198)
==27260==    by 0x506CEAF: qpid::amqp_0_10::Connection::decode(char const*, unsigned long) (Connection.cpp:59)
==27260==    by 0x566C567: qpid::sys::AsynchIOHandler::readbuff(qpid::sys::AsynchIO&, qpid::sys::AsynchIOBufferBase*) (AsynchIOHandler.cpp:138)
==27260==    by 0x55EF980: operator() (function_template.hpp:771)
==27260==    by 0x55EF980: qpid::sys::posix::AsynchIO::readable(qpid::sys::DispatchHandle&) (AsynchIO.cpp:453)
==27260==    by 0x566EFCC: operator() (function_template.hpp:771)
==27260==    by 0x566EFCC: qpid::sys::DispatchHandle::processEvent(qpid::sys::Poller::EventType) (DispatchHandle.cpp:280)
==27260==    by 0x5615925: process (Poller.h:131)
==27260==    by 0x5615925: qpid::sys::Poller::run() (EpollPoller.cpp:522)
==27260==    by 0x5605229: qpid::sys::(anonymous namespace)::runRunnable(void*) (Thread.cpp:35)
==27260==    by 0x61E55C9: start_thread (pthread_create.c:333)
==27260==    by 0x64FCF6C: clone (clone.S:109)
==27260==


Project: http://git-wip-us.apache.org/repos/asf/qpid-cpp/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-cpp/commit/e7400a0e
Tree: http://git-wip-us.apache.org/repos/asf/qpid-cpp/tree/e7400a0e
Diff: http://git-wip-us.apache.org/repos/asf/qpid-cpp/diff/e7400a0e

Branch: refs/heads/master
Commit: e7400a0e0aa3413291a5e8d3652e26780bcf6b59
Parents: a3bc7cd
Author: Alan Conway <ac...@redhat.com>
Authored: Tue Sep 27 14:06:33 2016 -0400
Committer: Alan Conway <ac...@redhat.com>
Committed: Tue Sep 27 14:06:33 2016 -0400

----------------------------------------------------------------------
 src/qpid/broker/SessionAdapter.cpp | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-cpp/blob/e7400a0e/src/qpid/broker/SessionAdapter.cpp
----------------------------------------------------------------------
diff --git a/src/qpid/broker/SessionAdapter.cpp b/src/qpid/broker/SessionAdapter.cpp
index c4a0d9f..95c0dcd 100644
--- a/src/qpid/broker/SessionAdapter.cpp
+++ b/src/qpid/broker/SessionAdapter.cpp
@@ -115,12 +115,12 @@ void SessionAdapter::ExchangeHandlerImpl::checkType(Exchange::shared_ptr exchang
 
 void SessionAdapter::ExchangeHandlerImpl::checkAlternate(Exchange::shared_ptr exchange, Exchange::shared_ptr alternate)
 {
-    if (alternate && ((exchange->getAlternate() && alternate != exchange->getAlternate())
-                      || !exchange->getAlternate()))
-        throw NotAllowedException(QPID_MSG("Exchange declared with alternate-exchange "
-                                           << (exchange->getAlternate() ? exchange->getAlternate()->getName() : "<nonexistent>")
-                                           << ", requested "
-                                           << alternate->getName()));
+    if (alternate && alternate != exchange->getAlternate()) {
+        std::string got(exchange->getAlternate() ? exchange->getAlternate()->getName() : "<none>");
+        throw NotAllowedException(
+            QPID_MSG("Exchange declared with alternate-exchange " << got
+                     << ", requested " << alternate->getName()));
+    }
 }
 
 void SessionAdapter::ExchangeHandlerImpl::delete_(const string& name, bool /*ifUnused*/)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org