ExportXMLWordPrintableJSON

    • Storage Engines - Foundations
    • 373.08
    • SE Foundations - 2026-09-15
    • 1

      Problem:

      __wti_connection_workers starts the checkpoint cleanup server (__wt_checkpoint_cleanup_create, conn_open.c). Only the normal close path, __conn_close (conn_api.c), stops it. When wiredtiger_open fails after the workers were started (for example a failure in __conn_startup_cleanup_and_verify), teardown goes through __wti_connection_close which destroys every other server but not this one. The thread keeps running against a freed connection. Reproduced: a wiredtiger_open that fails after worker startup, followed by other connections in the same process, crashes with SIGSEGV in the checkpoint-cleanup thread of the failed connection.

      Solution:

      Call __wt_checkpoint_cleanup_destroy in __wti_connection_close next to the other server destroys (after the background compact server, before the checkpoint server). The destroy is idempotent, so the normal close path which already stopped it in __conn_close, is unaffected.

            Assignee:
            Yury Ershov
            Reporter:
            Yury Ershov
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: