qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Scott Nicol <sni...@tessellationsoftware.com>
Subject Framing error causes abort
Date Wed, 15 Apr 2015 20:26:49 GMT
Another abort(), this time due to a framing error:

(gdb) where
#0  0x00000036e5432925 in raise () from /lib64/libc.so.6
#1  0x00000036e5434105 in abort () from /lib64/libc.so.6
#2  0x00000036e542ba4e in __assert_fail_base () from /lib64/libc.so.6
#3  0x00000036e542bb10 in __assert_fail () from /lib64/libc.so.6
#4  0x00007fee4020fc6e in qpid::amqp_0_10::Connection::encode (
    this=0x7fed9c039e00, buffer=<value optimized out>, size=65536)
    at
/pilot/dev/qpid_0.32_build/qpid/cpp/src/qpid/amqp_0_10/Connection.cpp:106
#5  0x00007fee3fd54fc4 in qpid::sys::AsynchIOHandler::idle (
    this=0x7fed9c0359f0)
    at
/pilot/dev/qpid_0.32_build/qpid/cpp/src/qpid/sys/AsynchIOHandler.cpp:221
#6  0x00007fee3fcd4a68 in operator() (this=0x7fed9c0376a0, h=...)
    at /usr/include/boost/function/function_template.hpp:1013
#7  qpid::sys::posix::AsynchIO::writeable (this=0x7fed9c0376a0, h=...)
    at
/pilot/dev/qpid_0.32_build/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp:582
#8  0x00007fee3fd59983 in boost::function1<void,
qpid::sys::DispatchHandle&>::operator() (this=<value optimized out>,
a0=<value optimized out>)
    at /usr/include/boost/function/function_template.hpp:1013
#9  0x00007fee3fd58ab0 in qpid::sys::DispatchHandle::processEvent (
    this=0x7fed9c0376a8, type=qpid::sys::Poller::READ_WRITABLE)
    at
/pilot/dev/qpid_0.32_build/qpid/cpp/src/qpid/sys/DispatchHandle.cpp:287
#10 0x00007fee3fcf9b32 in process (this=0x1710c60)
    at /pilot/dev/qpid_0.32_build/qpid/cpp/src/qpid/sys/Poller.h:131
#11 qpid::sys::Poller::run (this=0x1710c60)
    at
/pilot/dev/qpid_0.32_build/qpid/cpp/src/qpid/sys/epoll/EpollPoller.cpp:522
#12 0x00007fee3fcee97a in qpid::sys::(anonymous namespace)::runRunnable (
    p=<value optimized out>)
    at /pilot/dev/qpid_0.32_build/qpid/cpp/src/qpid/sys/posix/Thread.cpp:35
#13 0x00000036e58079d1 in start_thread () from /lib64/libpthread.so.0
#14 0x00000036e54e8b6d in clone () from /lib64/libc.so.6

Here's the line in Connection.cpp:

    assert(workQueue.empty() || workQueue.front().encodedSize() <= size);
    if (!workQueue.empty() && workQueue.front().encodedSize() > size)
        throw InternalErrorException(QPID_MSG("Frame too large for
buffer."));

The exception will never be thrown because it is covered by the assert().

The only interesting thing I see in the log is this:

2015-04-09 11:46:05 [Broker] error
qpid::broker::<unnamed>::DefaultErrorListener::channelException: Channel
exception: not-attached: Channel 9 is not attached
(/pilot/dev/qpid_0.32_build/qpid/cpp/src/qpid/amqp_0_10/SessionHandler.cpp:39)

This error occurred 3189 times, occurring exactly every 2 seconds, however
the uninteresting part is that last one was 12:59 before the broker
crashed. Still, it could be related.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message