[MXS-3054] Crash with persistent connections, schemarouter and local services abstracted as servers Created: 2020-06-29  Updated: 2020-08-25  Resolved: 2020-07-02

Status: Closed
Project: MariaDB MaxScale
Component/s: schemarouter
Affects Version/s: 2.4.10
Fix Version/s: 2.4.11

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


 Description   

alert  : (45700) Fatal: MaxScale 2.4.10 received fatal signal 11. Commit ID: 7781f7042ab077811e2431794c2280162c0a6a3d System name: Linux Release string: Ubuntu 18.04.4 LTS
alert  : (45700) 
  /usr/lib/x86_64-linux-gnu/maxscale/libmaxscale-common.so.1.0.0(_Z12gwbuf_appendP5GWBUFS0_+0x10) [0x7ff2eba2f720]: <binutils not installed>
  /usr/lib/x86_64-linux-gnu/maxscale/libschemarouter.so(_ZN12schemarouter19SchemaRouterSession22parse_mapping_responseERSt10shared_ptrINS_9SRBackendEEPP5GWBUF+0x442) [0x7ff2e5917782]: <binutils not installed>
  /usr/lib/x86_64-linux-gnu/maxscale/libschemarouter.so(_ZN12schemarouter19SchemaRouterSession22inspect_mapping_statesERSt10shared_ptrINS_9SRBackendEEPP5GWBUF+0xe0) [0x7ff2e5917c40]: <binutils not installed>
  /usr/lib/x86_64-linux-gnu/maxscale/libschemarouter.so(_ZN12schemarouter19SchemaRouterSession20handle_mapping_replyERSt10shared_ptrINS_9SRBackendEEPP5GWBUF+0x11) [0x7ff2e5917dd1]: <binutils not installed>
  /usr/lib/x86_64-linux-gnu/maxscale/libschemarouter.so(_ZN12schemarouter19SchemaRouterSession11clientReplyEP5GWBUFP3DCB+0x1af) [0x7ff2e591803f]: <binutils not installed>
  /usr/lib/x86_64-linux-gnu/maxscale/libschemarouter.so(_ZN8maxscale6RouterIN12schemarouter12SchemaRouterENS1_19SchemaRouterSessionEE11clientReplyEP10mxs_routerP18mxs_router_sessionP5GWBUFP3DCB+0x17) [0x7ff2e5912df7]: <binutils not installed>
  /usr/lib/x86_64-linux-gnu/maxscale/libmariadbbackend.so(+0x593b) [0x7ff2e54f593b]: <binutils not installed>
  /usr/lib/x86_64-linux-gnu/maxscale/libmaxscale-common.so.1.0.0(+0x9ca62) [0x7ff2eba5aa62]: <binutils not installed>
  /usr/lib/x86_64-linux-gnu/maxscale/libmaxscale-common.so.1.0.0(+0x9cac1) [0x7ff2eba5aac1]: <binutils not installed>
  /usr/lib/x86_64-linux-gnu/maxscale/libmaxscale-common.so.1.0.0(_ZN7maxbase6Worker15poll_waiteventsEv+0x1b6) [0x7ff2ebad8746]: <binutils not installed>
  /usr/lib/x86_64-linux-gnu/maxscale/libmaxscale-common.so.1.0.0(_ZN7maxbase6Worker3runEPNS_9SemaphoreE+0x53) [0x7ff2ebad8983]: <binutils not installed>
  /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xbd6df) [0x7ff2ea7ee6df]: <binutils not installed>
  /lib/x86_64-linux-gnu/libpthread.so.0(+0x76db) [0x7ff2eb2956db]: <binutils not installed>
  /lib/x86_64-linux-gnu/libc.so.6(clone+0x3f) [0x7ff2e9b4588f]: <binutils not installed>



 Comments   
Comment by markus makela [ 2020-06-30 ]

The persistent connection pool code appears to suffer from a case where DCBs are placed into the pool which aren't idle. This in turn breaks the schemarouter code that expects a well-formed response which it doesn't get. The crash is most likely a bug in the schemarouter's malformed response processing which wouldn't be reached without there being a bug in the persistent connections.

Comment by markus makela [ 2020-07-02 ]

The code could used gwbuf_append with a null buffer which are not accepted ever since the change to gwbuf_append that prohibits use of null buffers.

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