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.