diff options
author | Yingxin <yingxin.cheng@intel.com> | 2024-10-24 03:29:11 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-24 03:29:11 +0200 |
commit | 20f7d47e86d18d97d1aa96c512d93558ebd24220 (patch) | |
tree | 70c4d0f03b3499bfe5dd7fbbdf63f6db24cc64c2 /src/test/crimson/seastar_runner.h | |
parent | Merge pull request #60460 from zdover23/wip-doc-2024-10-24-start-beginners-guide (diff) | |
parent | test/crimson: disable stall-detector on aarch64 to fix asan failures (diff) | |
download | ceph-20f7d47e86d18d97d1aa96c512d93558ebd24220.tar.xz ceph-20f7d47e86d18d97d1aa96c512d93558ebd24220.zip |
Merge pull request #60276 from ceph/bypass_sr
test/crimson: disable stall-detector on aarch64 to fix asan failures
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Diffstat (limited to 'src/test/crimson/seastar_runner.h')
-rw-r--r-- | src/test/crimson/seastar_runner.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/test/crimson/seastar_runner.h b/src/test/crimson/seastar_runner.h index 63cc50d9f05..590eef13adf 100644 --- a/src/test/crimson/seastar_runner.h +++ b/src/test/crimson/seastar_runner.h @@ -71,6 +71,19 @@ struct SeastarRunner { auto ret = app.run(argc, argv, [this] { on_end.reset(new seastar::readable_eventfd); return seastar::now().then([this] { +// FIXME: The stall detector uses glibc backtrace function to +// collect backtraces, this causes ASAN failures on ARM. +// For now we just extend timeout duration to 10000h in order to +// get the same effect as disabling the stall detector which is not provided by seastar. +// the ticket about migrating to libunwind: https://github.com/scylladb/seastar/issues/1878 +// Will remove once the ticket fixed. +// Ceph ticket see: https://tracker.ceph.com/issues/65635 +#ifdef __aarch64__ + seastar::smp::invoke_on_all([] { + using namespace std::chrono; + seastar::engine().update_blocked_reactor_notify_ms(duration_cast<milliseconds>(10000h)); + }).get(); +#endif begin_signaled = true; [[maybe_unused]] auto r = ::eventfd_write(begin_fd.get(), APP_RUNNING); assert(r == 0); |