Oracle MySQL 8.0.44 / 8.4.7 / 9.5.0 are out and it's time for me to build and run their tests on macOS, Apple Silicon hardware. I have skipped the review of the previous set of releases this summer due to personal reasons, so this covers the delta from 8.0.42 / 8.4.5 / 9.3.0, out in spring.
Build
No need to use any of the bundled 3rd party libraries, and the current XCode (26.0.1) compiles all the releases. As usual, things get more interesting with Homebrew-packaged LLVM. All releases fail to build with LLVM 17 and lower versions with a bizarre CMake error, which may have to do more with the newer macOS version 26 than MySQL. LLVM 18 and 19 build fine.
8.0.44: does not build with 20 & 21:
8.4.7: builds with LLVM 20, and 21 has a different error than 8.0.44: Bug #119242 8.4.7 fails to build with clang 21.
9.5.0: builds with LLVM 20, and 21 has a different error from both 8.0.44 and 8.4.7: Bug #119246 9.5.0 compilation error with LLVM 21
The newest compiler errors are, unfortunately, expected. So, all in all, things are looking good here.
Tests
A lot of churn here over the past two releases.
Bad news:
- Bug #99063 perfschema.idx_compare_ees_by_thread_by_error is unstable - open since 8.0.19, but I only encountered it now
- Bug #119247 Test main.log_buffered-big failure
- Bug #119249 routertest_integration_routing_direct test failure
- Bug #119250 routertest_integration_routing_sharing_constrained_pools missing connection_pool.so
- Bug #119251 Test rpl.rpl_seconds_behind_master failure
- Bug #119252 Test router.response_cache failure
- Bug #119253 innodb.tablespace_encrypt_9 crashing the server with assertion failure
- Bug #119254 Clone, x, innodb, and component_keyring tests fail on copy_file command
- Bug #119258 routertest_integration_routing_direct tests failing to login
No news, aka previously reported bugs with no to little changes:
- Bug #113189 ColumnStatisticsTest.StoreAndRestoreAttributesEquiHeight unit test fails
- Bug #113190 Several tests in routertest_integration_routing_sharing_constrained_pools fail
- Bug #113260 Client error in error log: MY-004031 - The client was disconnected …
- Bug #113665 perfschema.relaylog fails with a result difference
- Bug #113709 StrXfrmTest.ChineseUTF8MB4 failing with an AddressSanitizer error
- Bug #113722 Test main.index_merge_innodb failing with a result difference, fixed in 9.2.0, still happens on 8.0.44.
- Bug #115480 Test innodb.log_first_rec_group failing
- Bug #116369 rpl.rpl_semi_sync_alias crashes under AddressSanitizer, but only on 8.0.44, does not fail on 8.4.7, and the test looks gone in 9.5.0.
- Bug #116373 auth_sec.acl_tables_row_locking failing with result diff
- Bug #116378 routertest_integration_routing_splitting crashing under AddressSanitizer - not sure whether it's fixed or became an intermittent issue. Filing under "no news" for now
- Bug #116394 Test binlog_gtid.binlog_gtid_binlog_recovery_errors crashes with an assert
- Bug #118169 Test innodb.partition_upgrade_8019_mac_lctn_2_debug failing - might have been downgraded from a reliable failure to an intermittent one
- Bug #118171 Test main.mysqldump-tablespace-escape failing
- Bug #118185 Non-specific ASan error on TestLoaderGood/LoaderReadTest.load_wrong_version/0
- Bug #118213 Test perfschema.idx_compare_mutex_instances fails under debug + sanitizers
Good news:
- Bug #103338 Starting mysqld on same data files sometimes errors out due to doublewrite buf - could not reproduce it anymore, but now there is bug 119247 on the same testcase
- Bug #116372 ODR violation reported by AddressSanitizer for plugin variables
- Bug #116375 UBSan error on Rpl_commit_order_queue_test.Simulate_mts
- Bug #117297 Test rpl.rpl_json failing
- Bug #117314 Test innodb.tablespace_encrypt_9 failing - but see bug 119253
- Bug #118170 Test innodb.partition_upgrade_8019_win_lctn_2_debug failing instead of skipping on macos - the test actually passes (!) on 8.0.44 and 8.4.7, and is disabled on 9.5.0.
- Bug #118175 UBSan error at x/protocol/stream/decompression_input_stream.h
- Bug #118185 Non-specific ASan error on TestLoaderGood/LoaderReadTest.load_wrong_version/0
- Bug #118193 Test innodb.partition_upgrade_5727_mac_lctn_2 failing with a result difference
- Bug #118211 Spec/ShareConnectionReconnectTest.change_user/ssl_modes_REQUIRED__PREFERRED_socket test fails
- Bug #118212 Some router tests crash under AddressSanitizer
- Bug #118214 LifecycleTest.Simple_AllFunctions crashes under AddressSanitizer
One-off issues:
merge_innodb-ton 8.0.44 and 8.4.7, debug + sanitizers buildgcs_xcom_control_interfaceon 8.0.44 and 9.5.0 release buildsroutertest_integration_routing_directon 8.0.44 release buildbinlog_gtid.binlog_check_gtid_persistor_compatibilitycrashed on 8.4.7 debug buildrpl_gtid.rpl_gtids_table_disable_binlog_on_slaveresult difference on 8.4.7 debug buildinnodb.trigger_function_lock_comparetimeout on 8.4.7 debug buildroutertest_integration_routing_splittingon 8.4.7 debug w/ sanitizers builds, maybe Bug #116378 routertest_integration_routing_splitting crashing under AddressSanitizer, but was not able to confirmperfschema.keyring_keysresult difference on 8.4.7 release buildjson.array_indexresult difference on 9.5.0 debug w/ sanitizers buildperfschema.error_logresult difference on 9.5.0 debug w/ sanitizers buildmain.slow_logresult difference on 9.5.0 debug w/ sanitizers buildrouter.app_specific_metadata_v_latestresult difference on 9.5.0 release buildinnodb_undo.truncatetest assertion failure on 9.5.0 debug build
Conclusion
Without the one-offs I have 9 new, 15 unchanged, and 12 fixed bugs. At last the fixed ones outnumber the new ones, hopefully this trend will continue.