• Bug#1103358: ceph: FTBFS in testing/arm64: c++: fatal error: Killed sig

    From Lucas Nussbaum@21:1/5 to All on Wed Apr 16 21:00:02 2025
    Source: ceph
    Version: 18.2.4+ds-13
    Severity: serious
    Justification: FTBFS
    Tags: trixie sid ftbfs
    User: lucas@debian.org
    Usertags: ftbfs-20250416 ftbfs-trixie

    Hi,

    During a rebuild of all packages in testing (trixie), your package failed
    to build on arm64.


    Relevant part (hopefully):
    make[4]: Entering directory '/build/reproducible-path/ceph-18.2.4+ds/obj-aarch64-linux-gnu'
    [ 81%] Building CXX object src/tools/CMakeFiles/ceph-objectstore-tool.dir/ceph_objectstore_tool.cc.o
    cd /build/reproducible-path/ceph-18.2.4+ds/obj-aarch64-linux-gnu/src/tools && /usr/bin/c++ -DBOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION -DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT -DBOOST_ATOMIC_DYN_LINK -DBOOST_ATOMIC_NO_LIB -DBOOST_DATE_TIME_DYN_LINK -
    DBOOST_DATE_TIME_NO_LIB -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_IOSTREAMS_NO_LIB -DBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS -DBOOST_MPL_LIMIT_LIST_SIZE=30 -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_PROGRAM_OPTIONS_NO_LIB -DBOOST_RANDOM_DYN_LINK -DBOOST_RANDOM_NO_
    LIB -DBOOST_SYSTEM_DYN_LINK -DBOOST_SYSTEM_NO_LIB -DBOOST_THREAD_DYN_LINK -DBOOST_THREAD_NO_LIB -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_REENTRANT -D_THREAD_SAFE -D__CEPH__ -D__STDC_FORMAT_MACROS -D__linux__ -I/build/
    reproducible-path/ceph-18.2.4+ds/obj-aarch64-linux-gnu/src/include -I/build/reproducible-path/ceph-18.2.4+ds/src -I/build/reproducible-path/ceph-18.2.4+ds/src/dmclock/src -I/build/reproducible-path/ceph-18.2.4+ds/src/dmclock/support/src -isystem /build/
    reproducible-path/ceph-18.2.4+ds/obj-aarch64-linux-gnu/include -isystem /build/reproducible-path/ceph-18.2.4+ds/src/xxHash -isystem /build/reproducible-path/ceph-18.2.4+ds/src/rocksdb/include -isystem /usr/include/fuse3 -g -O2 -ffile-prefix-map=/build/
    reproducible-path/ceph-18.2.4+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -DFMT_DEPRECATED_OSTREAM -fpermissive -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/
    reproducible-path/ceph-18.2.4+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -DFMT_DEPRECATED_OSTREAM -fpermissive -std=c++20 -fPIE -U_FORTIFY_SOURCE -fno-builtin-malloc -fno-builtin-
    calloc -fno-builtin-realloc -fno-builtin-free -Wall -fno-strict-aliasing -fsigned-char -Wtype-limits -Wignored-qualifiers -Wpointer-arith -Werror=format-security -Winit-self -Wno-unknown-pragmas -Wnon-virtual-dtor -Wno-ignored-qualifiers -ftemplate-depth-
    1024 -Wpessimizing-move -Wredundant-move -Wstrict-null-sentinel -Woverloaded-virtual -fstack-protector-strong -fdiagnostics-color=auto -MD -MT src/tools/CMakeFiles/ceph-objectstore-tool.dir/ceph_objectstore_tool.cc.o -MF CMakeFiles/ceph-objectstore-tool.
    dir/ceph_objectstore_tool.cc.o.d -o CMakeFiles/ceph-objectstore-tool.dir/ceph_objectstore_tool.cc.o -c /build/reproducible-path/ceph-18.2.4+ds/src/tools/ceph_objectstore_tool.cc
    In file included from /build/reproducible-path/ceph-18.2.4+ds/src/global/global_init.h:23,
    from /build/reproducible-path/ceph-18.2.4+ds/src/tools/ceph_monstore_tool.cc:25:
    /build/reproducible-path/ceph-18.2.4+ds/src/common/ceph_context.h: In member function ‘void ceph::common::CephContext::set_mon_addrs(const std::vector<entity_addrvec_t>&)’:
    /build/reproducible-path/ceph-18.2.4+ds/src/common/ceph_context.h:285:26: warning: ‘void std::atomic_store_explicit(shared_ptr<_Tp>*, shared_ptr<_Tp>, memory_order) [with _Tp = vector<entity_addrvec_t>]’ is deprecated: use 'std::atomic<std::shared_
    ptr<T>>' instead [-Wdeprecated-declarations]
    285 | atomic_store_explicit(&_mon_addrs, std::move(ptr), std::memory_order_relaxed);
    | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /usr/include/c++/14/memory:81,
    from /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:35,
    from /usr/include/boost/smart_ptr/detail/shared_count.hpp:27,
    from /usr/include/boost/smart_ptr/shared_ptr.hpp:18,
    from /usr/include/boost/shared_ptr.hpp:17,
    from /usr/include/boost/program_options/variables_map.hpp:13,
    from /build/reproducible-path/ceph-18.2.4+ds/src/tools/ceph_monstore_tool.cc:13:
    /usr/include/c++/14/bits/shared_ptr_atomic.h:173:5: note: declared here
    173 | atomic_store_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r,
    | ^~~~~~~~~~~~~~~~~~~~~ /build/reproducible-path/ceph-18.2.4+ds/src/common/ceph_context.h: In member function ‘std::shared_ptr<std::vector<entity_addrvec_t> > ceph::common::CephContext::get_mon_addrs() const’:
    /build/reproducible-path/ceph-18.2.4+ds/src/common/ceph_context.h:288:36: warning: ‘std::shared_ptr<_Tp> std::atomic_load_explicit(const shared_ptr<_Tp>*, memory_order) [with _Tp = vector<entity_addrvec_t>]’ is deprecated: use 'std::atomic<std::
    shared_ptr<T>>' instead [-Wdeprecated-declarations]
    288 | auto ptr = atomic_load_explicit(&_mon_addrs, std::memory_order_relaxed);
    | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /usr/include/c++/14/bits/shared_ptr_atomic.h:133:5: note: declared here
    133 | atomic_load_explicit(const shared_ptr<_Tp>* __p, memory_order)
    | ^~~~~~~~~~~~~~~~~~~~
    In file included from /build/reproducible-path/ceph-18.2.4+ds/src/global/global_init.h:23,
    from /build/reproducible-path/ceph-18.2.4+ds/src/tools/ceph_objectstore_tool.cc:29:
    /build/reproducible-path/ceph-18.2.4+ds/src/common/ceph_context.h: In member function ‘void ceph::common::CephContext::set_mon_addrs(const std::vector<entity_addrvec_t>&)’:
    /build/reproducible-path/ceph-18.2.4+ds/src/common/ceph_context.h:285:26: warning: ‘void std::atomic_store_explicit(shared_ptr<_Tp>*, shared_ptr<_Tp>, memory_order) [with _Tp = vector<entity_addrvec_t>]’ is deprecated: use 'std::atomic<std::shared_
    ptr<T>>' instead [-Wdeprecated-declarations]
    285 | atomic_store_explicit(&_mon_addrs, std::move(ptr), std::memory_order_relaxed);
    | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /usr/include/c++/14/memory:81,
    from /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:35,
    from /usr/include/boost/smart_ptr/detail/shared_count.hpp:27,
    from /usr/include/boost/smart_ptr/shared_ptr.hpp:18,
    from /usr/include/boost/shared_ptr.hpp:17,
    from /usr/include/boost/program_options/variables_map.hpp:13,
    from /build/reproducible-path/ceph-18.2.4+ds/src/tools/ceph_objectstore_tool.cc:15:
    /usr/include/c++/14/bits/shared_ptr_atomic.h:173:5: note: declared here
    173 | atomic_store_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r,
    | ^~~~~~~~~~~~~~~~~~~~~ /build/reproducible-path/ceph-18.2.4+ds/src/common/ceph_context.h: In member function ‘std::shared_ptr<std::vector<entity_addrvec_t> > ceph::common::CephContext::get_mon_addrs() const’:
    /build/reproducible-path/ceph-18.2.4+ds/src/common/ceph_context.h:288:36: warning: ‘std::shared_ptr<_Tp> std::atomic_load_explicit(const shared_ptr<_Tp>*, memory_order) [with _Tp = vector<entity_addrvec_t>]’ is deprecated: use 'std::atomic<std::
    shared_ptr<T>>' instead [-Wdeprecated-declarations]
    288 | auto ptr = atomic_load_explicit(&_mon_addrs, std::memory_order_relaxed);
    | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /usr/include/c++/14/bits/shared_ptr_atomic.h:133:5: note: declared here
    133 | atomic_load_explicit(const shared_ptr<_Tp>* __p, memory_order)
    | ^~~~~~~~~~~~~~~~~~~~
    In file included from /build/reproducible-path/ceph-18.2.4+ds/src/tools/ceph_objectstore_tool.cc:37:
    /build/reproducible-path/ceph-18.2.4+ds/src/osd/OSD.h: In member function ‘void OSD::set_osdmap(OSDMapRef)’:
    /build/reproducible-path/ceph-18.2.4+ds/src/osd/OSD.h:1690:22: warning: ‘void std::atomic_store(shared_ptr<_Tp>*, shared_ptr<_Tp>) [with _Tp = const OSDMap]’ is deprecated: use 'std::atomic<std::shared_ptr<T>>' instead [-Wdeprecated-declarations]
    1690 | std::atomic_store(&_osdmap, osdmap);
    | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/shared_ptr_atomic.h:183:5: note: declared here
    183 | atomic_store(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r)
    | ^~~~~~~~~~~~ /build/reproducible-path/ceph-18.2.4+ds/src/osd/OSD.h: In member function ‘OSDMapRef OSD::get_osdmap() const’:
    /build/reproducible-path/ceph-18.2.4+ds/src/osd/OSD.h:1693:28: warning: ‘std::shared_ptr<_Tp> std::atomic_load(const shared_ptr<_Tp>*) [with _Tp = const OSDMap]’ is deprecated: use 'std::atomic<std::shared_ptr<T>>' instead [-Wdeprecated-
    declarations]
    1693 | return std::atomic_load(&_osdmap);
    | ~~~~~~~~~~~~~~~~^~~~~~~~~~ /usr/include/c++/14/bits/shared_ptr_atomic.h:142:5: note: declared here
    142 | atomic_load(const shared_ptr<_Tp>* __p)
    | ^~~~~~~~~~~
    c++: fatal error: Killed signal terminated program cc1plus
    compilation terminated.
    make[4]: *** [src/test/librbd/CMakeFiles/unittest_librbd.dir/build.make:824: src/test/librbd/CMakeFiles/unittest_librbd.dir/migration/test_mock_HttpClient.cc.o] Error 1


    The full build log is available from: http://qa-logs.debian.net/2025/04/16/ceph_18.2.4+ds-13_testing-arm64.log

    All bugs filed during this archive rebuild are listed at: https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20250416;users=lucas@debian.org
    or: https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20250416&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

    A list of current common problems and possible solutions is available at http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

    If you reassign this bug to another package, please mark it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects

    If you fail to reproduce this, please provide a build log and diff it with mine so that we can identify if something relevant changed in the meantime.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lucas Nussbaum@21:1/5 to Daniel Baumann on Thu Apr 17 07:10:01 2025
    Hi Daniel,

    On 17/04/25 at 06:56 +0200, Daniel Baumann wrote:
    severity 1103358 important
    tag 1103358 + moreinfo
    thanks

    Hi,

    ceph builds fine on arm64 and I just did a successfull rebuild as well.

    Looking at the buildlog, it looks more like the issues comming from the
    crude cpu/ram-based calculation to set the number of parallel jobs. I've replaced that with a simpler and more correct variant (where less ram than cpu cores is accounted for)..

    ..how much cores and ram does the buildd have you've run the build on? if
    you have less than 4g per core, the build will currently fail.

    16 GB total, 4 cores (so exactly 4 GB per core)

    Lucas

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Daniel Baumann@21:1/5 to Lucas Nussbaum on Thu Apr 17 08:10:01 2025
    On 4/17/25 07:06, Lucas Nussbaum wrote:
    16 GB total, 4 cores (so exactly 4 GB per core)

    hm, interesting.. can you run it again just to be sure that it's not a
    one-off?

    (on other architectures, this has been an issue in the last couple of
    months, but not on arm64 so far; however, before spending lots of time
    on this and on my rpi5 it build fine, a n>1 failure would be nice).

    Regards,
    Daniel

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Daniel Baumann@21:1/5 to Lucas Nussbaum on Thu Apr 17 13:40:02 2025
    reopen 1103358 thanks
    retitle 1103358 make max-parallel more accurate and verbose
    thanks

    On 4/17/25 10:07, Lucas Nussbaum wrote:
    Actually it already failed twice on that system, because in my archive rebuilds I retry failures automatically to be able to ignore random
    failures.

    wow, cool feature - didn't know.

    But I tried it again on a larger VM (32 GB, 8 cores) and it succeeded.
    So let's close it, and I'll switch to that larger VM for future
    rebuilds.

    thanks for checking.

    Let's keep the bug open until:

    * I have the "new" simplified max-parallel calculation uploaded. my
    hunch is that the current 4gb/core is to good to be true due to
    additional overhead consumption.

    * Additionally I ment to add a "information output" during the build
    where it lists number of cores, ram size and the calculated
    max-parallel so that these things can be spottet with less
    roundtrips directly from the build log.

    I plan do to that for the 18.2.5 point-release update (which currently
    FTBFS for other reasons and has two regressions that need fixing over
    18.2.4, sigh).

    Regards,
    Daniel

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)