Details
- 
    Bug 
- 
    Status: Closed (View Workflow)
- 
    Blocker 
- 
    Resolution: Fixed
- 
    1.0.9, 1.1.0
- 
    None
- 
    None
- 
        2017-15, 2017-16
Description
How I reproduce this:
1. Run 100 concurrent connections looping ColumnStore queries
2. Kill random connections until ExeMgr dies (usually 1 in 50)
Crash happens here in inetstreamsocket.cpp:
| 	if (stats) | 
| 		stats->dataSent(msglen + sizeof(msglen) + sizeof(magic));
 | 
Core file bt:
| Core was generated by `'. | 
| Program terminated with signal SIGSEGV, Segmentation fault. | 
| #0  0x00007f93c0000168 in ?? () | 
| [Current thread is 1 (Thread 0x7f91a6ff5700 (LWP 14761))] | 
| (gdb) bt | 
| #0  0x00007f93c0000168 in ?? () | 
| #1  0x00007f94373e6458 in messageqcpp::InetStreamSocket::do_write ( | 
|     this=this@entry=0x13c3a30, msg=..., whichMagic=whichMagic@entry=352043319,  | 
|     stats=stats@entry=0x7f93c0022ff0) | 
|     at /home/linuxjedi/Programming/Git/mariadb-columnstore-server/mariadb-columnstore-engine/utils/messageqcpp/inetstreamsocket.cpp:627 | 
| #2  0x00007f94373e658d in messageqcpp::InetStreamSocket::write ( | 
|     this=this@entry=0x13c3a30, msg=..., stats=stats@entry=0x7f93c0022ff0) | 
|     at /home/linuxjedi/Programming/Git/mariadb-columnstore-server/mariadb-columnstore-engine/utils/messageqcpp/inetstreamsocket.cpp:632 | 
| #3  0x00007f94373edcd1 in messageqcpp::CompressedInetStreamSocket::write ( | 
|     this=0x13c3a30, msg=..., stats=0x7f93c0022ff0) | 
|     at /home/linuxjedi/Programming/Git/mariadb-columnstore-server/mariadb-columnstore-engine/utils/messageqcpp/compressed_iss.cpp:122 | 
| #4  0x00007f94373d9f6e in messageqcpp::IOSocket::write (stats=0x7f93c0022ff0,  | 
|     msg=..., this=0x13c3968) | 
|     at /home/linuxjedi/Programming/Git/mariadb-columnstore-server/mariadb-columnstore-engine/utils/messageqcpp/iosocket.h:206 | 
| #5  messageqcpp::MessageQueueClient::write (this=this@entry=0x13c3930,  | 
|     msg=..., timeout=timeout@entry=0x0, stats=stats@entry=0x7f93c0022ff0) | 
|     at /home/linuxjedi/Programming/Git/mariadb-columnstore-server/mariadb-columnstore-engine/utils/messageqcpp/messagequeue.cpp:278 | 
| #6  0x00007f943a231b1d in joblist::DistributedEngineComm::writeToClient ( | 
|     is@entry=0x139c5e0, index=1, bs=..., sender=sender@entry=2284,  | 
|     doInterleaving=doInterleaving@entry=true) | 
|     at /home/linuxjedi/Programming/Git/mariadb-columnstore-server/mariadb-columnstore-engine/dbcon/joblist/distributedenginecomm.cpp:857 | 
| #7  0x00007f943a2346c6 in joblist::DistributedEngineComm::write (this=0x139c5e0, senderID=2284, msg=...) | 
|     at /home/linuxjedi/Programming/Git/mariadb-columnstore-server/mariadb-columnstore-engine/dbcon/joblist/distributedenginecomm.cpp:747 | 
| #8  0x00007f943a30d68f in joblist::TupleBPS::sendJobs (this=this@entry=0x7f93c0112e80,  | 
|     jobs=std::vector of length 65, capacity 128 = {...}) | 
|     at /home/linuxjedi/Programming/Git/mariadb-columnstore-server/mariadb-columnstore-engine/dbcon/joblist/tuple-bps.cpp:1298 | 
| #9  0x00007f943a312bf3 in joblist::TupleBPS::sendPrimitiveMessages (this=0x7f93c0112e80) | 
|     at /home/linuxjedi/Programming/Git/mariadb-columnstore-server/mariadb-columnstore-engine/dbcon/joblist/tuple-bps.cpp:1691 | 
| #10 0x00007f943a321fef in joblist::TupleBPSPrimitive::operator() (this=<optimised out>) | 
|     at /home/linuxjedi/Programming/Git/mariadb-columnstore-server/mariadb-columnstore-engine/dbcon/joblist/tuple-bps.cpp:108 | 
| #11 boost::detail::thread_data<joblist::TupleBPSPrimitive>::run (this=0x7f93c01c9390) | 
|     at /usr/include/boost/thread/detail/thread.hpp:116 | 
| #12 0x00007f94369365d5 in boost::(anonymous namespace)::thread_proxy (param=<optimised out>) | 
|     at libs/thread/src/pthread/thread.cpp:168 | 
| #13 0x00007f9435dec6ba in start_thread (arg=0x7f91a6ff5700) at pthread_create.c:333 | 
| #14 0x00007f94348743dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
 |