Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 590595 - Abort in TCPConnector under stress/soak test
Abort in TCPConnector under stress/soak test
Status: CLOSED DUPLICATE of bug 586997
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp (Show other bugs)
Development
All Linux
urgent Severity urgent
: 1.3
: ---
Assigned To: Gordon Sim
MRG Quality Engineering
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2010-05-10 05:37 EDT by Gordon Sim
Modified: 2011-08-12 12:20 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-05-19 04:15:05 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Gordon Sim 2010-05-10 05:37:19 EDT
Description of problem:

Stress test with perftest causes the client to crash.

Version-Release number of selected component (if applicable):

Trunk r941852

How reproducible:

Not sure yet

Steps to Reproduce:
1. while ./src/tests/perftest --qt 20 --summary; do true; done
  
Actual results:

Abort in TCPConnector (see below for stack traces)
.
Expected results:

No Abort.


Additional info:

Core was generated by `/home/gordon/qpid/cpp/src/tests/.libs/lt-perftest --qt 20 --summary'.
Program terminated with signal 6, Aborted.
[New process 31609]
[New process 31631]
[New process 31629]
[New process 31627]
[New process 31625]
#0  0x00000038f9c30265 in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x00000038f9c30265 in raise () from /lib64/libc.so.6
#1  0x00000038f9c31d10 in abort () from /lib64/libc.so.6
#2  0x00000038f9c296e6 in __assert_fail () from /lib64/libc.so.6
#3  0x00002b7dc4a3ed88 in qpid::client::TCPConnector::close (this=0x16629630) at ../include/qpid/sys/posix/Mutex.h:116
#4  0x00002b7dc49ed58b in ~Connection (this=0x16627130) at /usr/include/boost/detail/sp_counted_base_gcc_x86.hpp:145
#5  0x000000000040f3e6 in ~Client (this=0x16627120) at perftest.cpp:260
#6  0x000000000040f542 in ~PublishThread (this=0x16627120) at perftest.cpp:470
#7  0x000000000040bda5 in main (argc=<value optimized out>, argv=<value optimized out>) at /usr/include/boost/checked_delete.hpp:34
(gdb) thread apply all bt

Thread 5 (process 31625):
#0  0x00000038f9c7ad96 in memset () from /lib64/libc.so.6
#1  0x00000038f9c7256d in _int_free () from /lib64/libc.so.6
#2  0x00000038f9c7273b in free () from /lib64/libc.so.6
#3  0x00002b7dc4a43260 in ~Buff (this=0x2aaab43a6590) at qpid/client/TCPConnector.cpp:51
#4  0x00002b7dc4e0f634 in std::for_each<std::_Deque_iterator<qpid::sys::AsynchIOBufferBase*, qpid::sys::AsynchIOBufferBase*&, qpid::sys::AsynchIOBufferBase**>, qpid::sys::posix::deleter> (__first={_M_cur = 0x416d8c50, _M_first = 0xa1, _M_last = 0xb7b7b7b7b7b7b7b7, _M_node = 0xb7}, __last=
      {_M_cur = 0x416d8c30, _M_first = 0x416d8c00, _M_last = 0x10008, _M_node = 0x10008}, __f={<No data fields>}) at qpid/sys/posix/AsynchIO.cpp:293
#5  0x00002b7dc4e0a564 in ~AsynchIO (this=0x2aaab4205420) at qpid/sys/posix/AsynchIO.cpp:297
#6  0x00002b7dc4ef0191 in qpid::sys::DispatchHandle::processEvent (this=0x2aaab4205428, type=qpid::sys::Poller::READ_WRITABLE)
    at qpid/sys/DispatchHandle.cpp:334
#7  0x00002b7dc4e1b3fd in qpid::sys::Poller::run (this=0x15bf05d0) at ./qpid/sys/Poller.h:123
#8  0x00002b7dc4e12caa in runRunnable (p=0x2aaab43b14c0) at qpid/sys/posix/Thread.cpp:35
#9  0x00000038fa406617 in start_thread () from /lib64/libpthread.so.0
#10 0x00000038f9cd3c2d in clone () from /lib64/libc.so.6

Thread 4 (process 31627):
#0  0x00000038f9cd4018 in epoll_wait () from /lib64/libc.so.6
#1  0x00002b7dc4e1a8e3 in qpid::sys::Poller::wait (this=0x15bf05d0, timeout=<value optimized out>) at qpid/sys/epoll/EpollPoller.cpp:524
#2  0x00002b7dc4e1b40c in qpid::sys::Poller::run (this=0x15bf05d0) at qpid/sys/epoll/EpollPoller.cpp:479
#3  0x00002b7dc4e12caa in runRunnable (p=0x5) at qpid/sys/posix/Thread.cpp:35
#4  0x00000038fa406617 in start_thread () from /lib64/libpthread.so.0
#5  0x00000038f9cd3c2d in clone () from /lib64/libc.so.6

Thread 3 (process 31629):
#0  0x00000038f9cdf9ee in __lll_lock_wait_private () from /lib64/libc.so.6
#1  0x00000038f9c76d31 in _L_lock_5478 () from /lib64/libc.so.6
#2  0x00000038f9c71c8d in _int_free () from /lib64/libc.so.6
#3  0x00000038f9c7273b in free () from /lib64/libc.so.6
#4  0x00002b7dc49f789b in ~ConnectionHandler (this=0x16629148)
    at /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/ext/new_allocator.h:94
#5  0x00002b7dc49ff78e in ~ConnectionImpl (this=0x16629060) at qpid/client/ConnectionImpl.cpp:204
#6  0x00002b7dc4e1067f in boost::function2<void, qpid::sys::AsynchIO&, qpid::sys::Socket const&, std::allocator<boost::function_base> >::operator() (
    this=0xfffffffffffffffc, a0=@0x80, a1=@0x0) at /usr/include/boost/function/function_template.hpp:576
#7  0x00002b7dc4e0e458 in qpid::sys::posix::AsynchIO::writeable (this=0x2aaaad21faf0, h=@0x2aaaad21faf8) at qpid/sys/posix/AsynchIO.cpp:530
#8  0x00002b7dc4ef144f in boost::function1<void, qpid::sys::DispatchHandle&, std::allocator<boost::function_base> >::operator() (
    this=0xfffffffffffffffc, a0=@0x80) at /usr/include/boost/function/function_template.hpp:576
#9  0x00002b7dc4ef0351 in qpid::sys::DispatchHandle::processEvent (this=0x2aaaad21faf8, type=qpid::sys::Poller::READ_WRITABLE)
    at qpid/sys/DispatchHandle.cpp:285
#10 0x00002b7dc4e1b3fd in qpid::sys::Poller::run (this=0x15bf05d0) at ./qpid/sys/Poller.h:123
---Type <return> to continue, or q <return> to quit---
#11 0x00002b7dc4e12caa in runRunnable (p=0x2aaab4000020) at qpid/sys/posix/Thread.cpp:35
#12 0x00000038fa406617 in start_thread () from /lib64/libpthread.so.0
#13 0x00000038f9cd3c2d in clone () from /lib64/libc.so.6

Thread 2 (process 31631):
#0  0x00000038f9cd4018 in epoll_wait () from /lib64/libc.so.6
#1  0x00002b7dc4e1a8e3 in qpid::sys::Poller::wait (this=0x15bf05d0, timeout=<value optimized out>) at qpid/sys/epoll/EpollPoller.cpp:524
#2  0x00002b7dc4e1b40c in qpid::sys::Poller::run (this=0x15bf05d0) at qpid/sys/epoll/EpollPoller.cpp:479
#3  0x00002b7dc4e12caa in runRunnable (p=0x5) at qpid/sys/posix/Thread.cpp:35
#4  0x00000038fa406617 in start_thread () from /lib64/libpthread.so.0
#5  0x00000038f9cd3c2d in clone () from /lib64/libc.so.6

Thread 1 (process 31609):
#0  0x00000038f9c30265 in raise () from /lib64/libc.so.6
#1  0x00000038f9c31d10 in abort () from /lib64/libc.so.6
#2  0x00000038f9c296e6 in __assert_fail () from /lib64/libc.so.6
#3  0x00002b7dc4a3ed88 in qpid::client::TCPConnector::close (this=0x16629630) at ../include/qpid/sys/posix/Mutex.h:116
#4  0x00002b7dc49ed58b in ~Connection (this=0x16627130) at /usr/include/boost/detail/sp_counted_base_gcc_x86.hpp:145
#5  0x000000000040f3e6 in ~Client (this=0x16627120) at perftest.cpp:260
#6  0x000000000040f542 in ~PublishThread (this=0x16627120) at perftest.cpp:470
#7  0x000000000040bda5 in main (argc=<value optimized out>, argv=<value optimized out>) at /usr/include/boost/checked_delete.hpp:34
(gdb)
Comment 1 Gordon Sim 2010-05-19 04:15:05 EDT
I believe this is a dup of bug 586997 and is a result of a race between ConnectionImpl::shutdown() and ConnectionImpl::release().

*** This bug has been marked as a duplicate of bug 586997 ***

Note You need to log in before you can comment on or make changes to this bug.