Bug #93105 | writing to ‘struct buf_buddy_free_t’ with no trivial copy-assignment | ||
---|---|---|---|
Submitted: | 7 Nov 2018 12:34 | Modified: | 13 Nov 2018 11:16 |
Reporter: | Przemysław Skibiński (OCA) | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: Compiling | Severity: | S3 (Non-critical) |
Version: | 8.0.13, 5.7.24 | OS: | Linux |
Assigned to: | CPU Architecture: | Any | |
Tags: | valgrind |
[7 Nov 2018 12:34]
Przemysław Skibiński
[7 Nov 2018 16:27]
MySQL Verification Team
Thank you for the bug report. Looks like the issue here is the default gcc flag -W: cc1plus: all warnings being treated as errors storage/innobase/CMakeFiles/innobase.dir/build.make:302: recipe for target 'storage/innobase/CMakeFiles/innobase.dir/buf/buf0buddy.cc.o' failed make[2]: *** [storage/innobase/CMakeFiles/innobase.dir/buf/buf0buddy.cc.o] Error 1 Using -w it compiles: Scanning dependencies of target master_key_test_writer [100%] Building CXX object router/tests/component/CMakeFiles/master_key_test_writer.dir/__/helpers/master_key_test_writer.cc.o [100%] Linking CXX executable ../../../runtime_output_directory/master_key_test_writer [100%] Built target master_key_test_writer Scanning dependencies of target test_component_routing_connection [100%] Building CXX object router/tests/component/CMakeFiles/test_component_routing_connection.dir/test_routing_connection.cc.o [100%] Linking CXX executable ../../../runtime_output_directory/test_component_routing_connection [100%] Built target test_component_routing_connection miguel@tikal:~/tmp/mysql-8.0.13 $ lsb_release -a && gcc --version && valgrind --version No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.1 LTS Release: 18.04 Codename: bionic gcc (Ubuntu 8.2.0-1ubuntu2~18.04) 8.2.0 Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. valgrind-3.13.0 miguel@tikal:~/tmp/mysql-8.0.13 $ cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_CONFIG=mysql_release -DFEATURE_SET=community -DREPRODUCIBLE_BUILD=OFF -DENABLE_DOWNLOADS=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=../deps -DMYSQL_MAINTAINER_MODE=ON -DWITH_MECAB=system -DWITH_ICU=bundled -DWITH_VALGRIND=ON -DCMAKE_C_FLAGS=-w -DCMAKE_CXX_FLAGS=-w
[8 Nov 2018 7:09]
Tor Didriksen
Fixed in 8.0.14 by commit 3f8b46668352becdcc3a4dfef35c89b889bb4877 Author: Tor Didriksen <tor.didriksen@oracle.com> Date: Fri Sep 28 14:26:27 2018 +0200 Bug #26826272: REMOVE GCC 8 WARNINGS Post-push fix for UNIV_MEM_TRASH which is use for WITH_VALGRIND build. Same as TRASH macro: do memset through a void pointer to avoid error: 'void* memset(void*, int, size_t)' writing to an object of type 'struct buf_buddy_free_t' with no trivial copy-assignment [-Werror=class-memaccess]
[13 Nov 2018 10:12]
Przemysław Skibiński
The issue also concerns 5.7.24