Project

General

Profile

Actions

Bug #54415

open

Quincy 32bit compilation failure with deduction/substitution failed at BlueStore.cc:1855

Added by Duncan Bellamy about 2 years ago. Updated about 2 years ago.

Status:
Fix Under Review
Priority:
Normal
Assignee:
-
Target version:
% Done:

0%

Source:
Community (user)
Tags:
Backport:
Regression:
Yes
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Platform is alpine linux with the Quincy rc tarball compiler is gcc 11.2.1, all 32bit platforms have the same failure:

https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/646065#L3927

3889ninja: job failed: /usr/bin/g++ -DBOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION -DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT -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/builds/a16bitsysop/aports/community/ceph/src/ceph-17.1.0/build/src/include -I/builds/a16bitsysop/aports/community/ceph/src/ceph-17.1.0/src -isystem /builds/a16bitsysop/aports/community/ceph/src/ceph-17.1.0/build/include -isystem /builds/a16bitsysop/aports/community/ceph/src/ceph-17.1.0/src/xxHash -isystem /builds/a16bitsysop/aports/community/ceph/src/ceph-17.1.0/src/rapidjson/include -isystem /builds/a16bitsysop/aports/community/ceph/src/ceph-17.1.0/src/rocksdb/include -isystem /usr/include/fuse -Os -fomit-frame-pointer -g -Os -DNDEBUG -fPIC   -U_FORTIFY_SOURCE -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 -fno-new-ttp-matching -fstack-protector-strong -fdiagnostics-color=auto -std=c++17 -MD -MT src/os/CMakeFiles/os.dir/bluestore/BlueStore.cc.o -MF src/os/CMakeFiles/os.dir/bluestore/BlueStore.cc.o.d -o src/os/CMakeFiles/os.dir/bluestore/BlueStore.cc.o -c /builds/a16bitsysop/aports/community/ceph/src/ceph-17.1.0/src/os/bluestore/BlueStore.cc
3890/builds/a16bitsysop/aports/community/ceph/src/ceph-17.1.0/src/os/bluestore/BlueStore.cc: In member function 'int BlueStore::__restore_allocator(Allocator*, uint64_t*, uint64_t*)':
3891/builds/a16bitsysop/aports/community/ceph/src/ceph-17.1.0/src/os/bluestore/BlueStore.cc:18551:30: error: no matching function for call to 'min(uint64_t&, unsigned int)'
389218551 |     int req_bytes  = std::min(extents_bytes_left, sizeof(buffer));
3893      |                      ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3894In file included from /usr/include/c++/11.2.1/algorithm:61,
3895                 from /builds/a16bitsysop/aports/community/ceph/src/ceph-17.1.0/src/os/bluestore/BlueStore.cc:20:
3896/usr/include/c++/11.2.1/bits/stl_algobase.h:230:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::min(const _Tp&, const _Tp&)'
3897  230 |     min(const _Tp& __a, const _Tp& __b)
3898      |     ^~~
3899/usr/include/c++/11.2.1/bits/stl_algobase.h:230:5: note:   template argument deduction/substitution failed:
3900/builds/a16bitsysop/aports/community/ceph/src/ceph-17.1.0/src/os/bluestore/BlueStore.cc:18551:30: note:   deduced conflicting types for parameter 'const _Tp' ('long long unsigned int' and 'unsigned int')
390118551 |     int req_bytes  = std::min(extents_bytes_left, sizeof(buffer));
3902      |                      ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3903In file included from /usr/include/c++/11.2.1/algorithm:61,
3904                 from /builds/a16bitsysop/aports/community/ceph/src/ceph-17.1.0/src/os/bluestore/BlueStore.cc:20:
3905/usr/include/c++/11.2.1/bits/stl_algobase.h:278:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::min(const _Tp&, const _Tp&, _Compare)'
3906  278 |     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
3907      |     ^~~
3908/usr/include/c++/11.2.1/bits/stl_algobase.h:278:5: note:   template argument deduction/substitution failed:
3909/builds/a16bitsysop/aports/community/ceph/src/ceph-17.1.0/src/os/bluestore/BlueStore.cc:18551:30: note:   deduced conflicting types for parameter 'const _Tp' ('long long unsigned int' and 'unsigned int')
391018551 |     int req_bytes  = std::min(extents_bytes_left, sizeof(buffer));
3911      |                      ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3912In file included from /usr/include/c++/11.2.1/algorithm:62,
3913                 from /builds/a16bitsysop/aports/community/ceph/src/ceph-17.1.0/src/os/bluestore/BlueStore.cc:20:
3914/usr/include/c++/11.2.1/bits/stl_algo.h:3449:5: note: candidate: 'template<class _Tp> constexpr _Tp std::min(std::initializer_list<_Tp>)'
3915 3449 |     min(initializer_list<_Tp> __l)
3916      |     ^~~
3917/usr/include/c++/11.2.1/bits/stl_algo.h:3449:5: note:   template argument deduction/substitution failed:
3918/builds/a16bitsysop/aports/community/ceph/src/ceph-17.1.0/src/os/bluestore/BlueStore.cc:18551:30: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long unsigned int'
391918551 |     int req_bytes  = std::min(extents_bytes_left, sizeof(buffer));
3920      |                      ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3921In file included from /usr/include/c++/11.2.1/algorithm:62,
3922                 from /builds/a16bitsysop/aports/community/ceph/src/ceph-17.1.0/src/os/bluestore/BlueStore.cc:20:
3923/usr/include/c++/11.2.1/bits/stl_algo.h:3455:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::min(std::initializer_list<_Tp>, _Compare)'
3924 3455 |     min(initializer_list<_Tp> __l, _Compare __comp)
3925      |     ^~~
3926/usr/include/c++/11.2.1/bits/stl_algo.h:3455:5: note:   template argument deduction/substitution failed:
3927/builds/a16bitsysop/aports/community/ceph/src/ceph-17.1.0/src/os/bluestore/BlueStore.cc:18551:30: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long unsigned int'
392818551 |     int req_bytes  = std::min(extents_bytes_left, sizeof(buffer));
3929      |                      ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3930ninja: subcommand failed

I tried changing the

i 
decleration (https://github.com/ceph/ceph/blob/8299cd4c9bdb8ebccc5648906737e154090a2499/src/os/bluestore/BlueStore.cc#L1836)
to
unsigned long long 
from
auto 
but that didn’t work

Actions #1

Updated by Kefu Chai about 2 years ago

  • Status changed from New to Fix Under Review
  • Pull request ID set to 45185
Actions

Also available in: Atom PDF