Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-1819

Large messages cause hangs and crashes when using digest-md5 and security layer (ssf 128)

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: M4
    • Fix Version/s: 0.6
    • Component/s: C++ Broker, C++ Client
    • Labels:
      None

      Description

      crash ends with:

      2009-apr-15 17:43:44 trace guest@QPID.6411302a-229c-4eb1-b097-fc8a613a3233: sent cmd 0: content (65495 bytes) cccccccccccccccc...
      2009-apr-15 17:43:44 trace SENT [127.0.0.1:56532]: Frame[BEbe; channel=2;

      {SessionFlushBody: completed=1; }

      ]
      2009-apr-15 17:43:44 trace SENT [127.0.0.1:56532]: Frame[Bbe; channel=2;

      {MessageTransferBody: destination=message_queue; accept-mode=0; acquire-mode=0; }

      ]
      2009-apr-15 17:43:44 trace SENT [127.0.0.1:56532]: Frame[be; channel=2; header (47 bytes); properties={{MessageProperties: content-length=65495; }{DeliveryProperties: exchange=amq.direct; routing-key=routing_key; }}]
      qpidd: qpid/amqp_0_10/Connection.cpp:93: virtual size_t qpid::amqp_0_10::Connection::encode(const char*, size_t): Assertion `workQueue.empty() || workQueue.front().encodedSize() <= size' failed.

      pstack for hung client:

      Thread 2 (Thread 0xb7f77b90 (LWP 16187)):
      #0 0x0069a416 in __kernel_vsyscall ()
      #1 0x00ce1b3b in write () from /lib/libc.so.6
      #2 0x0024fd80 in qpid::sys::Socket::write () from /usr/lib/libqpidcommon.so.0
      #3 0x00255eb4 in qpid::sys::posix::AsynchIO::writeable ()
      #4 0x00259152 in
      boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void,
      boost::_mfi::mf1<void, qpid::sys::posix::AsynchIO,
      qpid::sys::DispatchHandle&>,
      boost::_bi::list2<boost::_bi::value<qpid::sys::posix::AsynchIO*>,
      boost::arg<1> ()> >, void, qpid::sys::DispatchHandle&>::invoke ()
      #5 0x002b77d3 in boost::function1<void, qpid::sys::DispatchHandle&,
      std::allocator<boost::function_base> >::operator() () from
      /usr/lib/libqpidcommon.so.0
      #6 0x002b5b78 in qpid::sys::DispatchHandle::processEvent ()
      #7 0x00267ef6 in qpid::sys::Poller::run () from /usr/lib/libqpidcommon.so.0
      #8 0x002b53c4 in qpid::sys::Dispatcher::run ()
      #9 0x00e8b3d2 in qpid::client::TCPConnector::run ()
      #10 0x0025dba1 in ?? () from /usr/lib/libqpidcommon.so.0
      #11 0x00dbc51f in start_thread () from /lib/libpthread.so.0
      #12 0x00cf204e in clone () from /lib/libc.so.6
      Thread 1 (Thread 0xb7f78720 (LWP 16186)):
      #0 0x0069a416 in __kernel_vsyscall ()
      #1 0x00dc0105 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
      #2 0x00d00e9d in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libc.so.6
      #3 0x00e70f4d in qpid::client::Bounds::expand ()
      #4 0x00eb4642 in qpid::client::SessionImpl::sendFrame ()
      #5 0x00eb479c in qpid::client::SessionImpl::handleOut ()
      #6 0x00eb7488 in qpid::client::SessionImpl::sendContent ()
      #7 0x00eb7db2 in qpid::client::SessionImpl::sendCommand ()
      #8 0x00eb7f07 in qpid::client::SessionImpl::send ()
      #9 0x00e68afe in qpid::client::no_keyword::Session_0_10::messageTransfer ()
      #10 0x0804cf4f in main ()

        Attachments

          Activity

            People

            • Assignee:
              gsim Gordon Sim
              Reporter:
              gsim Gordon Sim
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: