Skip to content

Build fails with GCC 16 due to -Werror=array-bounds false positive in ColumnBool constructor #524

Description

@pavel-odintsov

Version: v2.6.2

Compiler: GCC 16.1.0

Description

Command LD_LIBRARY_PATH=/opt/fastnetmon/libraries/gcc1610/lib64 make -j 8 call failed with code 512 and output: Scanning dependencies of target zstdstatic
[  2%] Building C object contrib/lz4/lz4/CMakeFiles/lz4.dir/lz4.c.o
[  2%] Building CXX object contrib/absl/absl/CMakeFiles/absl_int128.dir/numeric/int128.cc.o
[  3%] Building C object contrib/lz4/lz4/CMakeFiles/lz4.dir/lz4hc.c.o
[  5%] Building CXX object contrib/cityhash/cityhash/CMakeFiles/cityhash.dir/city.cc.o
[  6%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/common/debug.c.o
[  7%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/common/entropy_common.c.o
[  8%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/common/fse_decompress.c.o
[ 10%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/common/error_private.c.o
[ 11%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/common/pool.c.o
[ 12%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/common/threading.c.o
[ 13%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/common/xxhash.c.o
[ 15%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/common/zstd_common.c.o
[ 16%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/compress/fse_compress.c.o
[ 17%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/compress/hist.c.o
[ 18%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/compress/huf_compress.c.o
[ 20%] Linking CXX static library libcityhash.a
[ 20%] Built target cityhash
[ 21%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/compress/zstd_compress.c.o
cityhash::cityhash : /tmp/fastnetmon.build.dir.lvNlt9T5xA/clickhouse-cpp-2.6.2/build/contrib/cityhash/cityhash/libcityhash.a
[ 21%] Built target cityhash__cityhash_print_debug_info
[ 22%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/compress/zstd_compress_literals.c.o
[ 24%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/compress/zstd_compress_sequences.c.o
[ 25%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/compress/zstd_compress_superblock.c.o
[ 26%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/compress/zstd_double_fast.c.o
[ 27%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/compress/zstd_fast.c.o
[ 29%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/compress/zstd_lazy.c.o
[ 30%] Linking CXX static library libabsl_int128.a
[ 30%] Built target absl_int128
[ 31%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/compress/zstd_ldm.c.o
absl::int128 : /tmp/fastnetmon.build.dir.lvNlt9T5xA/clickhouse-cpp-2.6.2/build/contrib/absl/absl/libabsl_int128.a
[ 31%] Built target absl__int128_print_debug_info
[ 32%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/compress/zstdmt_compress.c.o
[ 34%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/compress/zstd_opt.c.o
[ 35%] Building ASM object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/decompress/huf_decompress_amd64.S.o
[ 36%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/decompress/huf_decompress.c.o
[ 37%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/decompress/zstd_ddict.c.o
[ 39%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/decompress/zstd_decompress_block.c.o
[ 40%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/decompress/zstd_decompress.c.o
[ 41%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/dictBuilder/cover.c.o
[ 43%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/dictBuilder/divsufsort.c.o
[ 44%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/dictBuilder/fastcover.c.o
[ 45%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/dictBuilder/zdict.c.o
[ 46%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/legacy/zstd_v01.c.o
[ 48%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/legacy/zstd_v02.c.o
[ 49%] Linking C static library liblz4.a
[ 49%] Built target lz4
lz4::lz4 : /tmp/fastnetmon.build.dir.lvNlt9T5xA/clickhouse-cpp-2.6.2/build/contrib/lz4/lz4/liblz4.a
[ 49%] Built target lz4__lz4_print_debug_info
[ 50%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/legacy/zstd_v03.c.o
[ 51%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/legacy/zstd_v04.c.o
[ 53%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/legacy/zstd_v05.c.o
[ 54%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/legacy/zstd_v06.c.o
[ 55%] Building C object contrib/zstd/zstd/CMakeFiles/zstdstatic.dir/legacy/zstd_v07.c.o
[ 56%] Linking C static library libzstdstatic.a
[ 56%] Built target zstdstatic
zstd::zstd : /tmp/fastnetmon.build.dir.lvNlt9T5xA/clickhouse-cpp-2.6.2/build/contrib/zstd/zstd/libzstdstatic.a
[ 56%] Built target zstd__zstd_print_debug_info
[ 58%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/base/compressed.cpp.o
[ 59%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/base/input.cpp.o
[ 60%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/base/output.cpp.o
[ 62%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/base/platform.cpp.o
[ 63%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/base/socket.cpp.o
[ 64%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/base/wire_format.cpp.o
[ 65%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/base/endpoints_iterator.cpp.o
[ 67%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/array.cpp.o
[ 68%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/bool.cpp.o
[ 69%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/column.cpp.o
[ 70%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/date.cpp.o
[ 72%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/decimal.cpp.o
In file included from /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/alloc_traits.h:33,
                 from /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/ext/alloc_traits.h:36,
                 from /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/stl_tree.h:70,
                 from /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/map:64,
                 from /tmp/fastnetmon.build.dir.lvNlt9T5xA/clickhouse-cpp-2.6.2/clickhouse/columns/../types/types.h:6,
                 from /tmp/fastnetmon.build.dir.lvNlt9T5xA/clickhouse-cpp-2.6.2/clickhouse/columns/column.h:3,
                 from /tmp/fastnetmon.build.dir.lvNlt9T5xA/clickhouse-cpp-2.6.2/clickhouse/columns/bool.h:3,
                 from /tmp/fastnetmon.build.dir.lvNlt9T5xA/clickhouse-cpp-2.6.2/clickhouse/columns/bool.cpp:1:
In function 'constexpr void std::_Destroy(_Tp*) [with _Tp = clickhouse::ColumnBool]',
    inlined from 'static void std::allocator_traits<std::allocator<void> >::destroy(allocator_type&, _Up*) [with _Up = clickhouse::ColumnBool]' at /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/alloc_traits.h:859:17,
    inlined from 'void std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_M_dispose() [with _Tp = clickhouse::ColumnBool; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]' at /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/shared_ptr_base.h:682:35,
    inlined from 'void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]' at /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/shared_ptr_base.h:423:18,
    inlined from 'void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]' at /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/shared_ptr_base.h:392:5,
    inlined from 'std::__shared_count<_Lp>::~__shared_count() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]' at /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/shared_ptr_base.h:1136:21,
    inlined from 'std::__shared_ptr<_Tp, _Lp>::~__shared_ptr() [with _Tp = clickhouse::Type; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]' at /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/shared_ptr_base.h:1610:7,
    inlined from 'std::shared_ptr<clickhouse::Type>::~shared_ptr()' at /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/shared_ptr.h:175:11,
    inlined from 'clickhouse::ColumnBool::ColumnBool()' at /tmp/fastnetmon.build.dir.lvNlt9T5xA/clickhouse-cpp-2.6.2/clickhouse/columns/bool.cpp:8:38:
/opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/stl_construct.h:166:22: error: array subscript 'clickhouse::ColumnBool[0]' is partly outside array bounds of 'unsigned char [24]' [-Werror=array-bounds=]
  166 |       __pointer->~_Tp();
      |       ~~~~~~~~~~~~~~~^~
In file included from /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/shared_ptr.h:53,
                 from /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/memory:82,
                 from /tmp/fastnetmon.build.dir.lvNlt9T5xA/clickhouse-cpp-2.6.2/clickhouse/columns/../types/types.h:7:
In constructor 'std::__shared_count<_Lp>::__shared_count(_Ptr) [with _Ptr = clickhouse::Type*; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]',
    inlined from 'std::__shared_count<_Lp>::__shared_count(_Ptr, std::false_type) [with _Ptr = clickhouse::Type*; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]' at /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/shared_ptr_base.h:992:22,
    inlined from 'std::__shared_ptr<_Tp, _Lp>::__shared_ptr(_Yp*) [with _Yp = clickhouse::Type; <template-parameter-2-2> = void; _Tp = clickhouse::Type; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]' at /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/shared_ptr_base.h:1555:17,
    inlined from 'std::shared_ptr<_Tp>::shared_ptr(_Yp*) [with _Yp = clickhouse::Type; <template-parameter-2-2> = void; _Tp = clickhouse::Type]' at /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/shared_ptr.h:213:46,
    inlined from 'static clickhouse::TypeRef clickhouse::Type::CreateSimple() [with T = bool]' at /tmp/fastnetmon.build.dir.lvNlt9T5xA/clickhouse-cpp-2.6.2/clickhouse/columns/../types/types.h:400:34,
    inlined from 'clickhouse::ColumnBool::ColumnBool()' at /tmp/fastnetmon.build.dir.lvNlt9T5xA/clickhouse-cpp-2.6.2/clickhouse/columns/bool.cpp:8:38:
/opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/shared_ptr_base.h:981:23: note: at offset 16 into object of size 24 allocated by 'operator new'
  981 |               _M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function 'constexpr void std::_Destroy(_Tp*) [with _Tp = clickhouse::ColumnBool]',
    inlined from 'static void std::allocator_traits<std::allocator<void> >::destroy(allocator_type&, _Up*) [with _Up = clickhouse::ColumnBool]' at /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/alloc_traits.h:859:17,
    inlined from 'void std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_M_dispose() [with _Tp = clickhouse::ColumnBool; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]' at /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/shared_ptr_base.h:682:35,
    inlined from 'void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]' at /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/shared_ptr_base.h:423:18,
    inlined from 'void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]' at /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/shared_ptr_base.h:392:5,
    inlined from 'std::__shared_count<_Lp>::~__shared_count() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]' at /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/shared_ptr_base.h:1136:21,
    inlined from 'std::__shared_ptr<_Tp, _Lp>::~__shared_ptr() [with _Tp = clickhouse::Type; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]' at /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/shared_ptr_base.h:1610:7,
    inlined from 'std::shared_ptr<clickhouse::Type>::~shared_ptr()' at /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/shared_ptr.h:175:11,
    inlined from 'clickhouse::ColumnBool::ColumnBool(std::vector<unsigned char>)' at /tmp/fastnetmon.build.dir.lvNlt9T5xA/clickhouse-cpp-2.6.2/clickhouse/columns/bool.cpp:14:38:
/opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/stl_construct.h:166:22: error: array subscript 'clickhouse::ColumnBool[0]' is partly outside array bounds of 'unsigned char [24]' [-Werror=array-bounds=]
  166 |       __pointer->~_Tp();
      |       ~~~~~~~~~~~~~~~^~
In constructor 'std::__shared_count<_Lp>::__shared_count(_Ptr) [with _Ptr = clickhouse::Type*; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]',
    inlined from 'std::__shared_count<_Lp>::__shared_count(_Ptr, std::false_type) [with _Ptr = clickhouse::Type*; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]' at /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/shared_ptr_base.h:992:22,
    inlined from 'std::__shared_ptr<_Tp, _Lp>::__shared_ptr(_Yp*) [with _Yp = clickhouse::Type; <template-parameter-2-2> = void; _Tp = clickhouse::Type; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]' at /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/shared_ptr_base.h:1555:17,
    inlined from 'std::shared_ptr<_Tp>::shared_ptr(_Yp*) [with _Yp = clickhouse::Type; <template-parameter-2-2> = void; _Tp = clickhouse::Type]' at /opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/shared_ptr.h:213:46,
    inlined from 'static clickhouse::TypeRef clickhouse::Type::CreateSimple() [with T = bool]' at /tmp/fastnetmon.build.dir.lvNlt9T5xA/clickhouse-cpp-2.6.2/clickhouse/columns/../types/types.h:400:34,
    inlined from 'clickhouse::ColumnBool::ColumnBool(std::vector<unsigned char>)' at /tmp/fastnetmon.build.dir.lvNlt9T5xA/clickhouse-cpp-2.6.2/clickhouse/columns/bool.cpp:14:38:
/opt/fastnetmon/libraries/gcc1610/include/c++/16.1.0/bits/shared_ptr_base.h:981:23: note: at offset 16 into object of size 24 allocated by 'operator new'
  981 |               _M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 73%] Building CXX object clickhouse/CMakeFiles/clickhouse-cpp-lib.dir/columns/enum.cpp.o

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions