Uploaded image for project: 'Realm Core'
  1. Realm Core
  2. RCORE-1350

`Assertion failed: !referenced` thrown when triggering a Client Reset Event using a FLX app.

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Sync
    • None

      In one of our tests we are checking the callbacks set via realm_sync_config_set_before_client_reset_handler and realm_sync_config_set_after_client_reset_handler are being called after triggering a client reset event. The test passes when we run it using a PBS app but fails when using a FLX app.

        Connection[4]: Session[4]: Recreated the active subscription set in the complete state (2 -> 2)
        /Users/elg/git/realm-kotlin/packages/external/core/src/realm/group_writer.cpp:533: [realm-core-13.0.0] Assertion failed: !referenced <backtrace not supported on this platform>!!! IMPORTANT: Please report this at https://github.com/realm/realm-core/issues/new/choose
        Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 30519 (Thread-12), pid 30470 (nc.testapp.test)
        Cmdline: io.realm.sync.testapp.test
        pid: 30470, tid: 30519, name: Thread-12  >>> io.realm.sync.testapp.test <<<
              #01 pc 0000000000da12ec  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (please_report_this_issue_in_github_realm_realm_core_v_13_0_0+4) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #02 pc 0000000000da1534  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::util::terminate_internal(std::__ndk1::basic_stringstream<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >&)+336) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #03 pc 0000000000da13bc  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::util::terminate(char const*, char const*, long, std::initializer_list<realm::util::Printable>&&)+204) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #04 pc 0000000000c59148  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::GroupWriter::backdate()::$_2::operator()(realm::GroupWriter::FreeSpaceEntry&) const+156) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #05 pc 0000000000c58d58  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::GroupWriter::backdate()+496) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #06 pc 0000000000c59708  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::GroupWriter::write_group()+1016) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #07 pc 0000000000c447f4  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::DB::low_level_commit(unsigned long, realm::Transaction&, bool)+616) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #08 pc 0000000000c443d0  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::DB::do_commit(realm::Transaction&, bool)+332) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #09 pc 0000000000d38940  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::Transaction::commit_and_continue_as_read(bool)+280) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #10 pc 000000000096ffcc  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::_impl::client_reset::perform_client_reset_diff(std::__ndk1::shared_ptr<realm::DB>, std::__ndk1::shared_ptr<realm::DB>, realm::sync::SaltedFileIdent, realm::util::Logger&, realm::ClientResyncMode, bool, bool*, realm::sync::SubscriptionStore*, realm::util::UniqueFunction<void (long)>)+1692) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #11 pc 0000000000977a30  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::_impl::ClientResetOperation::finalize(realm::sync::SaltedFileIdent, realm::sync::SubscriptionStore*, realm::util::UniqueFunction<void (long)>)+740) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #12 pc 00000000009d0560  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::sync::ClientImpl::Session::receive_ident_message(realm::sync::SaltedFileIdent)::$_13::operator()() const+220) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #13 pc 00000000009cb384  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::sync::ClientImpl::Session::receive_ident_message(realm::sync::SaltedFileIdent)+460) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #14 pc 00000000009cb144  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::sync::ClientImpl::Connection::receive_ident_message(unsigned long, realm::sync::SaltedFileIdent)+172) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #15 pc 00000000009c8e8c  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (void realm::_impl::ClientProtocol::parse_message_received<realm::sync::ClientImpl::Connection>(realm::sync::ClientImpl::Connection&, std::__ndk1::basic_string_view<char, std::__ndk1::char_traits<char> >)+4160) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #16 pc 00000000009c4f88  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::sync::ClientImpl::Connection::handle_message_received(char const*, unsigned long)+84) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #17 pc 00000000009c4e00  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::sync::ClientImpl::Connection::websocket_binary_message_received(char const*, unsigned long)+148) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #18 pc 0000000000ad708c  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::util::websocket::(anonymous namespace)::EZSocketImpl::websocket_binary_message_received(char const*, unsigned long)+44) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #19 pc 0000000000ad24c0  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so ((anonymous namespace)::WebSocket::frame_reader_loop()+256) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #20 pc 0000000000ad3ea8  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so ((anonymous namespace)::WebSocket::frame_reader_loop()::'lambda'(std::__ndk1::error_code, unsigned long)::operator()(std::__ndk1::error_code, unsigned long) const+176) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #21 pc 0000000000ad3dcc  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (void realm::util::UniqueFunction<void (std::__ndk1::error_code, unsigned long)>::call_regular_void<(anonymous namespace)::WebSocket::frame_reader_loop()::'lambda'(std::__ndk1::error_code, unsigned long)>(std::__ndk1::integral_constant<bool, true>, (anonymous namespace)::WebSocket::frame_reader_loop()::'lambda'(std::__ndk1::error_code, unsigned long)&, std::__ndk1::error_code&&, unsigned long&&)+92) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #22 pc 0000000000ad3d60  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::util::UniqueFunction<void (std::__ndk1::error_code, unsigned long)>::SpecificImpl<(anonymous namespace)::WebSocket::frame_reader_loop()::'lambda'(std::__ndk1::error_code, unsigned long)>::call(std::__ndk1::error_code&&, unsigned long&&)+68) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #23 pc 0000000000ae24fc  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::util::UniqueFunction<void (std::__ndk1::error_code, unsigned long)>::operator()(std::__ndk1::error_code, unsigned long) const+160) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #24 pc 0000000000ae2430  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (void realm::util::network::Service::AsyncOper::do_recycle_and_execute_helper<realm::util::UniqueFunction<void (std::__ndk1::error_code, unsigned long)>, std::__ndk1::error_code, unsigned long>(bool, bool&, realm::util::UniqueFunction<void (std::__ndk1::error_code, unsigned long)>, std::__ndk1::error_code, unsigned long)+128) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #25 pc 0000000000ae2300  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (void realm::util::network::Service::AsyncOper::do_recycle_and_execute<realm::util::UniqueFunction<void (std::__ndk1::error_code, unsigned long)>, std::__ndk1::error_code&, unsigned long&>(bool, realm::util::UniqueFunction<void (std::__ndk1::error_code, unsigned long)>&, std::__ndk1::error_code&, unsigned long&)+156) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #26 pc 0000000000ae3e78  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::util::network::Service::BasicStreamOps<realm::util::network::Socket>::BufferedReadOper<realm::util::UniqueFunction<void (std::__ndk1::error_code, unsigned long)> >::recycle_and_execute()+628) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #27 pc 0000000000ac276c  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::util::network::Service::Impl::execute(std::__ndk1::unique_ptr<realm::util::network::Service::AsyncOper, realm::util::network::Service::LendersOperDeleter>&)+28) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #28 pc 0000000000abeff4  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::util::network::Service::Impl::run()+304) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #29 pc 0000000000abee90  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::util::network::Service::run()+20) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #30 pc 00000000009a3f24  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::sync::ClientImpl::run()+60) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #31 pc 00000000009abc1c  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::sync::Client::run()+20) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #32 pc 000000000081f590  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (realm::_impl::SyncClient::SyncClient(std::__ndk1::shared_ptr<realm::util::Logger> const&, realm::SyncClientConfig const&, std::__ndk1::weak_ptr<realm::SyncManager const>)::'lambda0'()::operator()() const+272) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #33 pc 000000000081f438  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (decltype(std::__ndk1::forward<realm::_impl::SyncClient::SyncClient(std::__ndk1::shared_ptr<realm::util::Logger> const&, realm::SyncClientConfig const&, std::__ndk1::weak_ptr<realm::SyncManager const>)::'lambda0'()>(fp)()) std::__ndk1::__invoke<realm::_impl::SyncClient::SyncClient(std::__ndk1::shared_ptr<realm::util::Logger> const&, realm::SyncClientConfig const&, std::__ndk1::weak_ptr<realm::SyncManager const>)::'lambda0'()>(realm::_impl::SyncClient::SyncClient(std::__ndk1::shared_ptr<realm::util::Logger> const&, realm::SyncClientConfig const&, std::__ndk1::weak_ptr<realm::SyncManager const>)::'lambda0'()&&)+20) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #34 pc 000000000081f3a4  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (void std::__ndk1::__thread_execute<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct> >, realm::_impl::SyncClient::SyncClient(std::__ndk1::shared_ptr<realm::util::Logger> const&, realm::SyncClientConfig const&, std::__ndk1::weak_ptr<realm::SyncManager const>)::'lambda0'()>(std::__ndk1::tuple<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct> >, realm::_impl::SyncClient::SyncClient(std::__ndk1::shared_ptr<realm::util::Logger> const&, realm::SyncClientConfig const&, std::__ndk1::weak_ptr<realm::SyncManager const>)::'lambda0'()>&, std::__ndk1::__tuple_indices<>)+28) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
              #35 pc 000000000081eda8  /data/app/~~CEd3v7HpQyLxXDO2-Q4ujg==/io.realm.sync.testapp.test-Y_9XFEpe17V0sjq8yu6Dbg==/lib/arm64/librealmc.so (void* std::__ndk1::__thread_proxy<std::__ndk1::tuple<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct> >, realm::_impl::SyncClient::SyncClient(std::__ndk1::shared_ptr<realm::util::Logger> const&, realm::SyncClientConfig const&, std::__ndk1::weak_ptr<realm::SyncManager const>)::'lambda0'()> >(void*)+128) (BuildId: 3ecfe4451a4cf0fd5e26298a50fd61071cf2efa9)
        Process io.realm.sync.testapp.test (pid 30470) has died: fg  FGS
      

            Assignee:
            jonathan.reams@mongodb.com Jonathan Reams
            Reporter:
            eduardo.lopezgutierrez@mongodb.com Eduardo López Gutiérrez (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated: