From 10caca25c92d95ca52889207c926f38ef5fdc154 Mon Sep 17 00:00:00 2001 From: Jussi Saurio Date: Tue, 10 Jun 2025 11:29:02 +0300 Subject: [PATCH] advance in balance_non_root() if -1 idx --- core/storage/btree.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/storage/btree.rs b/core/storage/btree.rs index 2b08a21ac..a9543b2f6 100644 --- a/core/storage/btree.rs +++ b/core/storage/btree.rs @@ -2322,6 +2322,10 @@ impl BTreeCursor { == parent_page.get_contents().cell_count() + 1 { self.stack.retreat(); + } else if self.stack.current_cell_index() == -1 { + // We might've retreated in CheckRequiresBalancing, so advance to the next cell + // to prevent panic in the asserts below due to -1 index + self.stack.advance(); } parent_page.set_dirty(); self.pager.add_dirty(parent_page.get().id);