From b08c46545038f416224b58f97a8c4c2a318451e5 Mon Sep 17 00:00:00 2001 From: PThorpe92 Date: Sun, 27 Jul 2025 21:51:50 -0400 Subject: [PATCH] Fix writing wal header for async IO --- core/storage/sqlite3_ondisk.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/storage/sqlite3_ondisk.rs b/core/storage/sqlite3_ondisk.rs index 0e9b5b5aa..fbea32e24 100644 --- a/core/storage/sqlite3_ondisk.rs +++ b/core/storage/sqlite3_ondisk.rs @@ -1683,7 +1683,10 @@ pub fn begin_write_wal_header(io: &Arc, header: &WalHeader) -> Result< Arc::new(RefCell::new(buffer)) }; + let cloned = buffer.clone(); let write_complete = move |bytes_written: i32| { + // make sure to reference buffer so it's alive for async IO + let _buf = cloned.borrow(); turso_assert!( bytes_written == WAL_HEADER_SIZE as i32, "wal header wrote({bytes_written}) != expected({WAL_HEADER_SIZE})"