network_error_and_txn_override.js corrupts FSM threading

XMLWordPrintableJSON

    • 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.

            Assignee:
            Unassigned
            Reporter:
            Felipe Gasper
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: