[MXS-4016] Debug assert in smartrouter Created: 2022-02-22  Updated: 2022-02-23  Resolved: 2022-02-23

Status: Closed
Project: MariaDB MaxScale
Component/s: smartrouter
Affects Version/s: N/A
Fix Version/s: N/A

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


 Description   

Happened during a test run with the sr_basic test.

2022-02-22 07:25:12   error  : (17) [smartrouter] (SQ) routeQuery() in wrong state. clusters busy = true
2022-02-22 07:25:12   error  : (17) [smartrouter] (SQ) debug assert at /home/timofey_turenko_mariadb_com/MaxScale/server/modules/routing/smartrouter/smartsession.cc:105 failed: false
debug assert at /home/timofey_turenko_mariadb_com/MaxScale/server/modules/routing/smartrouter/smartsession.cc:105 failed: false
alert  : MaxScale 2.5.20 received fatal signal 6. Commit ID: b1fb6a0c918743b9481aa5a69db801b67eeeac8e System name: Linux Release string: Red Hat Enterprise Linux Server release 7.9 (Maipo)
 
 
2022-02-22 07:25:12   alert  : (17) (SQ) MaxScale 2.5.20 received fatal signal 6. Commit ID: b1fb6a0c918743b9481aa5a69db801b67eeeac8e System name: Linux Release string: Red Hat Enterprise Linux Server release 7.9 (Maipo)
2022-02-22 07:25:12   alert  : (17) (SQ) Statement currently being classified: none/unknown
2022-02-22 07:25:12   notice : (17) (SQ) For a more detailed stacktrace, install GDB and add 'debug=gdb-stacktrace' under the [maxscale] section.
2022-02-22 07:25:12   error  : Write failed, dcb is closed.
2022-02-22 07:25:12   error  : Write failed, dcb is closed.
  /lib64/libpthread.so.0(raise+0x2b): ??:?
  /usr/lib64/maxscale/libsmartrouter.so(_ZN18SmartRouterSession10routeQueryEP5GWBUF+0x426): server/modules/routing/smartrouter/smartsession.cc:105 (discriminator 5)
  /usr/lib64/maxscale/libsmartrouter.so(_ZN8maxscale6RouterI11SmartRouter18SmartRouterSessionE10routeQueryEP10mxs_routerP18mxs_router_sessionP5GWBUF+0x48): include/maxscale/router.hh:433 (discriminator 4)
  /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZN15ServiceEndpoint10routeQueryEP5GWBUF+0x13f): server/core/service.cc:1460
  /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZN7Session10routeQueryEP5GWBUF+0x38): server/core/session.cc:1343
  /usr/lib64/maxscale/libmariadbclient.so(_ZN23MariaDBClientConnection15route_statementEON8maxscale6BufferE+0x272): server/modules/protocol/MariaDB/mariadb_client.cc:1288
  /usr/lib64/maxscale/libmariadbclient.so(_ZN23MariaDBClientConnection21process_normal_packetEON8maxscale6BufferE+0xed): server/modules/protocol/MariaDB/mariadb_client.cc:2494
  /usr/lib64/maxscale/libmariadbclient.so(_ZN23MariaDBClientConnection19process_normal_readEv+0x19e): server/modules/protocol/MariaDB/mariadb_client.cc:1345
  /usr/lib64/maxscale/libmariadbclient.so(_ZN23MariaDBClientConnection17ready_for_readingEP3DCB+0x1bc): server/modules/protocol/MariaDB/mariadb_client.cc:1464
  /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZN3DCB14process_eventsEj+0x579): server/core/dcb.cc:1293
  /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZN3DCB13event_handlerEPS_j+0x2f): server/core/dcb.cc:1345
  /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZN3DCB12poll_handlerEP13MXB_POLL_DATAP10MXB_WORKERj+0x53): server/core/dcb.cc:1384
  /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZN7maxbase6Worker15poll_waiteventsEv+0x452): maxutils/maxbase/src/worker.cc:877
  /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZN7maxbase6Worker3runEPNS_9SemaphoreE+0x135): maxutils/maxbase/src/worker.cc:572
  /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZN7maxbase6Worker11thread_mainEPS0_PNS_9SemaphoreE+0x23): maxutils/maxbase/src/worker.cc:697
  /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZSt13__invoke_implIvPFvPN7maxbase6WorkerEPNS0_9SemaphoreEEJS2_S4_EET_St14__invoke_otherOT0_DpOT1_+0x4c): /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/invoke.h:60
  /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZSt8__invokeIPFvPN7maxbase6WorkerEPNS0_9SemaphoreEEJS2_S4_EENSt15__invoke_resultIT_JDpT0_EE4typeEOS8_DpOS9_+0x57): /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/invoke.h:95
  /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZNSt6thread8_InvokerISt5tupleIJPFvPN7maxbase6WorkerEPNS2_9SemaphoreEES4_S6_EEE9_M_invokeIJLm0ELm1ELm2EEEEDTcl8__invokespcl10_S_declvalIXT_EEEEESt12_Index_tupleIJXspT_EEE+0x5f): /opt/rh/devtoolset-7/root/usr/include/c++/7/thread:234
  /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZNSt6thread8_InvokerISt5tupleIJPFvPN7maxbase6WorkerEPNS2_9SemaphoreEES4_S6_EEEclEv+0x1d): /opt/rh/devtoolset-7/root/usr/include/c++/7/thread:243
  /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJPFvPN7maxbase6WorkerEPNS3_9SemaphoreEES5_S7_EEEEE6_M_runEv+0x1c): /opt/rh/devtoolset-7/root/usr/include/c++/7/thread:186
  /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(+0x4e1c4f): thread48.o:?
  /lib64/libpthread.so.0(+0x7ea5): pthread_create.c:?
  /lib64/libc.so.6(clone+0x6d): ??:?
alert  : Writing core dump.



 Comments   
Comment by markus makela [ 2022-02-22 ]

This happened with the fix to MXS-4004 applied, could be related.

Comment by markus makela [ 2022-02-22 ]

Yup, the fix to MXS-4004 caused an extra OK packet to be sent which caused the client to send queries when the smartrouter didn't expect it to. This seems to be a transient bug caused only by the preceding bug fix.

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