Project

General

Profile

Actions

Bug #64587

closed

seastar reactor_backend.cc compile error: no member named 'features' in 'io_uring'

Added by Rixin Luo 3 months ago. Updated 2 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
-
% Done:

0%

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

Description

From: https://jenkins.ceph.com/job/ceph-pull-requests/129984/console

[663/2740] Building CXX object src/seastar/CMakeFiles/seastar.dir/src/core/reactor_backend.cc.o
FAILED: src/seastar/CMakeFiles/seastar.dir/src/core/reactor_backend.cc.o 
/usr/bin/ccache /usr/bin/clang++-14 -DBOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION -DBOOST_ASIO_HAS_IO_URING -DBOOST_ASIO_NO_TS_EXECUTORS -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_PROGRAM_OPTIONS_NO_LIB -DBOOST_THREAD_DYN_LINK -DBOOST_THREAD_NO_LIB -DHAVE_CONFIG_H -DSEASTAR_API_LEVEL=6 -DSEASTAR_BROKEN_SOURCE_LOCATION -DSEASTAR_DEBUG -DSEASTAR_DEBUG_PROMISE -DSEASTAR_DEBUG_SHARED_PTR -DSEASTAR_DEFAULT_ALLOCATOR -DSEASTAR_DEFERRED_ACTION_REQUIRE_NOEXCEPT -DSEASTAR_HAS_MEMBARRIER -DSEASTAR_HAVE_ASAN_FIBER_SUPPORT -DSEASTAR_HAVE_NUMA -DSEASTAR_HAVE_SYSTEMTAP_SDT -DSEASTAR_HAVE_URING -DSEASTAR_LOGGER_TYPE_STDOUT -DSEASTAR_PTHREAD_ATTR_SETAFFINITY_NP -DSEASTAR_SCHEDULING_GROUPS_COUNT=16 -DSEASTAR_SHUFFLE_TASK_QUEUE -DSEASTAR_SSTRING -DSEASTAR_STRERROR_R_CHAR_P -DSEASTAR_THREAD_STACK_GUARDS -DSEASTAR_TYPE_ERASE_MORE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_REENTRANT -D_THREAD_SAFE -D__CEPH__ -D__STDC_FORMAT_MACROS -D__linux__ -I/home/jenkins-build/build/workspace/ceph-pull-requests/build/src/include -I/home/jenkins-build/build/workspace/ceph-pull-requests/src -I/home/jenkins-build/build/workspace/ceph-pull-requests/src/seastar/include -I/home/jenkins-build/build/workspace/ceph-pull-requests/build/src/seastar/gen/include -I/home/jenkins-build/build/workspace/ceph-pull-requests/build/src/seastar/gen/src -I/home/jenkins-build/build/workspace/ceph-pull-requests/src/seastar/src -isystem /opt/ceph/include -isystem /home/jenkins-build/build/workspace/ceph-pull-requests/build/include -isystem /home/jenkins-build/build/workspace/ceph-pull-requests/src/jaegertracing/opentelemetry-cpp/api/include -isystem /home/jenkins-build/build/workspace/ceph-pull-requests/src/jaegertracing/opentelemetry-cpp/exporters/jaeger/include -isystem /home/jenkins-build/build/workspace/ceph-pull-requests/src/jaegertracing/opentelemetry-cpp/ext/include -isystem /home/jenkins-build/build/workspace/ceph-pull-requests/src/jaegertracing/opentelemetry-cpp/sdk/include -isystem /home/jenkins-build/build/workspace/ceph-pull-requests/src/xxHash -isystem /home/jenkins-build/build/workspace/ceph-pull-requests/src/fmt/include -isystem /home/jenkins-build/build/workspace/ceph-pull-requests/build/src/liburing/src/include -g -Werror -fPIC -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -DBOOST_PHOENIX_STL_TUPLE_H_ -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 -Wno-inconsistent-missing-override -Wno-mismatched-tags -Wno-unused-private-field -Wno-address-of-packed-member -Wno-unused-function -Wno-unused-local-typedef -Wno-varargs -Wno-gnu-designator -Wno-missing-braces -Wno-parentheses -Wno-deprecated-register -DCEPH_DEBUG_MUTEX -D_GLIBCXX_ASSERTIONS -fdiagnostics-color=auto -U_FORTIFY_SOURCE -Wno-error=unused-result "-Wno-error=#warnings" -fstack-clash-protection -UNDEBUG -Werror -Wimplicit-fallthrough -Wdeprecated -Wno-error=deprecated -fvisibility=hidden -gz -DSEASTAR_NO_EXCEPTION_HACK -Wno-error -Wno-sign-compare -Wno-attributes -Wno-pessimizing-move -Wno-non-virtual-dtor -fsanitize=address -fsanitize=undefined -fno-sanitize=vptr -std=gnu++20 -MD -MT src/seastar/CMakeFiles/seastar.dir/src/core/reactor_backend.cc.o -MF src/seastar/CMakeFiles/seastar.dir/src/core/reactor_backend.cc.o.d -o src/seastar/CMakeFiles/seastar.dir/src/core/reactor_backend.cc.o -c /home/jenkins-build/build/workspace/ceph-pull-requests/src/seastar/src/core/reactor_backend.cc
/home/jenkins-build/build/workspace/ceph-pull-requests/src/seastar/src/core/reactor_backend.cc:1231:15: error: no member named 'features' in 'io_uring'
    if (~ring.features & required_features) {
         ~~~~ ^
/home/jenkins-build/build/workspace/ceph-pull-requests/src/seastar/src/core/reactor_backend.cc:1232:147: error: no member named 'features' in 'io_uring'
        maybe_throw(std::runtime_error(fmt::format("missing required io_ring features, required 0x{:x} available 0x{:x}", required_features, ring.features)));
                                                                                                                                             ~~~~ ^
/home/jenkins-build/build/workspace/ceph-pull-requests/src/seastar/src/core/reactor_backend.cc:1241:49: error: no type named 'io_uring_free_probe' in the global namespace; did you mean 'io_uring_probe'?
    auto free_probe = defer([&] () noexcept { ::io_uring_free_probe(probe); });
                                              ~~^~~~~~~~~~~~~~~~~~~
                                                io_uring_probe
/home/jenkins-build/build/workspace/ceph-pull-requests/build/src/liburing/src/include/liburing/io_uring.h:289:8: note: 'io_uring_probe' declared here
struct io_uring_probe {
       ^
/home/jenkins-build/build/workspace/ceph-pull-requests/src/seastar/src/core/reactor_backend.cc:1241:68: warning: parentheses were disambiguated as redundant parentheses around declaration of variable named 'probe' [-Wvexing-parse]
    auto free_probe = defer([&] () noexcept { ::io_uring_free_probe(probe); });
                                                                   ^~~~~~~
/home/jenkins-build/build/workspace/ceph-pull-requests/src/seastar/src/core/reactor_backend.cc:1241:47: note: add enclosing parentheses to perform a function-style cast
    auto free_probe = defer([&] () noexcept { ::io_uring_free_probe(probe); });
                                              ^
                                              (                           )
/home/jenkins-build/build/workspace/ceph-pull-requests/src/seastar/src/core/reactor_backend.cc:1241:68: note: remove parentheses to silence this warning
    auto free_probe = defer([&] () noexcept { ::io_uring_free_probe(probe); });
                                                                   ^     ~

1 warning and 3 errors generated.


Related issues 1 (0 open1 closed)

Related to crimson - Bug #64789: crimson unitest timeout (Reactor backend: io_uring) as liburing mismatchResolvedRixin Luo

Actions
Actions #1

Updated by Rixin Luo 3 months ago

  • Assignee set to Rixin Luo
Actions #2

Updated by Rixin Luo 3 months ago

  • Status changed from New to Fix Under Review
  • Pull request ID set to 55770
Actions #3

Updated by chunmei liu 3 months ago

that is because seastar search build/src/liburing/src/include/liburing.h for include file, and that is very old liburing version. we should let seastar search system include since system has already installed liburing library.

Actions #4

Updated by Rixin Luo 2 months ago

  • Status changed from Fix Under Review to Resolved
  • Pull request ID changed from 55770 to 55787
Actions #5

Updated by Rixin Luo 2 months ago

  • Related to Bug #64789: crimson unitest timeout (Reactor backend: io_uring) as liburing mismatch added
Actions

Also available in: Atom PDF