-
Type: Task
-
Resolution: Works as Designed
-
Priority: Minor - P4
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
?
-
7740
-
Not Needed
SDK and version
SDK : Dart
Version: 2.3.0-12-g25c79676 (using realm-core v14.7.0)
Observations
- How frequent do the crash occur? Always
- Does it happen in production or during dev/test? Dev
- Can the crash be reproduced by you? Yes
- Can you provide instructions for how we can reproduce it? Yes
Crash log / stacktrace
Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Termination Reason: SIGNAL 6 Abort trap: 6 Terminating Process: Runner [39693] Triggered by Thread: 82 ... Thread 82 Crashed: Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Termination Reason: SIGNAL 6 Abort trap: 6 Terminating Process: Runner [39693] Triggered by Thread: 82 ... Thread 82 Crashed: 0 libsystem_kernel.dylib 0x104f293b0 __pthread_kill + 8 1 libsystem_pthread.dylib 0x1050f3124 pthread_kill + 256 2 libsystem_c.dylib 0x1801655c0 abort + 104 3 libc++abi.dylib 0x1802a7778 abort_message + 128 4 libc++abi.dylib 0x180298eb0 demangling_terminate_handler() + 272 5 libobjc.A.dylib 0x1800634a8 _objc_terminate() + 140 6 libc++abi.dylib 0x1802a6c50 std::__terminate(void (*)()) + 12 7 libc++abi.dylib 0x1802a9954 __cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception*) + 32 8 libc++abi.dylib 0x1802a9914 __cxa_throw + 132 9 realm_dart 0x1068364e8 realm::SlabAlloc::attach_file(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, realm::SlabAlloc::Config&, realm::util::WriteObserver*) + 2748 10 realm_dart 0x106872770 realm::DB::open(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, realm::DBOptions const&) + 2152 11 realm_dart 0x106879fb8 realm::DB::create(std::__1::unique_ptr<realm::Replication, std::__1::default_delete<realm::Replication>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, realm::DBOptions const&) + 164 12 realm_dart 0x106645cb8 realm::_impl::RealmCoordinator::open_db() + 948 13 realm_dart 0x106646c38 realm::_impl::RealmCoordinator::do_get_realm(realm::RealmConfig&&, std::__1::shared_ptr<realm::Realm>&, std::__1::optional<realm::VersionID>, realm::util::CheckedUniqueLock&, bool) + 76 14 realm_dart 0x106646b54 realm::_impl::RealmCoordinator::get_realm(realm::RealmConfig, std::__1::optional<realm::VersionID>) + 460 15 realm_dart 0x106697114 realm::Realm::get_shared_realm(realm::RealmConfig) + 120 16 realm_dart 0x1066d27c8 (anonymous namespace)::PersistedSyncMetadataManager::create_file_action(realm::SyncFileAction, std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string_view<char, std::__1::char_traits<char>>) + 104 17 realm_dart 0x1066bd828 realm::app::User::create_file_action(realm::SyncFileAction, std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>) + 360 18 realm_dart 0x1066e7358 realm::SyncSession::update_error_and_mark_file_for_deletion(realm::SyncError&, realm::SyncSession::ShouldBackup) + 492 19 realm_dart 0x1066ea364 realm::SyncSession::handle_error(realm::sync::SessionErrorInfo) + 1196 20 realm_dart 0x1066e9780 realm::SyncSession::handle_fresh_realm_downloaded(std::__1::shared_ptr<realm::DB>, realm::Status, realm::sync::ProtocolErrorInfo::Action, std::__1::optional<realm::sync::SubscriptionSet>) + 436 21 realm_dart 0x1066e9460 realm::SyncSession::download_fresh_realm(realm::sync::ProtocolErrorInfo::Action) + 8056 22 realm_dart 0x1066f40bc realm::util::UniqueFunction<void (realm::sync::ConnectionState, std::__1::optional<realm::sync::SessionErrorInfo>)>::SpecificImpl<realm::SyncSession::create_sync_session()::$_10>::call(realm::sync::ConnectionState&&, std::__1::optional<realm::sync::SessionErrorInfo>&&) + 692 23 realm_dart 0x10679705c realm::sync::SessionWrapper::on_suspended(realm::sync::SessionErrorInfo const&) + 120 24 realm_dart 0x1067eb2c0 realm::sync::ClientImpl::Session::suspend(realm::sync::SessionErrorInfo const&) + 256 25 realm_dart 0x1067e6510 realm::sync::ClientImpl::Session::receive_error_message(realm::sync::ProtocolErrorInfo const&) + 1224 26 realm_dart 0x1067e5e00 realm::sync::ClientImpl::Connection::receive_error_message(realm::sync::ProtocolErrorInfo const&, unsigned long long) + 100 27 realm_dart 0x1067e4b04 void realm::_impl::ClientProtocol::parse_message_received<realm::sync::ClientImpl::Connection>(realm::sync::ClientImpl::Connection&, std::__1::basic_string_view<char, std::__1::char_traits<char>>) + 3440 28 realm_dart 0x1067edc00 realm::sync::ClientImpl::Connection::WebSocketObserverShim::websocket_binary_message_received(realm::util::Span<char const, 18446744073709551615ul>) + 116 29 realm_dart 0x1067bfd60 (anonymous namespace)::WebSocket::frame_reader_loop() + 124 30 realm_dart 0x1067b2d1c void realm::sync::network::Service::AsyncOper::do_recycle_and_execute<realm::util::UniqueFunction<void (std::__1::error_code, unsigned long)>, std::__1::error_code&, unsigned long&>(bool, realm::util::UniqueFunction<void (std::__1::error_code, unsigned long)>&, std::__1::error_code&, unsigned long&) + 192 31 realm_dart 0x1067b32a4 realm::sync::network::Service::BasicStreamOps<realm::sync::network::Socket>::BufferedReadOper<realm::util::UniqueFunction<void (std::__1::error_code, unsigned long)>>::recycle_and_execute() + 212 32 realm_dart 0x1067b951c realm::sync::network::Service::Impl::run_impl(bool) + 388 33 realm_dart 0x1067a9bb4 realm::sync::websocket::DefaultSocketProvider::event_loop() + 212 34 realm_dart 0x1067abe94 void* std::__1::__thread_proxy[abi:ue170006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (realm::sync::websocket::DefaultSocketProvider::*)(), realm::sync::websocket::DefaultSocketProvider*>>(void*) + 72 35 libsystem_pthread.dylib 0x1050f3414 _pthread_start + 104 36 libsystem_pthread.dylib 0x1050ee5e0 thread_start + 8
Steps & Code to Reproduce
Assuming you have xcode 15.4 installed and selected, and a simulator running with iOS 17.5, and BAAS_URL points to a running BAAS instance.
git clone https://github.com/realm/realm-dart.git cd realm-dart curl -o- https://puro.dev/install.sh | PURO_VERSION="1.4.6" bash puro use -g stable puro pub global activate melos melos bootstrap melos setup melos build:native cd packages/realm/tests flutter test integration_test/all_tests.dart --dart-define=BAAS_URL=$BAAS_URL --dart-define=BAAS_DIFFERENTIATOR=something --file-reporter=json:test-results.json --suppress-analytics -d iphone