Type:
Bug
Priority:
Critical
Resolution:
Fixed
Affects Version/s:
10.3.1 , 10.3.2 , 10.3.3 , 10.3.4 , 10.3.5 , 10.3.6 , 10.3.7 , 10.3(EOL)
Function mysql_real_connect() from libmariadbd.so library always crash. In attachment is simple reproducer which tries to connect to MariaDB server via TCP from libmariadbd.so library.
Compile steps:
gcc -g test-connect.c -o test-connect `mysql_config --cflags --libmysqld-libs`
And here is crash backtrace from gdb:
$ gdb --args ./test-connect 127.0.0.1 3306 pali pali
Program received signal SIGSEGV, Segmentation fault.
QUERY_PROFILE::new_status (this=0x4, status_arg=0x7ffff6c83527 "Waiting for query cache lock",
function_arg=function_arg@entry=0x7ffff6c8da78 <Query_cache::try_lock(THD*, Query_cache::Cache_try_lock_mode)::__FUNCTION__> "try_lock",
file_arg=file_arg@entry=0x7ffff6c8d8f8 "mariadb-10.3.6/sql/sql_cache.cc", line_arg=603) at mariadb-10.3.6/sql/sql_profile.cc:312
312 prof->m_seq= m_seq_counter++;
(gdb) bt
#0 QUERY_PROFILE::new_status (this=0x4, status_arg=0x7ffff6c83527 "Waiting for query cache lock",
function_arg=function_arg@entry=0x7ffff6c8da78 <Query_cache::try_lock(THD*, Query_cache::Cache_try_lock_mode)::__FUNCTION__> "try_lock",
file_arg=file_arg@entry=0x7ffff6c8d8f8 "mariadb-10.3.6/sql/sql_cache.cc", line_arg=603) at mariadb-10.3.6/sql/sql_profile.cc:312
#1 0x00007ffff66610cc in PROFILING::status_change (this=<optimized out>, line_arg=<optimized out>, file_arg=0x7ffff6c8d8f8 "mariadb-10.3.6/sql/sql_cache.cc",
function_arg=0x7ffff6c8da78 <Query_cache::try_lock(THD*, Query_cache::Cache_try_lock_mode)::__FUNCTION__> "try_lock", status_arg=<optimized out>) at mariadb-10.3.6/sql/sql_profile.h:312
#2 THD::enter_stage (stage=<optimized out>, stage=<optimized out>, calling_line=<optimized out>, calling_file=0x7ffff6c8d8f8 "mariadb-10.3.6/sql/sql_cache.cc",
calling_func=0x7ffff6c8da78 <Query_cache::try_lock(THD*, Query_cache::Cache_try_lock_mode)::__FUNCTION__> "try_lock", this=<optimized out>) at mariadb-10.3.6/sql/sql_class.h:2365
#3 set_thd_stage_info (thd_arg=thd_arg@entry=0x55555576b140, new_stage=<optimized out>, old_stage=old_stage@entry=0x7fffffffce78,
calling_func=calling_func@entry=0x7ffff6c8da78 <Query_cache::try_lock(THD*, Query_cache::Cache_try_lock_mode)::__FUNCTION__> "try_lock",
calling_file=calling_file@entry=0x7ffff6c8d8f8 "mariadb-10.3.6/sql/sql_cache.cc", calling_line=calling_line@entry=603) at mariadb-10.3.6/sql/sql_class.cc:408
#4 0x00007ffff665a3b3 in Query_cache_wait_state::Query_cache_wait_state (line=603, file=0x7ffff6c8d8f8 "mariadb-10.3.6/sql/sql_cache.cc", func=<synthetic pointer>, thd=0x55555576b140,
this=0x7fffffffce70) at mariadb-10.3.6/sql/sql_cache.cc:432
#5 Query_cache::try_lock (this=0x555555770178, this@entry=0x7ffff75502c0 <query_cache>, thd=0x55555576b140, mode=(unknown: 4149543616), mode@entry=Query_cache::WAIT)
at mariadb-10.3.6/sql/sql_cache.cc:603
#6 0x00007ffff665d6ac in Query_cache::insert (this=0x7ffff75502c0 <query_cache>, thd=<optimized out>, query_cache_tls=0x55555576b410, packet=0x5555557772a8 "\244", length=168, pkt_nr=2)
at mariadb-10.3.6/sql/sql_cache.cc:1082
#7 0x00007ffff6616211 in net_real_write (net=net@entry=0x555555770178, packet=0x5555557772a8 "\244", len=<optimized out>) at mariadb-10.3.6/sql/net_serv.cc:620
#8 0x00007ffff661658b in net_flush (net=net@entry=0x555555770178) at mariadb-10.3.6/sql/net_serv.cc:377
#9 0x00007ffff65e4b71 in send_client_reply_packet (mpvio=0x7fffffffd680, data=<optimized out>, data_len=<optimized out>) at mariadb-10.3.6/sql-common/client.c:2679
#10 0x00007ffff65e506d in client_mpvio_write_packet (mpv=0x7fffffffd680, pkt=<optimized out>, pkt_len=<optimized out>) at mariadb-10.3.6/sql-common/client.c:2775
#11 0x00007ffff65e25f2 in native_password_auth_client (vio=0x7fffffffd680, mysql=0x555555770178) at mariadb-10.3.6/sql-common/client.c:4702
#12 0x00007ffff65e5322 in run_plugin_auth (mysql=mysql@entry=0x555555770178, data=0x5555557772df "l\365\211\062\254\332dmysql_native_password", data_len=21, data_plugin=0x5555557772f4 "assword",
db=db@entry=0x0) at mariadb-10.3.6/sql-common/client.c:2911
#13 0x00007ffff65e70c3 in cli_mysql_real_connect (mysql=mysql@entry=0x555555770178, host=0x7fffffffe1b7 "127.0.0.1", user=<optimized out>, user@entry=0x7fffffffe1c6 "pali", passwd=0x7fffffffe1cb "pali",
db=<optimized out>, db@entry=0x0, port=3306, unix_socket=<optimized out>, client_flag=2147614722) at mariadb-10.3.6/sql-common/client.c:3575
#14 0x00007ffff65f627d in mysql_real_connect (mysql=0x555555770178, host=<optimized out>, user=0x7fffffffe1c6 "pali", passwd=<optimized out>, db=0x0, port=<optimized out>, unix_socket=0x0,
client_flag=2147614722) at mariadb-10.3.6/libmysqld/libmysqld.c:108
#15 0x0000555555554c86 in main (argc=5, argv=0x7fffffffddf8) at test-connect.c:46
This problem was discovered while developing Perl DBI driver DBD::MariaDB: https://github.com/gooddata/DBD-MariaDB . First MariaDB version in which it was detected is 10.3.1 and it is present also in last 10.3.7 version. Versions 10.3.0 is working fine, also all versions from 10.2, 10.1, 10.0 and 5.5 series.
Due to this problem, when DBD::MariaDB is compiled and linked with affected libmariadbd.so version, libmariadbd.so crashes and segfault whole perl process on every connection attempt. So it makes it fully unusable.
Please, let us know what should we do with these crashes... If there is some workaround or something else.
{"report":{"fcp":843.2999999970198,"ttfb":236,"pageVisibility":"visible","entityId":68105,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":64,"apdex":1,"journeyId":"1ce5af88-dfa9-47d5-9f10-606738589555","navigationType":0,"readyForUser":926.1999999955297,"redirectCount":0,"resourceLoadedEnd":958.8999999985099,"resourceLoadedStart":241.79999999701977,"resourceTiming":[{"duration":42.79999999701977,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2bv2/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":241.79999999701977,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":241.79999999701977,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":284.59999999403954,"responseStart":0,"secureConnectionStart":0},{"duration":43.600000001490116,"initiatorType":"link","name":"https://jira.mariadb.org/s/7ebd35e77e471bc30ff0eba799ebc151-CDN/lu2bv2/820016/12ta74/2380add21a9a1006587582385952de73/_/download/contextbatch/css/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true","startTime":242.09999999403954,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":242.09999999403954,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":285.69999999552965,"responseStart":0,"secureConnectionStart":0},{"duration":97,"initiatorType":"script","name":"https://jira.mariadb.org/s/e9b27a47da5fb0f74a35acd57e9847fb-CDN/lu2bv2/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":242.29999999701977,"connectEnd":242.29999999701977,"connectStart":242.29999999701977,"domainLookupEnd":242.29999999701977,"domainLookupStart":242.29999999701977,"fetchStart":242.29999999701977,"redirectEnd":0,"redirectStart":0,"requestStart":242.29999999701977,"responseEnd":339.29999999701977,"responseStart":339.29999999701977,"secureConnectionStart":242.29999999701977},{"duration":153,"initiatorType":"script","name":"https://jira.mariadb.org/s/c32eb0da7ad9831253f8397e6cc26afd-CDN/lu2bv2/820016/12ta74/2380add21a9a1006587582385952de73/_/download/contextbatch/js/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en&slack-enabled=true","startTime":242.39999999850988,"connectEnd":242.39999999850988,"connectStart":242.39999999850988,"domainLookupEnd":242.39999999850988,"domainLookupStart":242.39999999850988,"fetchStart":242.39999999850988,"redirectEnd":0,"redirectStart":0,"requestStart":242.39999999850988,"responseEnd":395.3999999985099,"responseStart":395.3999999985099,"secureConnectionStart":242.39999999850988},{"duration":156.60000000149012,"initiatorType":"script","name":"https://jira.mariadb.org/s/bc0bcb146314416123c992714ee00ff7-CDN/lu2bv2/820016/12ta74/c92c0caa9a024ae85b0ebdbed7fb4bd7/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en","startTime":242.69999999552965,"connectEnd":242.69999999552965,"connectStart":242.69999999552965,"domainLookupEnd":242.69999999552965,"domainLookupStart":242.69999999552965,"fetchStart":242.69999999552965,"redirectEnd":0,"redirectStart":0,"requestStart":242.69999999552965,"responseEnd":399.29999999701977,"responseStart":399.29999999701977,"secureConnectionStart":242.69999999552965},{"duration":157.10000000149012,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bv2/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":242.89999999850988,"connectEnd":242.89999999850988,"connectStart":242.89999999850988,"domainLookupEnd":242.89999999850988,"domainLookupStart":242.89999999850988,"fetchStart":242.89999999850988,"redirectEnd":0,"redirectStart":0,"requestStart":242.89999999850988,"responseEnd":400,"responseStart":400,"secureConnectionStart":242.89999999850988},{"duration":157.80000000447035,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bv2/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":243.09999999403954,"connectEnd":243.09999999403954,"connectStart":243.09999999403954,"domainLookupEnd":243.09999999403954,"domainLookupStart":243.09999999403954,"fetchStart":243.09999999403954,"redirectEnd":0,"redirectStart":0,"requestStart":243.09999999403954,"responseEnd":400.8999999985099,"responseStart":400.8999999985099,"secureConnectionStart":243.09999999403954},{"duration":236.60000000149012,"initiatorType":"link","name":"https://jira.mariadb.org/s/b04b06a02d1959df322d9cded3aeecc1-CDN/lu2bv2/820016/12ta74/a2ff6aa845ffc9a1d22fe23d9ee791fc/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":243.29999999701977,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":243.29999999701977,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":479.8999999985099,"responseStart":0,"secureConnectionStart":0},{"duration":158.39999999850988,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":243.39999999850988,"connectEnd":243.39999999850988,"connectStart":243.39999999850988,"domainLookupEnd":243.39999999850988,"domainLookupStart":243.39999999850988,"fetchStart":243.39999999850988,"redirectEnd":0,"redirectStart":0,"requestStart":243.39999999850988,"responseEnd":401.79999999701977,"responseStart":401.79999999701977,"secureConnectionStart":243.39999999850988},{"duration":236.20000000298023,"initiatorType":"link","name":"https://jira.mariadb.org/s/3ac36323ba5e4eb0af2aa7ac7211b4bb-CDN/lu2bv2/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.css?jira.create.linked.issue=true","startTime":243.69999999552965,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":243.69999999552965,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":479.8999999985099,"responseStart":0,"secureConnectionStart":0},{"duration":158.89999999850988,"initiatorType":"script","name":"https://jira.mariadb.org/s/719848dd97ebe0663199f49a3936487a-CDN/lu2bv2/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.js?jira.create.linked.issue=true&locale=en","startTime":243.79999999701977,"connectEnd":243.79999999701977,"connectStart":243.79999999701977,"domainLookupEnd":243.79999999701977,"domainLookupStart":243.79999999701977,"fetchStart":243.79999999701977,"redirectEnd":0,"redirectStart":0,"requestStart":243.79999999701977,"responseEnd":402.69999999552965,"responseStart":402.69999999552965,"secureConnectionStart":243.79999999701977},{"duration":446,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bv2/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":249,"connectEnd":249,"connectStart":249,"domainLookupEnd":249,"domainLookupStart":249,"fetchStart":249,"redirectEnd":0,"redirectStart":0,"requestStart":249,"responseEnd":695,"responseStart":695,"secureConnectionStart":249},{"duration":529.3000000044703,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bv2/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":249.09999999403954,"connectEnd":249.09999999403954,"connectStart":249.09999999403954,"domainLookupEnd":249.09999999403954,"domainLookupStart":249.09999999403954,"fetchStart":249.09999999403954,"redirectEnd":0,"redirectStart":0,"requestStart":249.09999999403954,"responseEnd":778.3999999985099,"responseStart":778.3999999985099,"secureConnectionStart":249.09999999403954},{"duration":204.89999999850988,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":491,"connectEnd":491,"connectStart":491,"domainLookupEnd":491,"domainLookupStart":491,"fetchStart":491,"redirectEnd":0,"redirectStart":0,"requestStart":491,"responseEnd":695.8999999985099,"responseStart":695.8999999985099,"secureConnectionStart":491},{"duration":197.39999999850988,"initiatorType":"link","name":"https://jira.mariadb.org/s/d5715adaadd168a9002b108b2b039b50-CDN/lu2bv2/820016/12ta74/be4b45e9cec53099498fa61c8b7acba4/_/download/contextbatch/css/jira.project.sidebar,-_super,-project.issue.navigator,-jira.general,-jira.browse.project,-jira.view.issue,-jira.global,-atl.general,-com.atlassian.jira.projects.sidebar.init/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true","startTime":761.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":761.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":958.8999999985099,"responseStart":0,"secureConnectionStart":0},{"duration":187.79999999701977,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bv2/820016/12ta74/e65b778d185daf5aee24936755b43da6/_/download/contextbatch/js/browser-metrics-plugin.contrib,-_super,-project.issue.navigator,-jira.view.issue,-atl.general/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true","startTime":762.3999999985099,"connectEnd":762.3999999985099,"connectStart":762.3999999985099,"domainLookupEnd":762.3999999985099,"domainLookupStart":762.3999999985099,"fetchStart":762.3999999985099,"redirectEnd":0,"redirectStart":0,"requestStart":762.3999999985099,"responseEnd":950.1999999955297,"responseStart":950.0999999940395,"secureConnectionStart":762.3999999985099},{"duration":191.60000000149012,"initiatorType":"script","name":"https://jira.mariadb.org/s/53a43b6764f587426c7bb9a150184c00-CDN/lu2bv2/820016/12ta74/be4b45e9cec53099498fa61c8b7acba4/_/download/contextbatch/js/jira.project.sidebar,-_super,-project.issue.navigator,-jira.general,-jira.browse.project,-jira.view.issue,-jira.global,-atl.general,-com.atlassian.jira.projects.sidebar.init/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en&slack-enabled=true","startTime":762.7999999970198,"connectEnd":762.7999999970198,"connectStart":762.7999999970198,"domainLookupEnd":762.7999999970198,"domainLookupStart":762.7999999970198,"fetchStart":762.7999999970198,"redirectEnd":0,"redirectStart":0,"requestStart":762.7999999970198,"responseEnd":954.3999999985099,"responseStart":954.3999999985099,"secureConnectionStart":762.7999999970198},{"duration":217.80000000447035,"initiatorType":"script","name":"https://www.google-analytics.com/analytics.js","startTime":835.6999999955297,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":835.6999999955297,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1053.5,"responseStart":0,"secureConnectionStart":0}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":67,"responseStart":236,"responseEnd":245,"domLoading":239,"domInteractive":998,"domContentLoadedEventStart":998,"domContentLoadedEventEnd":1050,"domComplete":1774,"loadEventStart":1774,"loadEventEnd":1775,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":968.2999999970198},{"name":"bigPipe.sidebar-id.end","time":969},{"name":"bigPipe.activity-panel-pipe-id.start","time":969.0999999940395},{"name":"bigPipe.activity-panel-pipe-id.end","time":971.5999999940395},{"name":"activityTabFullyLoaded","time":1061.2999999970198}],"measures":[],"correlationId":"5535d5be766a9c","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":100,"dbReadsTimeInMs":10,"dbConnsTimeInMs":18,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}