You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Gordon Sim (JIRA)" <qp...@incubator.apache.org> on 2009/04/16 22:04:14 UTC

[jira] Created: (QPID-1819) Large messages cause hangs and crashes when using digest-md5 and security layer (ssf 128)

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

                 Key: QPID-1819
                 URL: https://issues.apache.org/jira/browse/QPID-1819
             Project: Qpid
          Issue Type: Bug
          Components: C++ Broker, C++ Client
    Affects Versions: M4
            Reporter: Gordon Sim
            Assignee: Gordon Sim


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 ()



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Commented: (QPID-1819) Large messages cause hangs and crashes when using digest-md5 and security layer (ssf 128)

Posted by "Gordon Sim (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1819?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12711272#action_12711272 ] 

Gordon Sim commented on QPID-1819:
----------------------------------

Workaround is to set ConnectionSettings::maxSsf to 0.

> Large messages cause hangs and crashes when using digest-md5 and security layer (ssf 128)
> -----------------------------------------------------------------------------------------
>
>                 Key: QPID-1819
>                 URL: https://issues.apache.org/jira/browse/QPID-1819
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker, C++ Client
>    Affects Versions: M4
>            Reporter: Gordon Sim
>            Assignee: Gordon Sim
>
> 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 ()

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Commented: (QPID-1819) Large messages cause hangs and crashes when using digest-md5 and security layer (ssf 128)

Posted by "Gordon Sim (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1819?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12714089#action_12714089 ] 

Gordon Sim commented on QPID-1819:
----------------------------------

An even better workaround is to lower the --max-frame-size; that allows large messages to be sent and the security layer to remain in place.

> Large messages cause hangs and crashes when using digest-md5 and security layer (ssf 128)
> -----------------------------------------------------------------------------------------
>
>                 Key: QPID-1819
>                 URL: https://issues.apache.org/jira/browse/QPID-1819
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker, C++ Client
>    Affects Versions: M4
>            Reporter: Gordon Sim
>            Assignee: Gordon Sim
>
> 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 ()

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Resolved: (QPID-1819) Large messages cause hangs and crashes when using digest-md5 and security layer (ssf 128)

Posted by "Gordon Sim (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1819?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gordon Sim resolved QPID-1819.
------------------------------

       Resolution: Fixed
    Fix Version/s: 0.6

Fixed by r780719.

> Large messages cause hangs and crashes when using digest-md5 and security layer (ssf 128)
> -----------------------------------------------------------------------------------------
>
>                 Key: QPID-1819
>                 URL: https://issues.apache.org/jira/browse/QPID-1819
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker, C++ Client
>    Affects Versions: M4
>            Reporter: Gordon Sim
>            Assignee: Gordon Sim
>             Fix For: 0.6
>
>
> 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 ()

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org