-
Type: Bug
-
Resolution: Won't Fix
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
SDK FY21-Q3, SDK FY21-Q3.
-
2853
<!---
Questions: If you have questions about HOW TO use Realm, please ask on
StackOverflow: http://stackoverflow.com/questions/ask?tags=realm
We monitor the realm tag.
Feature Request: Just fill in the first two sections below.
Bugs: To help you as fast as possible with an issue please describe your issue
and the steps you have taken to reproduce it in as much detail as possible.
-->
Goals
Regular use (no sync)
Expected Results
Regular use
Actual Results
Got the following crash from our app's crash analytics.
EXC_BAD_ACCESS · Attempted to dereference null pointer. Tenant Move-Inrealm::util::EventLoopSignal<realm::util::EventLoopDispatcher<void (std::__1::shared_ptr<realm::SyncSession>, realm::SyncError)>::Callback>::EventLoopSignal(realm::util::EventLoopDispatcher<void (std::__1::shared_ptr<realm::SyncSession>, realm::SyncError)>::Callback&&)::{lambda(void const*)#2}::__invoke(void const*) Tenant Move-Inbool realm::js::wrap<&realm::js::ListClass<realm::jsc::Types>::set_index>(OpaqueJSContext const*, OpaqueJSValue*, unsigned int, OpaqueJSValue const*, OpaqueJSValue const**) Tenant Move-Inbool realm::js::wrap<&realm::js::ListClass<realm::jsc::Types>::set_index>(OpaqueJSContext const*, OpaqueJSValue*, unsigned int, OpaqueJSValue const*, OpaqueJSValue const**) Tenant Move-Inrealm::util::EventLoopSignal<realm::util::EventLoopDispatcher<void (realm::ThreadSafeReference<realm::Realm>&&, std::exception_ptr)>::Callback>::EventLoopSignal(realm::util::EventLoopDispatcher<void (realm::ThreadSafeReference<realm::Realm>&&, std::exception_ptr)>::Callback&&)::{lambda(void const*)#2}::__invoke(void const*) Tenant Move-InOpaqueJSValue const* realm::js::wrap<&realm::js::RealmClass<realm::jsc::Types>::object_for_primary_key>(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**) Tenant Move-Inrealm::util::EventLoopSignal<realm::util::EventLoopDispatcher<void (realm::ThreadSafeReference<realm::Realm>&&, std::exception_ptr)>::Callback>::EventLoopSignal(realm::util::EventLoopDispatcher<void (realm::ThreadSafeReference<realm::Realm>&&, std::exception_ptr)>::Callback&&)::{lambda(void const*)#2}::__invoke(void const*) Tenant Move-InOpaqueJSValue const* realm::js::wrap<&realm::js::RealmClass<realm::jsc::Types>::write>(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**) Tenant Move-Infacebook::react::JSIExecutor::defaultTimeoutInvoker(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>) Tenant Move-Infacebook::react::JSIExecutor::defaultTimeoutInvoker(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>) Tenant Move-Infacebook::react::JSIExecutor::defaultTimeoutInvoker(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>) Tenant Move-Infacebook::react::JSIExecutor::defaultTimeoutInvoker(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>) Tenant Move-Infacebook::react::JSIExecutor::defaultTimeoutInvoker(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>) Tenant Move-Infacebook::react::JSIExecutor::defaultTimeoutInvoker(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>) Tenant Move-Infacebook::react::JSIExecutor::defaultTimeoutInvoker(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>) Tenant Move-Infacebook::react::JSIExecutor::defaultTimeoutInvoker(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>) Tenant Move-Infacebook::react::JSIExecutor::defaultTimeoutInvoker(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Extra info: Looks like the app had just gone to background when this happened. These are the "last second" breadcrumbs. Also, I can't figure out if the app will terminate fired because of the crash, or because the user closed the app.
Error Occurred 0ms before - App Will Terminate 0ms before - Orientation Changed (portrait) 0ms before - App Did Enter Background 2.00s before - Orientation Changed (portrait)
Lastly, the above happened during regular read/writes
Steps to Reproduce
Regular use
Code Sample
Version of Realm and Tooling
- Realm JS SDK Version: 5.0.3
- Node or React Native: React Native
- Client OS & Version: iOS 13.3.1 (iPhone X)
- Which debugger for React Native: Production build