ct/reconciler: add retry mechanism for metastore transport errors#2
Open
wdberkeley wants to merge 3 commits intoretry-builder-metastorefrom
Open
ct/reconciler: add retry mechanism for metastore transport errors#2wdberkeley wants to merge 3 commits intoretry-builder-metastorefrom
wdberkeley wants to merge 3 commits intoretry-builder-metastorefrom
Conversation
Change add_objects, replace_objects, and commit_objects method signatures to take const refs instead of taking unique_ptr by value. This enables retry scenarios where the builder needs to remain usable after the call. The replicated metastore's release method is no longer used and is removed. The simple metastore still uses this method for testing, so it remains.
They aren't needed for metastore add_objects, replace_objects, and commit_objects calls, and are potentially confusing.
…errors Add retry logic to reconciler's metastore add_objects calls to handle transport errors. Previously, the reconciler would immediately fail and abandon the reconciliation round on any metastore error.
eebea5e to
7f5a333
Compare
wdberkeley
pushed a commit
that referenced
this pull request
Nov 11, 2025
Fix a leak when the keytab cannot be found.
```
Direct leak of 120 byte(s) in 3 object(s) allocated from:
#0 0x58cc434ea154 in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:67:3
#1 0x736a590858ad in krb5_build_principal_alloc_va ../../.././src/lib/krb5/krb/bld_princ.c:124:9
#2 0x736a590858ad in krb5_build_principal ../../.././src/lib/krb5/krb/bld_princ.c:148:14
redpanda-data#3 0x736a595ae86a in kg_acceptor_princ ../../.././src/lib/gssapi/krb5/naming_exts.c:165:12
redpanda-data#4 0x736a59560092 in acquire_accept_cred ../../.././src/lib/gssapi/krb5/acquire_cred.c:199:16
redpanda-data#5 0x736a59560092 in acquire_cred_context ../../.././src/lib/gssapi/krb5/acquire_cred.c:845:15
redpanda-data#6 0x736a5955f43d in acquire_cred_from ../../.././src/lib/gssapi/krb5/acquire_cred.c:1320:11
redpanda-data#7 0x736a5955ed49 in krb5_gss_acquire_cred_from ../../.././src/lib/gssapi/krb5/acquire_cred.c:1348:12
redpanda-data#8 0x736a594fa4c4 in gss_add_cred_from ../../.././src/lib/gssapi/mechglue/g_acquire_cred.c:544:11
redpanda-data#9 0x736a594f9361 in gss_acquire_cred_from ../../.././src/lib/gssapi/mechglue/g_acquire_cred.c:190:10
redpanda-data#10 0x736a595cde33 in get_available_mechs ../../.././src/lib/gssapi/spnego/spnego_mech.c:3109:18
redpanda-data#11 0x736a595cd788 in spnego_gss_acquire_cred_from ../../.././src/lib/gssapi/spnego/spnego_mech.c:377:11
redpanda-data#12 0x736a594fa4c4 in gss_add_cred_from ../../.././src/lib/gssapi/mechglue/g_acquire_cred.c:544:11
redpanda-data#13 0x736a594f9361 in gss_acquire_cred_from ../../.././src/lib/gssapi/mechglue/g_acquire_cred.c:190:10
redpanda-data#14 0x58cc523cf7de in security::gssapi_authenticator::impl::init() src/v/security/gssapi_authenticator.cc:293:20
```
The associated log line is:
```
INFO 2025-11-10 12:29:46,682 security - gssapi_authenticator.cc:71 - GSS_API error gss init failed to acquire credentials for principal redpanda in keytab /var/lib/redpanda/redpanda.keytab: No credentials were supplied, or the credentials were unavailable or inaccessible
```
Signed-off-by: Ben Pope <ben@redpanda.com>
wdberkeley
added a commit
that referenced
this pull request
Nov 12, 2025
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
wdberkeley
pushed a commit
that referenced
this pull request
Dec 8, 2025
Fix a leak when the keytab cannot be found.
```
Direct leak of 120 byte(s) in 3 object(s) allocated from:
#0 0x58cc434ea154 in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:67:3
#1 0x736a590858ad in krb5_build_principal_alloc_va ../../.././src/lib/krb5/krb/bld_princ.c:124:9
#2 0x736a590858ad in krb5_build_principal ../../.././src/lib/krb5/krb/bld_princ.c:148:14
redpanda-data#3 0x736a595ae86a in kg_acceptor_princ ../../.././src/lib/gssapi/krb5/naming_exts.c:165:12
redpanda-data#4 0x736a59560092 in acquire_accept_cred ../../.././src/lib/gssapi/krb5/acquire_cred.c:199:16
redpanda-data#5 0x736a59560092 in acquire_cred_context ../../.././src/lib/gssapi/krb5/acquire_cred.c:845:15
redpanda-data#6 0x736a5955f43d in acquire_cred_from ../../.././src/lib/gssapi/krb5/acquire_cred.c:1320:11
redpanda-data#7 0x736a5955ed49 in krb5_gss_acquire_cred_from ../../.././src/lib/gssapi/krb5/acquire_cred.c:1348:12
redpanda-data#8 0x736a594fa4c4 in gss_add_cred_from ../../.././src/lib/gssapi/mechglue/g_acquire_cred.c:544:11
redpanda-data#9 0x736a594f9361 in gss_acquire_cred_from ../../.././src/lib/gssapi/mechglue/g_acquire_cred.c:190:10
redpanda-data#10 0x736a595cde33 in get_available_mechs ../../.././src/lib/gssapi/spnego/spnego_mech.c:3109:18
redpanda-data#11 0x736a595cd788 in spnego_gss_acquire_cred_from ../../.././src/lib/gssapi/spnego/spnego_mech.c:377:11
redpanda-data#12 0x736a594fa4c4 in gss_add_cred_from ../../.././src/lib/gssapi/mechglue/g_acquire_cred.c:544:11
redpanda-data#13 0x736a594f9361 in gss_acquire_cred_from ../../.././src/lib/gssapi/mechglue/g_acquire_cred.c:190:10
redpanda-data#14 0x58cc523cf7de in security::gssapi_authenticator::impl::init() src/v/security/gssapi_authenticator.cc:293:20
```
The associated log line is:
```
INFO 2025-11-10 12:29:46,682 security - gssapi_authenticator.cc:71 - GSS_API error gss init failed to acquire credentials for principal redpanda in keytab /var/lib/redpanda/redpanda.keytab: No credentials were supplied, or the credentials were unavailable or inaccessible
```
Signed-off-by: Ben Pope <ben@redpanda.com>
(cherry picked from commit c6dec53)
wdberkeley
pushed a commit
that referenced
this pull request
Jan 2, 2026
Seems like the `finally()` clause here was being invoked long after
the owning semaphore was destructed. Add a `_gate` holder to prevent
any heap-use-after-free.
```
#0 0x55f4110f85a7 in seastar::basic_semaphore<ssx::basic_checkpoint_mutex<seastar::lowres_clock>::checkpoint_mutex_exception_factory, seastar::lowres_clock>::available_units() const external/+non_module_dependencies+seastar/include/seastar/core/semaphore.hh:462:55
#1 0x55f4110f85a7 in ssx::basic_checkpoint_mutex<seastar::lowres_clock>::release() bazel-out/k8-dbg/bin/src/v/ssx/_virtual_includes/checkpoint_mutex/ssx/checkpoint_mutex.h:221:9
#2 0x55f4110f85a7 in ssx::basic_mutex_units<seastar::lowres_clock>::release() bazel-out/k8-dbg/bin/src/v/ssx/_virtual_includes/checkpoint_mutex/ssx/checkpoint_mutex.h:271:19
redpanda-data#3 0x55f4110d7cba in ssx::basic_mutex_units<seastar::lowres_clock>::~basic_mutex_units() bazel-out/k8-dbg/bin/src/v/ssx/_virtual_includes/checkpoint_mutex/ssx/checkpoint_mutex.h:247:9
redpanda-data#4 0x55f4110d7cba in std::__1::__optional_destruct_base<ssx::basic_mutex_units<seastar::lowres_clock>, false>::~__optional_destruct_base[abi:se200100]() external/toolchains_llvm++llvm+current_llvm_toolchain/bin/../../toolchains_llvm++llvm+current_llvm_toolchain_llvm/bin/../include/c++/v1/optional:300:15
redpanda-data#5 0x55f4110d7cba in cloud_topics::l0::read_debounce<seastar::lowres_clock>::process_single_request(cloud_topics::l0::read_request<seastar::lowres_clock>*)::'lambda'()::~() src/v/cloud_topics/level_zero/read_debounce/read_debounce.cc:151:20
redpanda-data#6 0x55f4110fdf23 in seastar::noncopyable_function<seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>> (seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>&&)>::~noncopyable_function() external/+non_module_dependencies+seastar/include/seastar/util/noncopyable_function.hh:200:9
redpanda-data#7 0x55f4110fdf23 in seastar::continuation<seastar::internal::promise_base_with_type<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>, seastar::noncopyable_function<seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>> (seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>&&)>, seastar::futurize<seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>>::type seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>::then_wrapped_nrvo<seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>, seastar::noncopyable_function<seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>> (seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>&&)>>(seastar::noncopyable_function<seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>> (seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>&&)>&&)::'lambda'(seastar::internal::promise_base_with_type<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>&&, seastar::noncopyable_function<seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>> (seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>&&)>&&, seastar::future_state<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>&&), std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>::~continuation() external/+non_module_dependencies+seastar/include/seastar/core/future.hh:724:8
redpanda-data#8 0x55f4110fdc82 in seastar::continuation<seastar::internal::promise_base_with_type<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>, seastar::noncopyable_function<seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>> (seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>&&)>, seastar::futurize<seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>>::type seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>::then_wrapped_nrvo<seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>, seastar::noncopyable_function<seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>> (seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>&&)>>(seastar::noncopyable_function<seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>> (seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>&&)>&&)::'lambda'(seastar::internal::promise_base_with_type<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>&&, seastar::noncopyable_function<seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>> (seastar::future<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>&&)>&&, seastar::future_state<std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>&&), std::__1::expected<cloud_topics::l0::dataplane_query_result, cloud_topics::errc>>::run_and_dispose() external/+non_module_dependencies+seastar/include/seastar/core/future.hh:745:9
redpanda-data#9 0x55f42046b967 in seastar::reactor::task_queue::run_tasks() external/+non_module_dependencies+seastar/src/core/reactor.cc:2747:14
redpanda-data#10 0x55f42047256c in seastar::reactor::task_queue_group::run_tasks() external/+non_module_dependencies+seastar/src/core/reactor.cc:3251:27
redpanda-data#11 0x55f420471f91 in seastar::reactor::task_queue_group::run_some_tasks() external/+non_module_dependencies+seastar/src/core/reactor.cc:3235:5
redpanda-data#12 0x55f4204741e6 in seastar::reactor::do_run() external/+non_module_dependencies+seastar/src/core/reactor.cc:3418:20
redpanda-data#13 0x55f4204db2e7 in seastar::smp::configure(seastar::smp_options const&, seastar::reactor_options const&)::$_0::operator()() const external/+non_module_dependencies+seastar/src/core/reactor.cc:4732:22
redpanda-data#14 0x55f4204db2e7 in decltype(std::declval<seastar::smp::configure(seastar::smp_options const&, seastar::reactor_options const&)::$_0&>()()) std::__1::__invoke[abi:se200100]<seastar::smp::configure(seastar::smp_options const&, seastar::reactor_options const&)::$_0&>(seastar::smp::configure(seastar::smp_options const&, seastar::reactor_options const&)::$_0&) external/toolchains_llvm++llvm+current_llvm_toolchain/bin/../../toolchains_llvm++llvm+current_llvm_toolchain_llvm/bin/../include/c++/v1/__type_traits/invoke.h:179:25
```
wdberkeley
pushed a commit
that referenced
this pull request
Jan 21, 2026
This test replicates known issues with the `<=>` operator and hopefully
will prevent other issues from going unnoticed.
An example of the new test reproducing known issues;
```
$ bazel test //src/v/bytes/tests:iobuf_fuzz --config=sanitizer --runs_per_test=100 00:17:56 [8/1855]
INFO: Invocation ID: ed80b7dc-a90c-495f-a647-22d11fc5c38c
INFO: Analyzed target //src/v/bytes/tests:iobuf_fuzz (0 packages loaded, 0 targets configured).
FAIL: //src/v/bytes/tests:iobuf_fuzz (run 18 of 100) (Exit 1) (see /home/brandonallard/data/.cache/bazel/_bazel_brandonallard/50acd7c106e570e66c6351a7103182f1/execroot/_main/bazel-out/k8-dbg/testlogs/src/v/bytes/tests/iobuf_fuzz/run_18_of_100/test.log)
INFO: From Testing //src/v/bytes/tests:iobuf_fuzz (run 18 of 100):
==================== Test output for //src/v/bytes/tests:iobuf_fuzz (run 18 of 100):
INFO: Running with entropic power schedule (0xFF, 100).
INFO: Seed: 2773365366
INFO: A corpus is not provided, starting from an empty corpus
WARNING: no interesting inputs were found so far. Is the code instrumented for coverage?
This may also happen if the target rejected all inputs we tried so far
src/v/bytes/iobuf.cc:192:52: runtime error: null pointer passed as argument 2, which is declared to never be null
external/+non_module_dependencies+x86_64_sysroot/usr/include/string.h:65:33: note: nonnull attribute specified here
#0 0x7ff296ec461d in iobuf::operator<=>(iobuf const&) const src/v/bytes/iobuf.cc:192:28
#1 0x55d29d4a27b4 in iobuf_ops::compare_iobufs(std::__1::basic_string_view<char, std::__1::char_traits<char>>, bool) src/v/bytes/tests/iobuf_fuzz.cc:281:31
#2 0x55d29d49e171 in driver::handle_op(driver::op_spec) src/v/bytes/tests/iobuf_fuzz.cc:576:16
redpanda-data#3 0x55d29d49abbb in driver::operator()() src/v/bytes/tests/iobuf_fuzz.cc:513:13
redpanda-data#4 0x55d29d49abbb in LLVMFuzzerTestOneInput src/v/bytes/tests/iobuf_fuzz.cc:719:16
redpanda-data#5 0x55d29d3385db in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:619:13
redpanda-data#6 0x55d29d337c05 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:516:7
redpanda-data#7 0x55d29d339935 in fuzzer::Fuzzer::MutateAndTestOne() /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:765:19
redpanda-data#8 0x55d29d33a595 in fuzzer::Fuzzer::Loop(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile>>&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:910:5
redpanda-data#9 0x55d29d327ff5 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:915:6
redpanda-data#10 0x55d29d354bb2 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10
redpanda-data#11 0x7ff28d010247 in __libc_start_call_main (/lib64/libc.so.6+0x3247) (BuildId: 515c33a35f41020661fea8ac4eb995e26ccd6b00)
redpanda-data#12 0x7ff28d01030a in __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x330a) (BuildId: 515c33a35f41020661fea8ac4eb995e26ccd6b00)
redpanda-data#13 0x55d29d31a704 in _start (/home/brandonallard/data/.cache/bazel/_bazel_brandonallard/50acd7c106e570e66c6351a7103182f1/execroot/_main/bazel-out/k8-dbg/bin/src/v/bytes/tests/iobuf_fuzz+0x2f0704) (BuildId: 4de8a27cc512a4a32db2efcd62d94228)
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior src/v/bytes/iobuf.cc:192:52
MS: 5 CMP-CrossOver-InsertRepeatedBytes-ChangeBit-InsertByte- DE: "\000\000\000\000"-; base unit: adc83b19e793491b1c6ea0fd8b46cd9f32e592fc
0x23,0xa,0x0,0x0,0x0,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0xa,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8
,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0xa,0x0,
0\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\012\000
artifact_prefix='./'; Test unit written to ./crash-87234361ff2513f61e8eba73f82676d022d60e42
Base64: IwoAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAA==
================================================================================
FAIL: //src/v/bytes/tests:iobuf_fuzz (run 76 of 100) (Exit 77) (see /home/brandonallard/data/.cache/bazel/_bazel_brandonallard/50acd7c106e570e66c6351a7103182f1/execroot/_main/bazel-out/k8-dbg/testlogs/src/v/bytes/tests/iobuf_fuzz/run_76_of_100/test.log)
INFO: From Testing //src/v/bytes/tests:iobuf_fuzz (run 76 of 100):
==================== Test output for //src/v/bytes/tests:iobuf_fuzz (run 76 of 100):
INFO: Running with entropic power schedule (0xFF, 100).
INFO: Seed: 2867371789
INFO: A corpus is not provided, starting from an empty corpus
WARNING: no interesting inputs were found so far. Is the code instrumented for coverage?
This may also happen if the target rejected all inputs we tried so far
libc++abi: terminating due to uncaught exception of type std::runtime_error: (buf <=> o_buf) != (ref <=> o_ref)
==12== ERROR: libFuzzer: deadly signal
#0 0x55a6e61329f1 in __sanitizer_print_stack_trace /src/llvm-project/compiler-rt/lib/asan/asan_stack.cpp:87:3
#1 0x55a6e6027228 in fuzzer::PrintStackTrace() /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerUtil.cpp:210:5
#2 0x55a6e6009e73 in fuzzer::Fuzzer::CrashCallback() /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:231:3
redpanda-data#3 0x7f980b02704f (/lib64/libc.so.6+0x1a04f) (BuildId: 515c33a35f41020661fea8ac4eb995e26ccd6b00)
redpanda-data#4 0x7f980b080113 in __pthread_kill_implementation (/lib64/libc.so.6+0x73113) (BuildId: 515c33a35f41020661fea8ac4eb995e26ccd6b00)
redpanda-data#5 0x7f980b026f9d in gsignal (/lib64/libc.so.6+0x19f9d) (BuildId: 515c33a35f41020661fea8ac4eb995e26ccd6b00)
redpanda-data#6 0x7f980b00e941 in abort (/lib64/libc.so.6+0x1941) (BuildId: 515c33a35f41020661fea8ac4eb995e26ccd6b00)
redpanda-data#7 0x55a6e616d985 in __abort_message abort_message.cpp
redpanda-data#8 0x55a6e61d3288 in demangling_terminate_handler() cxa_default_handlers.cpp
redpanda-data#9 0x55a6e61d3172 in std::__terminate(void (*)()) cxa_handlers.cpp
redpanda-data#10 0x55a6e61d1d98 in __cxa_rethrow (/home/brandonallard/data/.cache/bazel/_bazel_brandonallard/50acd7c106e570e66c6351a7103182f1/execroot/_main/bazel-out/k8-dbg/bin/src/v/bytes/tests/iobuf_fuzz+0x4d4d98) (BuildId: 4de8a27cc512a4a32db2efcd62d94228)
redpanda-data#11 0x55a6e616dd28 in LLVMFuzzerTestOneInput src/v/bytes/tests/iobuf_fuzz.cc:724:9
redpanda-data#12 0x55a6e600b5db in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:619:13
redpanda-data#13 0x55a6e600ac05 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:516:7
redpanda-data#14 0x55a6e600c935 in fuzzer::Fuzzer::MutateAndTestOne() /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:765:19
redpanda-data#15 0x55a6e600d595 in fuzzer::Fuzzer::Loop(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile>>&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:910:5
redpanda-data#16 0x55a6e5ffaff5 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:915:6
redpanda-data#17 0x55a6e6027bb2 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10
redpanda-data#18 0x7f980b010247 in __libc_start_call_main (/lib64/libc.so.6+0x3247) (BuildId: 515c33a35f41020661fea8ac4eb995e26ccd6b00)
redpanda-data#19 0x7f980b01030a in __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x330a) (BuildId: 515c33a35f41020661fea8ac4eb995e26ccd6b00)
redpanda-data#20 0x55a6e5fed704 in _start (/home/brandonallard/data/.cache/bazel/_bazel_brandonallard/50acd7c106e570e66c6351a7103182f1/execroot/_main/bazel-out/k8-dbg/bin/src/v/bytes/tests/iobuf_fuzz+0x2f0704) (BuildId: 4de8a27cc512a4a32db2efcd62d94228)
NOTE: libFuzzer has rudimentary signal handlers.
Combine libFuzzer with AddressSanitizer or similar for better crash reports.
SUMMARY: libFuzzer: deadly signal
MS: 4 CopyPart-ChangeBit-CMP-CMP- DE: "\000\000\000\000\000\000\000\000"-"\377\377\377\377\377\377\377\377\377\377?\377\377\377\377\377\377\377\377\377\377\377\012\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\011\377\377\
377\377\377\377\377\377\377"-; base unit: adc83b19e793491b1c6ea0fd8b46cd9f32e592fc
0x4a,0xa,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9,0xff,0xff,0xf
f,0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,
J\012\000\000\000\377\377\377\377\377\377\377\377\377\377?\377\377\377\377\377\377\377\377\377\377\377\012\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\011\377\377\377\377\377\377\377\377\377\000\000\000\000\000
artifact_prefix='./'; Test unit written to ./crash-b93c506ce3bec14322fc8cabc8898af768226160
Base64: SgoAAAD/////////////P///////////////Cv///////////////////////////////wAAAAAAAAAJ////////////AAAAAAA=
================================================================================
```
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add retry logic to reconciler's metastore add_objects calls to handle transport errors. Previously, the reconciler would immediately fail and abandon the reconciliation round on any metastore error.
Backports Required
Release Notes