When we upgrade the mariadb from 10.3.13 to 10.3.36, we found some memory leak in mysql_upgrade.
We can reproduce this bug in the following way:
1. download the code of mariadb-10.3.13, and create a file to compile this code. I put this compilation file in the attachment. Then we create a mysqld instance by this way:
// Run the build.sh file and specify the basedir
|
$ sh build.sh -d /flash3/mariadb_data/mysql
|
|
// Install dependencies
|
$ make install
|
|
// initialization
|
$ /flash3/mariadb_10_3_13/scripts/mysql_install_db --basedir='/flash3/mariadb_data/mysql' --datadir='/flash3/mariadb_data/data'
|
|
// Create an instance using port 1235
|
$ /flash3/mariadb_10_3_13/sql/mysqld --basedir=/flash3/mariadb_data/mysql --datadir=/flash3/mariadb_data/data --port=1235 --socket=/flash3/mariadb_data/mysql/mysql.sock&
|
|
// Connect into a mysqld instance by root
|
$ mysql -h127.0.0.1 -P1234 -uroot
|
2. Create some tables on the Mariadb-10.3.13 instance
MariaDB> create database test_1;
|
MariaDB> use test_1;
|
MariaDB> create table t(a int);
|
MariaDB> insert into t values(1),(2);
|
MariaDB> shutdown;
|
3. Compile the code of mariadb-10.3.36 and create an instance in the same data directory with mariadb-10.3.13.
// Compile the code of mariadb-10.3.36 by using the build.sh file.
|
$ sh build.sh
|
|
// Create an instance in the same directory with mariadb-10.3.13. And use the port 1246.
|
$ flash3/mariadb_10_3_36/sql/mysqld --basedir=/flash3/mariadb_data/mysql --datadir=/flash3/mariadb_data/data --port=1246 --socket=/flash3/mariadb_data/mysql/mysql.sock&
|
|
4. Run the mysql_upgrade of mariadb-10.3.36
$ /flash3/mariadb_10_3_36/client/mysql_upgrade -uroot -p -S /flash3/mariadb_data/mysql/mysql.sock
|
Now the warning appears:
Phase 1/7: Checking and upgrading mysql database
|
Processing databases
|
mysql
|
mysql.column_stats OK
|
mysql.columns_priv OK
|
mysql.db OK
|
mysql.event OK
|
mysql.func OK
|
mysql.gtid_slave_pos OK
|
mysql.help_category OK
|
mysql.help_keyword OK
|
mysql.help_relation OK
|
mysql.help_topic OK
|
mysql.host OK
|
mysql.index_stats OK
|
mysql.innodb_index_stats OK
|
mysql.innodb_table_stats OK
|
mysql.plugin OK
|
mysql.proc OK
|
mysql.procs_priv OK
|
mysql.proxies_priv OK
|
mysql.roles_mapping OK
|
mysql.servers OK
|
mysql.table_stats OK
|
mysql.tables_priv OK
|
mysql.time_zone OK
|
mysql.time_zone_leap_second OK
|
mysql.time_zone_name OK
|
mysql.time_zone_transition OK
|
mysql.time_zone_transition_type OK
|
mysql.transaction_registry OK
|
mysql.user OK
|
Phase 2/7: Installing used storage engines... Skipped
|
Phase 3/7: Fixing views
|
Phase 4/7: Running 'mysql_fix_privilege_tables'
|
Phase 5/7: Fixing table and database names
|
Phase 6/7: Checking and upgrading tables
|
Processing databases
|
information_schema
|
performance_schema
|
test
|
test_1
|
test_1.t OK
|
Phase 7/7: Running 'FLUSH PRIVILEGES'
|
OK
|
Warning: 8 bytes lost at 0x7fb713508af0, allocated by T@0 at 0x7fb712b05b14, mysys/my_malloc.c:246, mysys/get_password.c:204, 0x7fb7111c1555, 0x7fb712ae3889
|
Memory lost: 8 bytes in 1 chunks
|
This problem maybe caused by a bug in mysql_upgrade.c line 1348 where malloc memory
in get_tty_password() without free it.
{"report":{"fcp":788.5,"ttfb":169,"pageVisibility":"visible","entityId":117496,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":64,"apdex":1,"journeyId":"9bdb368a-36c3-4f77-82c1-1a27f5469f78","navigationType":0,"readyForUser":876.1000001430511,"redirectCount":0,"resourceLoadedEnd":928.9000000953674,"resourceLoadedStart":173.79999995231628,"resourceTiming":[{"duration":142.40000009536743,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2bu7/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":173.79999995231628,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":173.79999995231628,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":316.2000000476837,"responseStart":0,"secureConnectionStart":0},{"duration":142.09999990463257,"initiatorType":"link","name":"https://jira.mariadb.org/s/7ebd35e77e471bc30ff0eba799ebc151-CDN/lu2bu7/820016/12ta74/8679b4946efa1a0bb029a3a22206fb5d/_/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":174.20000004768372,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":174.20000004768372,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":316.2999999523163,"responseStart":0,"secureConnectionStart":0},{"duration":150.80000019073486,"initiatorType":"script","name":"https://jira.mariadb.org/s/fbf975c0cce4b1abf04784eeae9ba1f4-CDN/lu2bu7/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":174.29999995231628,"connectEnd":174.29999995231628,"connectStart":174.29999995231628,"domainLookupEnd":174.29999995231628,"domainLookupStart":174.29999995231628,"fetchStart":174.29999995231628,"redirectEnd":0,"redirectStart":0,"requestStart":174.29999995231628,"responseEnd":325.10000014305115,"responseStart":325.10000014305115,"secureConnectionStart":174.29999995231628},{"duration":224,"initiatorType":"script","name":"https://jira.mariadb.org/s/099b33461394b8015fc36c0a4b96e19f-CDN/lu2bu7/820016/12ta74/8679b4946efa1a0bb029a3a22206fb5d/_/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":174.40000009536743,"connectEnd":174.40000009536743,"connectStart":174.40000009536743,"domainLookupEnd":174.40000009536743,"domainLookupStart":174.40000009536743,"fetchStart":174.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":174.40000009536743,"responseEnd":398.40000009536743,"responseStart":398.40000009536743,"secureConnectionStart":174.40000009536743},{"duration":227.60000014305115,"initiatorType":"script","name":"https://jira.mariadb.org/s/94c15bff32baef80f4096a08aceae8bc-CDN/lu2bu7/820016/12ta74/c92c0caa9a024ae85b0ebdbed7fb4bd7/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en","startTime":174.5,"connectEnd":174.5,"connectStart":174.5,"domainLookupEnd":174.5,"domainLookupStart":174.5,"fetchStart":174.5,"redirectEnd":0,"redirectStart":0,"requestStart":174.5,"responseEnd":402.10000014305115,"responseStart":402.10000014305115,"secureConnectionStart":174.5},{"duration":228.5,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bu7/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":174.60000014305115,"connectEnd":174.60000014305115,"connectStart":174.60000014305115,"domainLookupEnd":174.60000014305115,"domainLookupStart":174.60000014305115,"fetchStart":174.60000014305115,"redirectEnd":0,"redirectStart":0,"requestStart":174.60000014305115,"responseEnd":403.10000014305115,"responseStart":403.10000014305115,"secureConnectionStart":174.60000014305115},{"duration":231.39999985694885,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bu7/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":174.60000014305115,"connectEnd":174.60000014305115,"connectStart":174.60000014305115,"domainLookupEnd":174.60000014305115,"domainLookupStart":174.60000014305115,"fetchStart":174.60000014305115,"redirectEnd":0,"redirectStart":0,"requestStart":174.60000014305115,"responseEnd":406,"responseStart":405.90000009536743,"secureConnectionStart":174.60000014305115},{"duration":231.90000009536743,"initiatorType":"link","name":"https://jira.mariadb.org/s/b04b06a02d1959df322d9cded3aeecc1-CDN/lu2bu7/820016/12ta74/a2ff6aa845ffc9a1d22fe23d9ee791fc/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":174.70000004768372,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":174.70000004768372,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":406.60000014305115,"responseStart":0,"secureConnectionStart":0},{"duration":231.70000004768372,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":174.90000009536743,"connectEnd":174.90000009536743,"connectStart":174.90000009536743,"domainLookupEnd":174.90000009536743,"domainLookupStart":174.90000009536743,"fetchStart":174.90000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":174.90000009536743,"responseEnd":406.60000014305115,"responseStart":406.60000014305115,"secureConnectionStart":174.90000009536743},{"duration":232.20000004768372,"initiatorType":"link","name":"https://jira.mariadb.org/s/3ac36323ba5e4eb0af2aa7ac7211b4bb-CDN/lu2bu7/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":175,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":175,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":407.2000000476837,"responseStart":0,"secureConnectionStart":0},{"duration":232.19999980926514,"initiatorType":"script","name":"https://jira.mariadb.org/s/3339d87fa2538a859872f2df449bf8d0-CDN/lu2bu7/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":175.10000014305115,"connectEnd":175.10000014305115,"connectStart":175.10000014305115,"domainLookupEnd":175.10000014305115,"domainLookupStart":175.10000014305115,"fetchStart":175.10000014305115,"redirectEnd":0,"redirectStart":0,"requestStart":175.10000014305115,"responseEnd":407.2999999523163,"responseStart":407.2000000476837,"secureConnectionStart":175.10000014305115},{"duration":561.1999998092651,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bu7/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":182.60000014305115,"connectEnd":182.60000014305115,"connectStart":182.60000014305115,"domainLookupEnd":182.60000014305115,"domainLookupStart":182.60000014305115,"fetchStart":182.60000014305115,"redirectEnd":0,"redirectStart":0,"requestStart":182.60000014305115,"responseEnd":743.7999999523163,"responseStart":743.7999999523163,"secureConnectionStart":182.60000014305115},{"duration":558.7999999523163,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bu7/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":185.5,"connectEnd":185.5,"connectStart":185.5,"domainLookupEnd":185.5,"domainLookupStart":185.5,"fetchStart":185.5,"redirectEnd":0,"redirectStart":0,"requestStart":185.5,"responseEnd":744.2999999523163,"responseStart":744.2999999523163,"secureConnectionStart":185.5},{"duration":137.39999985694885,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":539.4000000953674,"connectEnd":539.4000000953674,"connectStart":539.4000000953674,"domainLookupEnd":539.4000000953674,"domainLookupStart":539.4000000953674,"fetchStart":539.4000000953674,"redirectEnd":0,"redirectStart":0,"requestStart":539.4000000953674,"responseEnd":676.7999999523163,"responseStart":676.7000000476837,"secureConnectionStart":539.4000000953674},{"duration":185.60000014305115,"initiatorType":"link","name":"https://jira.mariadb.org/s/d5715adaadd168a9002b108b2b039b50-CDN/lu2bu7/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":737.7999999523163,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":737.7999999523163,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":923.4000000953674,"responseStart":0,"secureConnectionStart":0},{"duration":185.20000004768372,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bu7/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":738.7000000476837,"connectEnd":738.7000000476837,"connectStart":738.7000000476837,"domainLookupEnd":738.7000000476837,"domainLookupStart":738.7000000476837,"fetchStart":738.7000000476837,"redirectEnd":0,"redirectStart":0,"requestStart":738.7000000476837,"responseEnd":923.9000000953674,"responseStart":923.9000000953674,"secureConnectionStart":738.7000000476837},{"duration":189.70000004768372,"initiatorType":"script","name":"https://jira.mariadb.org/s/f51ef5507eea4c158f257c66c93b2a3f-CDN/lu2bu7/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":739.2000000476837,"connectEnd":739.2000000476837,"connectStart":739.2000000476837,"domainLookupEnd":739.2000000476837,"domainLookupStart":739.2000000476837,"fetchStart":739.2000000476837,"redirectEnd":0,"redirectStart":0,"requestStart":739.2000000476837,"responseEnd":928.9000000953674,"responseStart":928.9000000953674,"secureConnectionStart":739.2000000476837}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":31,"responseStart":169,"responseEnd":185,"domLoading":172,"domInteractive":944,"domContentLoadedEventStart":944,"domContentLoadedEventEnd":981,"domComplete":1795,"loadEventStart":1795,"loadEventEnd":1796,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":920.4000000953674},{"name":"bigPipe.sidebar-id.end","time":921.2999999523163},{"name":"bigPipe.activity-panel-pipe-id.start","time":921.5},{"name":"bigPipe.activity-panel-pipe-id.end","time":923.9000000953674},{"name":"activityTabFullyLoaded","time":998.2000000476837}],"measures":[],"correlationId":"9e2ea1e47281b6","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":75,"dbReadsTimeInMs":9,"dbConnsTimeInMs":17,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}