Uploaded image for project: 'Couchbase Lite'
  1. Couchbase Lite
  2. CBL-2450

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

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 3.1.0
    • 3.1.0
    • LiteCore
    • Security Level: Public
    • None
    • 1

    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 = kCBLLogLevelNone 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.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              jimb Jim Borden
              jimb Jim Borden
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty