proxysql crashing on SET commands

Created on 19 Jan 2018  路  3Comments  路  Source: sysown/proxysql

ProxySQL version : 1.4.5
OS version Ubuntu : 14.04.5

ProxySQL is crashing when we execute SET command to MySQL through ProxySQL.

```mysql> set default_storage_engine = InnoDB;
ERROR 2013 (HY000): Lost connection to MySQL server during query
mysql>


(gdb) bt

0 0x00007f1d6262eabc in __strcasestr_sse2 (haystack_start=0x7f1d5fa407e0 "set default_storage_engine = InnoDB", |

needle_start=0x100000006 <error: Cannot access memory at address 0x100000006>) at ../string/strcasestr.c:76

1 0x0000000000612977 in MySQL_Connection::ProcessQueryAndSetStatusFlags (this=0x7f1d5fa492c0, query_digest_text=0x7f1d5fa407e0 "set default_storage_engine = Inn

oDB")
at mysql_connection.cpp:1551

2 0x0000000000518d7c in MySQL_Session::handler (this=0x7f1d5fa40780) at MySQL_Session.cpp:2558

3 0x0000000000505daf in MySQL_Thread::process_all_sessions (this=0x7f1d5fa0d000) at MySQL_Thread.cpp:3217

4 0x00000000005050c9 in MySQL_Thread::run (this=0x7f1d5fa0d000) at MySQL_Thread.cpp:3008

5 0x00000000004c141b in mysql_worker_thread_func (arg=0x7f1d620163e0) at main.cpp:243

6 0x00007f1d63bd4184 in start_thread (arg=0x7f1d617fe700) at pthread_create.c:312

7 0x00007f1d6269a03d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

(gdb)

2 0x0000000000518d7c in MySQL_Session::handler (this=0x7f1d5fa40780) at MySQL_Session.cpp:2558

3 0x0000000000505daf in MySQL_Thread::process_all_sessions (this=0x7f1d5fa0d000) at MySQL_Thread.cpp:3217

4 0x00000000005050c9 in MySQL_Thread::run (this=0x7f1d5fa0d000) at MySQL_Thread.cpp:3008

5 0x00000000004c141b in mysql_worker_thread_func (arg=0x7f1d620163e0) at main.cpp:243

6 0x00007f1d63bd4184 in start_thread (arg=0x7f1d617fe700) at pthread_create.c:312

7 0x00007f1d6269a03d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

(gdb) frame 1

1 0x0000000000612977 in MySQL_Connection::ProcessQueryAndSetStatusFlags (this=0x7f1d5fa492c0, query_digest_text=0x7f1d5fa407e0 "set default_storage_engine = Inn

oDB")
at mysql_connection.cpp:1551
1551 if (strcasestr(query_digest_text,session_vars[i])!=NULL) {
(gdb)

(gdb) p session_vars[6]
$10 = 0x766b50 "/*!n * Chart.jsn * http://chartjs.org/n * Version: 2.7.1n *n * Copyright 2017 Nick Downien * Released under the MIT licensen * https://gith
ub.com/chartjs/Chart.js/blob/master/LICENSE.mdn */n(function("...
(gdb) p sizeof(session_vars)
$11 = 48
(gdb)
```

Most helpful comment

Patch in #1345 applied in 1.4.6 .
Thanks

All 3 comments

This regression was introduced somewhere after v1.4.3. We've compiled 1.4.5 from source and experiencing same bug.

It was introduced in 1.4.5 .
Patch is in #1345

Edit: bug was introduced in 1.4.4 , not 1.4.5

Patch in #1345 applied in 1.4.6 .
Thanks

Was this page helpful?
0 / 5 - 0 ratings