#3583·seastar

FATAL: Exception during startup, aborting: std::invalid_argument (find_candidate(): failed to find candidate io_uring)

Author: mykaulCreated Aug 2, 2026Updated Aug 18, 2026

Apparently, under a loaded machine, detect_io_uring() may fail with -ENOMEM/-EAGAIN and there's no retry mechanism.

This leads to the following sequence of events:

  • Call 1 (candidates list) → io_uring probe fails transiently → "io_uring" not added to candidates.
  • Call 2 (default_backend()) → probes again, this time succeeds → returns "io_uring" as the chosen default name.
  • selection_value constructor does find_candidate("io_uring") against the candidates list from call 1, which doesn't have it → throws std::invalid_argument("find_candidate(): failed to find candidate io_uring") → uncaught at startup → FATAL: Exception during startup, aborting → process exits before ever acquiring a host_id.

Seen in https://github.com/scylladb/scylladb/pull/30955#issuecomment-5136374972 - a completely unrelated PR, the 3rd node failed to be added to the ScyllaDB Cluster with the above error.