diff --git a/db/db_impl.cc b/db/db_impl.cc index 698338760..61b43a457 100644 --- a/db/db_impl.cc +++ b/db/db_impl.cc @@ -2673,9 +2673,11 @@ static void CleanupIteratorState(void* arg1, void* arg2) { DBImpl::DeletionState deletion_state(state->db->GetOptions(). max_write_buffer_number); state->mu->Lock(); - MemTable* m = state->mem->Unref(); - if (m != nullptr) { - deletion_state.memtables_to_free.push_back(m); + if (state->mem) { // not set for immutable iterator + MemTable* m = state->mem->Unref(); + if (m != nullptr) { + deletion_state.memtables_to_free.push_back(m); + } } if (state->version) { // not set for memtable-only iterator state->version->Unref();