Skip to content

Commit 5639030

Browse files
arm7starSvelar
authored andcommitted
test/crimson: disable stall-detector on aarch64 to fix asan failures
Ceph crimson uses seastar on debug mode which would enable ASAN, while stall-detector uses glibc backtrace function which would cause ASAN failures on aarch64. Reason see scylladb/scylladb#15090 (comment) Because arm ci servers in lab are "elderly", causing stall happened often, this PR is to disable stall-detector until seastar upstream migrated to libunwind, see scylladb/seastar#1878 Seastar does not provide a function to disable stall-detector, at present, increase stall-detector time to avoid stall-detector timeout on arm platform. fixes: https://tracker.ceph.com/issues/65635 Signed-off-by: cailianchun <[email protected]>
1 parent 900fb50 commit 5639030

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

src/test/crimson/seastar_runner.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,19 @@ struct SeastarRunner {
7171
auto ret = app.run(argc, argv, [this] {
7272
on_end.reset(new seastar::readable_eventfd);
7373
return seastar::now().then([this] {
74+
// FIXME: The stall detector uses glibc backtrace function to
75+
// collect backtraces, this causes ASAN failures on ARM.
76+
// For now we just extend timeout duration to 10000h in order to
77+
// get the same effect as disabling the stall detector which is not provided by seastar.
78+
// the ticket about migrating to libunwind: https://github.com/scylladb/seastar/issues/1878
79+
// Will remove once the ticket fixed.
80+
// Ceph ticket see: https://tracker.ceph.com/issues/65635
81+
#ifdef __aarch64__
82+
seastar::smp::invoke_on_all([] {
83+
using namespace std::chrono;
84+
seastar::engine().update_blocked_reactor_notify_ms(duration_cast<milliseconds>(10000h));
85+
}).get();
86+
#endif
7487
begin_signaled = true;
7588
[[maybe_unused]] auto r = ::eventfd_write(begin_fd.get(), APP_RUNNING);
7689
assert(r == 0);

0 commit comments

Comments
 (0)