[MXS-3061] Crash in Query Classifier Created: 2020-07-02  Updated: 2021-08-02  Resolved: 2021-08-02

Status: Closed
Project: MariaDB MaxScale
Component/s: QueryClassifier
Affects Version/s: 2.3.19, 2.4.6
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Valerii Kravchuk Assignee: Johan Wikman
Resolution: Cannot Reproduce Votes: 0
Labels: need_feedback


 Description   

The following crash happens:

*** Error in `/usr/bin/maxscale': double free or corruption (!prev): 0x00007f509c3989e0 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x81299)[0x7f50c563d299]
/usr/lib64/maxscale/libqc_sqlite.so(+0x13fc7)[0x7f50bfcd4fc7]
7ffcd2522000-7ffcd2543000 rw-p 00000000 00:00 0 [stack]
7ffcd25aa000-7ffcd25ac000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
2020-07-01 16:09:43 alert : (773223) Fatal: MaxScale 2.4.6 received fatal signal 6. Commit ID: 714dece7ddb025d2ed2cca945a607a02b80bc7a2 System name: Linux Release string: Red Hat Enterprise Linux Server release 7.8 (Maipo)
2020-07-01 16:09:44 alert : (773223)
/lib64/libc.so.6(gsignal+0x37): :?
/lib64/libc.so.6(abort+0x148): :?
/lib64/libc.so.6(+0x78ed7): :?
/lib64/libc.so.6(+0x81299): malloc.c:?
/usr/lib64/maxscale/libqc_sqlite.so(+0x13fc7): query_classifier/qc_sqlite/qc_sqlite.cc:2088
/usr/lib64/maxscale/libqc_sqlite.so(+0xe9ac): query_classifier/qc_sqlite/qc_sqlite.cc:3793
/usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_Z16qc_get_type_maskP5GWBUF+0x4b): /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:3295
/usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZN8maxscale15QueryClassifier17update_route_infoENS0_16current_target_tEP5GWBUF+0x21e): server/core/queryclassifier.cc:1039
/usr/lib64/maxscale/libreadwritesplit.so(_ZN14RWSplitSession10routeQueryEP5GWBUF+0x24f): server/modules/routing/readwritesplit/rwsplitsession.cc:146
/usr/lib64/maxscale/libreadwritesplit.so(_ZN8maxscale6RouterI7RWSplit14RWSplitSessionE10routeQueryEP10mxs_routerP18mxs_router_sessionP5GWBUF+0x21): include/maxscale/router.hh:452
/usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_Z19session_route_queryP11MXS_SESSIONP5GWBUF+0x18): server/core/session.cc:900
/usr/lib64/maxscale/libmariadbclient.so(+0x6ad2): server/modules/protocol/MySQL/mariadbclient/mysql_client.cc:1993
/usr/lib64/maxscale/libmaxscale-common.so.1.0.0(+0x9f7ff): server/core/dcb.cc:2709
/usr/lib64/maxscale/libmaxscale-common.so.1.0.0(+0x9f881): server/core/dcb.cc:2801
/usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZN7maxbase6Worker15poll_waiteventsEv+0x1a6): maxutils/maxbase/src/worker.cc:858
/usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZN7maxbase6Worker3runEPNS_9SemaphoreE+0x53): maxutils/maxbase/src/worker.cc:559
/usr/lib64/maxscale/libmaxscale-common.so.1.0.0(+0x1b673f): thread48.o:?
/lib64/libpthread.so.0(+0x7ea5): pthread_create.c:?
/lib64/libc.so.6(clone+0x6d): ??:?

Crashing query is not yet identified.



 Comments   
Comment by Johan Wikman [ 2020-08-20 ]

The next version of 2.3, 2.4 and 2.5 will log the statement currently being classified, if a crash occurs during classification. For instance:

...
2020-08-20 12:59:47   alert  : (4) Statement currently being classified: select @@version_comment limit 1
...

Comment by markus makela [ 2020-12-08 ]

Does this still happen with the latest releases?

Comment by markus makela [ 2021-08-02 ]

Closing as Cannot Reproduce due to lack of confirmation whether this was fixed by MXS-3120.

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