-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Replication
-
ALL
-
None
-
None
-
None
-
None
-
None
-
None
-
None
mongo --nodb --eval 'globalThis.TestData = { fsmPreOverridesLoadedCallback: "load(\"jstests/libs/override_methods/network_error_and_txn_override.js\");", networkErrorAndTxnOverrideConfig: {retryOnNetworkErrors: true}, fsmWorkloads: ["jstests/concurrency/fsm_workloads/agg_graph_lookup.js"], connectionString: "mongodb://localhost:27017"}; globalThis.db = connect(TestData.connectionString); try { load("jstests/concurrency/fsm_libs/resmoke_runner.js") } catch(e) { jsTestLog(`Oh nonono FSM failed: ${e}; ${e.stack}`) }'
The above FSM run fails (against v6) because network_error_and_txn_override.js causes the FSM’s preparatory currentOp command against replsets to throw an exception.
The above should exit without error, though, because of the top-level try/catch. Instead, though, it dies from SIGABRT with a message:
{"t":{"$date":"2025-02-07T19:27:01.090Z"},"s":"F", "c":"CONTROL", "id":6384300, "ctx":"js","msg":"Writing fatal message","attr":{"message":"terminate() called. No exception is active\n"}}
The reason for this is that the currentOp exception isn’t being caught in the thread, which seems to cause a std::terminate(), which causes mongo to SIGABRT itself.