summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYingxin <yingxin.cheng@intel.com>2024-10-24 03:29:11 +0200
committerGitHub <noreply@github.com>2024-10-24 03:29:11 +0200
commit20f7d47e86d18d97d1aa96c512d93558ebd24220 (patch)
tree70c4d0f03b3499bfe5dd7fbbdf63f6db24cc64c2
parentMerge pull request #60460 from zdover23/wip-doc-2024-10-24-start-beginners-guide (diff)
parenttest/crimson: disable stall-detector on aarch64 to fix asan failures (diff)
downloadceph-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>
-rw-r--r--src/test/crimson/seastar_runner.h13
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);