Intermittent: `_keyStore` not true when calling litecore::KeyStore

Description

Some kind of race condition happens.

2021-09-09 15:53:04.054926-0700 xctest[8181:46296780] CouchbaseLite Database Info: {DB#1797} Closing database /Users/****/workspace/****-lite-ios-edition-build/****-lite-ios-ee/****-lite-ios/Swift/Tests/CBLTestCase.swift:150: error: -[CouchbaseLiteSwiftTests.ReplicatorTest_CustomConflict testConflictResolverMergeDoc] : failed: caught error: "Error Domain=CouchbaseLite Code=9 "FAILED PRECONDITION: `_keyStore` not true when calling litecore::KeyStore &litecore::CollectionImpl::keyStore() const (at CollectionImpl.hh line 88)" UserInfo={NSLocalizedDescription=FAILED PRECONDITION: `_keyStore` not true when calling litecore::KeyStore &litecore::CollectionImpl::keyStore() const (at CollectionImpl.hh line 88)}" 2021-09-09 15:53:09.487087-0700 xctest[8181:46296086] CouchbaseLite Database Info: Closing CBLDatabase[otherdb] at path /var/folders/xl/wrpz9xx97nl9152hbnf30rdm0000gn/T/CouchbaseLite-EE/otherdb.cblite2/ ///.... //.... 2021-09-09 17:05:45.026517-0700 xctest[37558:46401779] CouchbaseLite Database ERROR: Assertion failed: !_inTransaction (DataFile.cc:121, in ~DataFile) 0 CouchbaseLiteSwift litecore::DataFile::~DataFile() + 540 1 CouchbaseLiteSwift litecore::SQLiteDataFile::~SQLiteDataFile() + 383 2 CouchbaseLiteSwift litecore::SQLiteDataFile::~SQLiteDataFile() + 21 3 CouchbaseLiteSwift litecore::SQLiteDataFile::~SQLiteDataFile() + 28 4 CouchbaseLiteSwift std::default_delete<litecore::DataFile>::operator()(litecore::DataFile*) const + 150 5 CouchbaseLiteSwift std::unique_ptr<litecore::DataFile, std::default_delete<litecore::DataFile> >::reset(litecore::DataFile*) + 191 6 CouchbaseLiteSwift std::unique_ptr<litecore::DataFile, std::default_delete<litecore::DataFile> >::~unique_ptr() + 25 7 CouchbaseLiteSwift std::unique_ptr<litecore::DataFile, std::default_delete<litecore::DataFile> >::~unique_ptr() + 21 8 CouchbaseLiteSwift litecore::DatabaseImpl::~DatabaseImpl() + 1366 9 CouchbaseLiteSwift litecore::DatabaseImpl::~DatabaseImpl() + 21 10 CouchbaseLiteSwift litecore::DatabaseImpl::~DatabaseImpl() + 28 11 CouchbaseLiteSwift fleece::RefCounted::_careful_release() const + 252 12 CouchbaseLiteSwift fleece::RefCounted::_release() const + 21 13 CouchbaseLiteSwift fleece::release(fleece::RefCounted const*) + 32 14 CouchbaseLiteSwift fleece::Retained<C4Database>::~Retained() + 75 15 CouchbaseLiteSwift fleece::Retained<C4Database>::~Retained() + 21 16 CouchbaseLiteSwift litecore::C4LocalReplicator::~C4LocalReplicator() + 582 17 CouchbaseLiteSwift litecore::C4LocalReplicator::~C4LocalReplicator() + 21 18 CouchbaseLiteSwift litecore::C4LocalReplicator::~C4LocalReplicator() + 28 19 CouchbaseLiteSwift fleece::RefCounted::_careful_release() const + 252 20 CouchbaseLiteSwift fleece::RefCounted::_release() const + 21 21 CouchbaseLiteSwift fleece::release(fleece::RefCounted const*) + 32 22 CouchbaseLiteSwift c4repl_fre 2021-09-09 17:05:45.027917-0700 xctest[37558:46401779] CouchbaseLite Database ERROR: COUCHBASE LITE CORE FATAL ERROR (backtrace follows) ******************** Uncaught exception: litecore::error: Assertion failed: !_inTransaction Backtrace: ******************** NOW TERMINATING

Steps to reproduce:

1. Disable the logs: (CBLDatabase.log.console.level = kCBLLogLevelNonewinking face https://github.com/couchbase/couchbase-lite-ios/blob/release/lithium/Objective-C/Tests/CBLTestCase.m#L43
2. Run the command

xcodebuild clean test \ -project CouchbaseLite.xcodeproj \ -scheme "CBL_EE_ObjC_Tests_iOS_App" \ -configuration "Debug_EE" \ -sdk iphonesimulator \ -destination 'platform=iOS Simulator,name=iPhone 13'

3. If you haven't seen it, keep running it.

Activity

Show:

CB robot October 15, 2021 at 9:29 PM

Build couchbase-lite-android-3.1.0-26 contains couchbase-lite-core commit 9b92c70 with commit message:
https://couchbasecloud.atlassian.net/browse/CBL-2450#icft=CBL-2450: Prevent a rare crash situation in external transaction notifier (#1261)

CB robot October 15, 2021 at 8:49 PM

Build couchbase-lite-java-3.1.0-23 contains couchbase-lite-core commit 9b92c70 with commit message:
https://couchbasecloud.atlassian.net/browse/CBL-2450#icft=CBL-2450: Prevent a rare crash situation in external transaction notifier (#1261)

CB robot October 13, 2021 at 6:16 PM

Build couchbase-lite-net-3.1.0-14 contains couchbase-lite-core commit 9b92c70 with commit message:
https://couchbasecloud.atlassian.net/browse/CBL-2450#icft=CBL-2450: Prevent a rare crash situation in external transaction notifier (#1261)

CB robot October 12, 2021 at 6:42 PM

Build couchbase-lite-c-3.1.0-34 contains couchbase-lite-core commit 9b92c70 with commit message:
https://couchbasecloud.atlassian.net/browse/CBL-2450#icft=CBL-2450: Prevent a rare crash situation in external transaction notifier (#1261)

CB robot October 8, 2021 at 1:28 AM

Build couchbase-lite-ios-3.1.0-34 contains couchbase-lite-core commit 9b92c70 with commit message:
https://couchbasecloud.atlassian.net/browse/CBL-2450#icft=CBL-2450: Prevent a rare crash situation in external transaction notifier (#1261)

Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Story Points

Components

Fix versions

Affects versions

Priority

Instabug

Open Instabug

PagerDuty

Sentry

Zendesk Support

Created October 6, 2021 at 10:50 PM
Updated August 31, 2024 at 10:56 AM
Resolved October 7, 2021 at 12:44 AM
Instabug