Wednesday, January 29, 2025

Building and testing MySQL 8.0.41 / 8.4.4 / 9.2.0 on macOS

Previously: 8.0.40 / 8.4.3 / 9.1.0

Oracle released MySQL 8.0.41 / 8.4.4 / 9.2.0, and it's time for me to build and test it under macOS, of all things!

But first, a detour to the last set of releases Valgrind results, because its run took a few weeks on 9.1.0, and that's without --big-test. A big part of tests timed out, or failed randomly. There appear no errors that are diagnosed during server operation, and the shutdown logs are way too verbose for me to try to find any memory leaks. Perhaps 9.2.0 will fare better, and I will reduce --parallel further. Will it take two months to run? We will see!

Build

Mostly good news here, again. -DWITH_ZLIB=bundled is no longer required, that's probably due to newer XCode toolchain finally updating its zlib.

A new build bug:

A fixed build bug:

MySQL 8.0.41 does not build with LLVM 19. It could probably be fixed by backporting a fix for MySQL 8.4.4 which is documented as "Implemented the standards-compliant my_char_traits<unsigned char> for use as a drop-in replacement for std::char_traits<unsigned char>, which was deprecated in Clang 18 and removed in Clang 19. (Bug #37273525)"

Test

New bugs:

No changes:

Fixed bugs:

Did not test:

One-off issues:

  • main.join_cache_nojb failed once with query execution plan difference on 8.0.41 debug build.
  • rpl_gtid.rpl_gtids_table_disable_binlog_on_slave failed intermittently on 8.0.41 Debug with sanitizers, 8.4.4 Debug, & 8.4.4 Debug with sanitizers builds. The same happened in the previous set of releases too.
  • binlog_gtid.binlog_gtid_bgc_ticket_manager failed once on 8.4.4 Debug build.
  • routertest_integration_routing_sharing_constrained_pools failed once in a way that is not bug #113190 above.
  • rpl_gtid.rpl_heartbeat_log_pos_4gb timed out once on 8.4.4 Debug with sanitizers.
  • binlog_gtid.binlog_check_gtid_persistor_compatibility failed once on 9.2.0 Debug with sanitizers.
  • innodb.trigger_function_lock_compare timed out once on 9.2.0 Debug with sanitizers.

Conclusion

Without the one-off issues I have 2 new, 13 unchanged, 4 fixed, 1 untested bug. Much less churn than the last time, and finally the trend is positive.