[MXS-1033] maxscale crushes on maxadmin request Created: 2016-11-30  Updated: 2016-12-01  Resolved: 2016-12-01

Status: Closed
Project: MariaDB MaxScale
Component/s: maxadmin
Affects Version/s: 2.0.1, 2.0.2
Fix Version/s: 2.0.3

Type: Bug Priority: Major
Reporter: Aleksandr Assignee: markus makela
Resolution: Fixed Votes: 0
Labels: None
Environment:

Content of Dockerfile:
FROM ubuntu:xenial
ENV DEBIAN_FRONTEND=noninteractive \
TERM=xterm \
TINI_VERSION=v0.13.0
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc /tini.asc
RUN gpg --keyserver ha.pool.sks-keyservers.net --recv-keys 0527A9B7 \
&& gpg --verify /tini.asc \
&& chmod a+x /tini \
&& apt-get update \
&& apt-get install -yq \
libcurl3 \
software-properties-common \
wget \
&& wget \
https://downloads.mariadb.com/enterprise/dapw-ktc5/mariadb-maxscale/2.0.2/ubuntu/dists/xenial/main/binary-amd64/maxscale-2.0.2-1.ubuntu.xenial.x86_64.deb \
-O maxscale.deb \
&& dpkg -i maxscale.deb \
&& apt-get autoremove -y \
&& apt-get clean \
&& rm -rf \
maxscale.deb \
/var/lib/apt/lists/* \
/tmp/* \
/var/tmp/* \
/etc/cron.daily/dpkg \
/etc/cron.daily/apt \
/etc/cron.daily/passwd \
/etc/cron.daily/upstart \
/etc/cron.weekly/fstrim
COPY container-root/ /

ENTRYPOINT ["/tini", "-gvv", "--", "/entrypoint.sh"]



 Description   

I'm running maxscale 2.0.2 on ubuntu xenial. If I run 10 times list servers command using maxadmin, maxscale crashes with this error

2016-11-30 13:12:22   error  : Fatal: MaxScale 2.0.2 received fatal signal 11. Attempting backtrace.
2016-11-30 13:12:22   error  : Commit ID: 14326774065fd211a79e5935414d149fb8a17660 System name: Linux Release string: Ubuntu 16.04.1 LTS
2016-11-30 13:12:22   error  :   /usr/bin/maxscale() [0x403ca7]
2016-11-30 13:12:22   error  :   /lib/x86_64-linux-gnu/libpthread.so.0(+0x113d0) [0x7f55049293d0]
2016-11-30 13:12:22   error  :   /usr/lib/x86_64-linux-gnu/maxscale/libmaxscale-common.so.1.0.0(dListClients+0xd6) [0x7f5504dd4298]
2016-11-30 13:12:22   error  :   /usr/lib/x86_64-linux-gnu/maxscale/libcli.so(execute_cmd+0x97a) [0x7f54fe3aaf23]
2016-11-30 13:12:22   error  :   /usr/lib/x86_64-linux-gnu/maxscale/libcli.so(+0x417b) [0x7f54fe3aa17b]
2016-11-30 13:12:22   error  :   /usr/lib/x86_64-linux-gnu/maxscale/libmaxscaled.so(+0x1828) [0x7f54fcea3828]
2016-11-30 13:12:22   error  :   /usr/lib/x86_64-linux-gnu/maxscale/libmaxscale-common.so.1.0.0(+0x4a026) [0x7f5504de8026]
2016-11-30 13:12:22   error  :   /usr/lib/x86_64-linux-gnu/maxscale/libmaxscale-common.so.1.0.0(poll_waitevents+0x6c1) [0x7f5504de77c7]
2016-11-30 13:12:22   error  :   /usr/bin/maxscale(worker_thread_main+0x2a) [0x404d8f]
2016-11-30 13:12:22   error  :   /lib/x86_64-linux-gnu/libpthread.so.0(+0x76fa) [0x7f550491f6fa]
2016-11-30 13:12:22   error  :   /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f5504211b5d]

my configuration file

 
[maxscale]
threads=8
auth_connect_timeout=3
auth_read_timeout=3
 
 
[Galera Monitor]
type=monitor
module=galeramon
servers=server1,server2
user=maxscale
passwd=HIDDEN
monitor_interval=30
disable_master_failback=1
available_when_donor=1
backend_read_timeout=5
 
[RW Split Router]
type=service
router=readwritesplit
max_slave_connections=50%
servers=server1,server2
user=maxscale
passwd=HIDDEN
use_sql_variables_in=master
router_options=master_accept_reads=true,max_sescmd_history=1500
 
 
 
[CLI]
type=service
router=cli
 
[CLI Listener]
type=listener
service=CLI
protocol=maxscaled
port=6603
 
 
[RW Split Listener]
type=listener
service=RW Split Router
protocol=MySQLClient
port=4009
#socket=/var/lib/maxscale/readconn.sock
 
 
[server1]
type=server
address=10.102.0.17
port=3307
protocol=MySQLBackend
 
[server2]
type=server
address=10.102.0.18
port=3307
protocol=MySQLBackend

and my maxadmin command

maxadmin -pHIDDEN list clients

also I tried to use CLI via unix socket with this configuration

 
[maxscale]
threads=8
auth_connect_timeout=3
auth_read_timeout=3
 
 
[Galera Monitor]
type=monitor
module=galeramon
servers=server1,server2
user=maxscale
passwd=HIDDEN
monitor_interval=30
disable_master_failback=1
available_when_donor=1
backend_read_timeout=5
 
[RW Split Router]
type=service
router=readwritesplit
max_slave_connections=50%
servers=server1,server2
user=maxscale
passwd=HIDDEN
use_sql_variables_in=master
router_options=master_accept_reads=true,max_sescmd_history=1500
 
 
 
[CLI]
type=service
router=cli
 
[CLI Unix Listener]
type=listener
service=CLI
protocol=maxscaled
socket=default
 
 
 
[RW Split Listener]
type=listener
service=RW Split Router
protocol=MySQLClient
port=4009
#socket=/var/lib/maxscale/readconn.sock
 
 
[server1]
type=server
address=10.102.0.17
port=3307
protocol=MySQLBackend
 
[server2]
type=server
address=10.102.0.18
port=3307
protocol=MySQLBackend

and this maxadmin command

maxadmin list clients

but I see same behaviour.

I also had same problem on maxscale 2.0.1 and ubuntu:trusty,



 Comments   
Comment by markus makela [ 2016-11-30 ]

I was able to reproduce it with the following Dockerfile.

FROM ubuntu:xenial
ENV DEBIAN_FRONTEND=noninteractive \
    TERM=xterm \
    TINI_VERSION=v0.13.0
RUN apt-get update \
  && apt-get install -yq \
    libcurl3 \
    software-properties-common \
    wget \
  && wget \
    https://downloads.mariadb.com/enterprise/dapw-ktc5/mariadb-maxscale/2.0.2/ubuntu/dists/xenial/main/binary-amd64/maxscale-2.0.2-1.ubuntu.xenial.x86_64.deb \
    -O maxscale.deb \
  && dpkg -i maxscale.deb \
  && apt-get autoremove -y \
  && apt-get clean \
  && rm -rf \
    maxscale.deb \
    /etc/maxscale.cnf \
    /var/lib/apt/lists/* \
    /tmp/* \
    /var/tmp/* \
    /etc/cron.daily/dpkg \
    /etc/cron.daily/apt \
    /etc/cron.daily/passwd \
    /etc/cron.daily/upstart \
    /etc/cron.weekly/fstrim
 
ENTRYPOINT ["/usr/bin/maxscale", "-d", "-lstdout"]

The crash is caused when a disconnected connection is being listed. The list clients command is missing a check for the connection state before proceeding to check it.

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