Uploaded image for project: 'Realm JavaScript SDK'
  1. Realm JavaScript SDK
  2. RJS-535

[5.0.3] iOS crash - EXC_BAD_ACCESS · Attempted to dereference null pointer.

    • Type: Icon: Bug Bug
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None

      <!---

      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

            Assignee:
            Unassigned Unassigned
            Reporter:
            unitosyncbot Unito Sync Bot
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: