[MXS-1913] fatal signal 11 Created: 2018-06-11  Updated: 2018-06-15  Resolved: 2018-06-15

Status: Closed
Project: MariaDB MaxScale
Component/s: Core
Affects Version/s: 2.2.9
Fix Version/s: 2.2.10

Type: Bug Priority: Major
Reporter: Oren Bissick (Inactive) Assignee: markus makela
Resolution: Fixed Votes: 0
Labels: None
Environment:

CentOS 7


Sprint: MXS-SPRINT-60

 Description   

MaxScale crash with this error:
2018-06-11 15:47:38 alert : Fatal: MaxScale 2.2.9 received fatal signal 11. Attempting backtrace.
2018-06-11 15:47:38 alert : Commit ID: dfd898e2cccae1fb57c404360c349dfb2dd7612d System name: Linux Release string: NAME="CentOS Linux"
2018-06-11 15:47:38 alert : /usr/bin/maxscale() [0x407921]: ??:0
2018-06-11 15:47:38 alert : /lib64/libpthread.so.0(+0xf6d0) [0x7f9e8e8756d0]: sigaction.c:?
2018-06-11 15:47:38 alert : /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_Z17session_json_dataPK7sessionPKc+0x2f7) [0x7f9e8ed80f87]: /home/ec2-user/MaxScale/server/core/session.cc:1016 (discriminator 1)
2018-06-11 15:47:38 alert : /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_Z10seslist_cbP3dcbPv+0x24) [0x7f9e8ed81654]: /home/ec2-user/MaxScale/server/core/session.cc:1086
2018-06-11 15:47:38 alert : /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZN13SerialDcbTask7executeERN8maxscale6WorkerE+0x42) [0x7f9e8ed4e742]: /home/ec2-user/MaxScale/server/core/dcb.cc:2912
2018-06-11 15:47:38 alert : /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZN8maxscale6Worker4postEPNS_10WorkerTaskEPNS_9SemaphoreENS0_14execute_mode_tE+0x51) [0x7f9e8ed88191]: /home/ec2-user/MaxScale/server/core/worker.cc:594
2018-06-11 15:47:38 alert : /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZN8maxscale6Worker16execute_seriallyERNS_10WorkerTaskE+0x48) [0x7f9e8ed882d8]: /home/ec2-user/MaxScale/server/core/worker.cc:695
2018-06-11 15:47:38 alert : /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(dcb_foreach+0x34) [0x7f9e8ed4b744]: /home/ec2-user/MaxScale/server/core/dcb.cc:2922
2018-06-11 15:47:38 alert : /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(session_list_to_json+0x25) [0x7f9e8ed80415]: /home/ec2-user/MaxScale/server/core/session.cc:1096
2018-06-11 15:47:38 alert : /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(+0x76790) [0x7f9e8ed6a790]: /home/ec2-user/MaxScale/server/core/resource.cc:522
2018-06-11 15:47:38 alert : /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZNK8Resource4callERK11HttpRequest+0xc) [0x7f9e8ed6e7fc]: /home/ec2-user/MaxScale/server/core/resource.cc:97
2018-06-11 15:47:38 alert : /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(+0x7fb49) [0x7f9e8ed73b49]: /home/ec2-user/MaxScale/server/core/resource.cc:1117 (discriminator 1)
2018-06-11 15:47:38 alert : /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(+0x815e8) [0x7f9e8ed755e8]: /home/ec2-user/MaxScale/server/core/resource.cc:1159
2018-06-11 15:47:38 alert : /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZN8maxscale6Worker14handle_messageERNS_12MessageQueueERKNS_19MessageQueueMessageE+0x8b) [0x7f9e8ed8759b]: /home/ec2-user/MaxScale/server/core/worker.cc:1077
2018-06-11 15:47:38 alert : /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZN8maxscale12MessageQueue18handle_poll_eventsEij+0x117) [0x7f9e8ed5bfe7]: /home/ec2-user/MaxScale/server/core/messagequeue.cc:242
2018-06-11 15:47:38 alert : /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZN8maxscale6Worker15poll_waiteventsEv+0x1c1) [0x7f9e8ed890d1]: /home/ec2-user/MaxScale/server/core/worker.cc:1207
2018-06-11 15:47:38 alert : /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZN8maxscale6Worker3runEv+0x72) [0x7f9e8ed89342]: /home/ec2-user/MaxScale/include/maxscale/log_manager.h:116
2018-06-11 15:47:38 alert : /usr/bin/maxscale(main+0x2437) [0x406727]: /home/ec2-user/MaxScale/server/core/gateway.cc:2254
2018-06-11 15:47:38 alert : /lib64/libc.so.6(__libc_start_main+0xf5) [0x7f9e8c772445]: ??:?
2018-06-11 15:47:38 alert : /usr/bin/maxscale() [0x406945]: ??:0



 Comments   
Comment by markus makela [ 2018-06-15 ]

Managed to reproduce this with the following script.

#!/usr/bin/env python3                                                                                                                                                                        
 
import pymysql
import threading
import time
import requests
 
running = True
 
def run():
    global running
    while running:
        conn = pymysql.Connect(host='127.0.0.1', port=4006, user='maxuser', password='maxpwd', database='test')
 
        with conn.cursor() as c:
            for _ in range(0, 10):
                c.execute("SELECT 1")
                c.fetchall()
 
 
threads = []
 
for i in range(0, 20):
    threads.append(threading.Thread(target=run))
 
for t in threads:
    t.start()
 
start = time.time()
 
while time.time() - start < 10:
    requests.get("http://127.0.0.1:8989/v1/sessions")
 
running = False
 
for t in threads:
    t.join()

Comment by markus makela [ 2018-06-15 ]

This is fixed by commit 24870e278c2008ffa41bf8216162a02af8d6afd1.

Generated at Thu Feb 08 04:10:19 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.