From d4671c2ff93e63f4436c53239d4e0d4ce6d3014d Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Sat, 29 May 2021 15:08:18 +0800 Subject: [PATCH] crimson/osd/main: always stop osd as long as it started otherwise the sharded_service's dtor complains if we destruct it without stopping it first, like: FATAL: startup failed: std::system_error (error crimson::net:3, negotiation failure) crimson-osd: ../src/seastar/include/seastar/core/sharded.hh:523: seastar::sharded::~sharded() [with Service = crimson::osd::OSD]: Assertion `_instances.empty()' failed. Aborting on shard 0. Signed-off-by: Kefu Chai --- src/crimson/osd/main.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/crimson/osd/main.cc b/src/crimson/osd/main.cc index c8e0e5a6b57..2024d2bef8f 100644 --- a/src/crimson/osd/main.cc +++ b/src/crimson/osd/main.cc @@ -250,6 +250,9 @@ int main(int argc, char* argv[]) osd.start_single(whoami, nonce, cluster_msgr, client_msgr, hb_front_msgr, hb_back_msgr).get(); + auto stop_osd = seastar::defer([&] { + osd.stop().get(); + }); if (config.count("mkkey")) { make_keyring().get(); } @@ -263,9 +266,6 @@ int main(int argc, char* argv[]) local_conf().get_val("osd_uuid"), local_conf().get_val("fsid")).get(); } - auto stop_osd = seastar::defer([&] { - osd.stop().get(); - }); if (config.count("mkkey") || config.count("mkfs")) { return EXIT_SUCCESS; } else { -- 2.39.5