test/format (disagg.multi) assertion failure in __split_internal during eviction from eviction server thread

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Reconciliation
    • None
    • Storage Engines - Transactions
    • 42.136
    • SE Transactions - 2026-08-14
    • 5

      Context

      This is a follow-up to WT-17820. As noted in that ticket, the assertion stack here has the same signature (a split race in __split_internal), but it reproduces on a commit landed after the WT-17820 fix, so there is likely another path that can trigger the same race.

      Unlike WT-17820, where the eviction was driven from the layered drain worker, here the split happens during eviction from the eviction server thread (_evict_thread_run -> wti_evict_lru_pages -> wti_evict_page -> _wt_evict). The process aborts on WT_ASSERT(session, F_ISSET_ATOMIC_16(page, WT_PAGE_INTL_PINDEX_UPDATE)) at src/btree/bt_split.c:1131.

      Evergreen Task / Link

      format-stress-test-disagg-multi-validation-1 (amazon2023-disagg-asan-stress)

      Base commit: 397a2328dd (WT-18162). Config: CONFIG.disagg with disagg.multi=1 runs.predictable_replay=1 ops.verify=1 disagg.multi_validation=1 disagg.preserve=1 (runs.type=row-store, runs.source=layered).

      Logs & Stack Trace

      Program terminated with signal SIGABRT, Aborted.
      #3  __wt_abort (session=0xffff9fc9c0a0) at src/os_common/os_abort.c:32
      #4  __split_internal (session=..., parent=0x51200112c3c0, page=0x5120010fcb40) at src/btree/bt_split.c:1131
      #5  __split_parent_climb (session=..., page=0x5120010fcb40) at src/btree/bt_split.c:1402
      #6  __split_multi_lock (session=..., ref=0x50e0015cf8e0, closing=0) at src/btree/bt_split.c:2450
      #7  __wt_split_multi (session=..., ref=0x50e0015cf8e0, closing=0) at src/btree/bt_split.c:2471
      #8  __evict_page_dirty_update (session=..., ref=0x50e0015cf8e0, evict_flags=0) at src/evict/evict_page.c:754
      #9  __wt_evict (session=..., ref=0x50e0015cf8e0, previous_state=3, flags=0) at src/evict/evict_page.c:559
      #10 __wti_evict_page (session=..., is_server=false) at src/evict/evict_dispatch.c:254
      #11 __wti_evict_lru_pages (session=..., is_server=false) at src/evict/evict_queue.c:140
      #12 __evict_thread_run (session=..., thread=0x5070000252b0) at src/evict/evict_thread.c:117
      #13 __thread_run (arg=0x5070000252b0) at src/support/thread_group.c:32
      

            Assignee:
            Shoufu Du
            Reporter:
            Alexander Pullen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: