Regular use
Regular use
Firebase crashlytics reported the following iOS crash/exception coming from RealmJS. A crash happened when the app was started
crashlog from crashlytics:
Crashed: com.facebook.react.JavaScript
0 JavaScriptCore 0x1b164c548 bool JSC::symbolTableGet
1 JavaScriptCore 0x1b0e80f14 JSC::JSObject::get(JSC::JSGlobalObject, JSC::PropertyName) const + 2516
2 JavaScriptCore 0x1b0e80f14 JSC::JSObject::get(JSC::JSGlobalObject, JSC::PropertyName) const + 2516
3 JavaScriptCore 0x1b0e80490 JSObjectGetProperty + 144
4 PlusCards 0x104f13a6c realm::js::is_object_of_type(OpaqueJSContext const, OpaqueJSValue const, realm::js::String
5 PlusCards 0x104f13998 realm::js::Value
6 PlusCards 0x104f5f258 realm::js::RealmClass
7 PlusCards 0x104f59e84 OpaqueJSValue const* realm::js::wrap<&(realm::js::RealmClass
8 JavaScriptCore 0x1b0e6e85c long long JSC::APICallbackFunction::call
9 JavaScriptCore 0x1b0e238d8 llint_entry + 135240
10 JavaScriptCore 0x1b0e20f68 llint_entry + 124632
11 JavaScriptCore 0x1b0e02648 vmEntryToJavaScript + 248
12 JavaScriptCore 0x1b13b1718 JSC::Interpreter::executeCall(JSC::JSGlobalObject, JSC::JSObject, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 444
13 JavaScriptCore 0x1b15971a8 JSC::profiledCall(JSC::JSGlobalObject, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 168
14 JavaScriptCore 0x1b0e834e0 JSObjectCallAsFunction + 504
15 PlusCards 0x104f5fdbc realm::js::RealmClass
16 PlusCards 0x104f5a04c OpaqueJSValue const* realm::js::wrap<&(realm::js::RealmClass
17 JavaScriptCore 0x1b0e6e85c long long JSC::APICallbackFunction::call
18 JavaScriptCore 0x1b0e238d8 llint_entry + 135240
19 JavaScriptCore 0x1b0e20f68 llint_entry + 124632
20 JavaScriptCore 0x1b0e20f68 llint_entry + 124632
21 JavaScriptCore 0x1b0e20f68 llint_entry + 124632
22 JavaScriptCore 0x1b0e20f68 llint_entry + 124632
23 JavaScriptCore 0x1b0e20f68 llint_entry + 124632
24 JavaScriptCore 0x1b0e21010 llint_entry + 124800
25 JavaScriptCore 0x1b0e20f68 llint_entry + 124632
26 JavaScriptCore 0x1b0e21010 llint_entry + 124800
27 JavaScriptCore 0x1b0e20f68 llint_entry + 124632
28 JavaScriptCore 0x1b0e21010 llint_entry + 124800
29 JavaScriptCore 0x1b0e21010 llint_entry + 124800
30 JavaScriptCore 0x1b0e20f68 llint_entry + 124632
31 JavaScriptCore 0x1b0e21f14 llint_entry + 128644
32 JavaScriptCore 0x1b0e21010 llint_entry + 124800
33 JavaScriptCore 0x1b0e20f68 llint_entry + 124632
34 JavaScriptCore 0x1b0e20f68 llint_entry + 124632
35 JavaScriptCore 0x1b0e20f68 llint_entry + 124632
36 JavaScriptCore 0x1b0e21010 llint_entry + 124800
37 JavaScriptCore 0x1b0e20f68 llint_entry + 124632
38 JavaScriptCore 0x1b0e22444 llint_entry + 129972
39 JavaScriptCore 0x1b0e20f68 llint_entry + 124632
40 JavaScriptCore 0x1b0e21010 llint_entry + 124800
41 JavaScriptCore 0x1b0e20f68 llint_entry + 124632
42 JavaScriptCore 0x1b0e02648 vmEntryToJavaScript + 248
43 JavaScriptCore 0x1b13b1718 JSC::Interpreter::executeCall(JSC::JSGlobalObject, JSC::JSObject, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 444
44 JavaScriptCore 0x1b162ffc8 JSC::boundThisNoArgsFunctionCall(JSC::JSGlobalObject, JSC::CallFrame) + 712
45 JavaScriptCore 0x1b0e027c4 vmEntryToNative + 260
46 JavaScriptCore 0x1b13b176c JSC::Interpreter::executeCall(JSC::JSGlobalObject, JSC::JSObject, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 528
47 JavaScriptCore 0x1b15971a8 JSC::profiledCall(JSC::JSGlobalObject, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 168
48 JavaScriptCore 0x1b0e834e0 JSObjectCallAsFunction + 504
49 PlusCards 0x104ea2034 facebook::jsc::JSCRuntime::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const, unsigned long) + 1208 (JSCRuntime.cpp:1208)
50 PlusCards 0x104eaa3d8 facebook::jsi::Value facebook::jsi::Function::call
51 PlusCards 0x104eaa238 std::__1::__function::__func
52 PlusCards 0x104dd4b30 void std::__1::__invoke_void_return_wrapper
53 PlusCards 0x104ea8240 facebook::react::JSIExecutor::callFunction(std::__1::basic_string
54 PlusCards 0x104e9e678 std::__1::__function::__func
55 PlusCards 0x104df0750 facebook::react::tryAndReturnError(std::__1::function
58 CoreFoundation 0x1a1caf098 __CFRunLoopDoBlocks + 264
59 CoreFoundation 0x1a1caa1d8 __CFRunLoopRun + 772
60 CoreFoundation 0x1a1ca9ba8 CFRunLoopRunSpecific + 424
61 PlusCards 0x104de6148 +[RCTCxxBridge runRunLoop] + 269 (RCTCxxBridge.mm:269)
62 Foundation 0x1a2129e20 __NSThread__start__ + 848
63 libsystem_pthread.dylib 0x1a1a47d98 _pthread_start + 156
64 libsystem_pthread.dylib 0x1a1a4b74c thread_start + 8
No idea. It happens sometime
We are facing this crash too. We can't reproduce it but we can see it happening in crashlytics. First crash happened in mid januari.
It looks like it is similar to https://github.com/realm/realm-js/issues/3112. We have been able to reproduce it but we haven't find the root cause yet.
@kneth I'm seeing same crashes with latest realm version and it's only happening on iOS devices with version between 14.4.0 and 14.4.2.
I'm leaving my crash log here, please let me know if you needed any other information.
Thanks
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000000000010
Crashed: com.facebook.react.JavaScript
0 JavaScriptCore 0x1a97b9e04 bool JSC::symbolTableGet<JSC::JSGlobalObject>(JSC::JSGlobalObject*, JSC::PropertyName, JSC::PropertySlot&) + 76
1 JavaScriptCore 0x1a8f2dfd4 JSC::JSObject::get(JSC::JSGlobalObject*, JSC::PropertyName) const + 2100
2 JavaScriptCore 0x1a8f2dfd4 JSC::JSObject::get(JSC::JSGlobalObject*, JSC::PropertyName) const + 2100
3 JavaScriptCore 0x1a8f2d6f4 JSObjectGetProperty + 152
4 MYAPP 0x102679610 realm::js::is_object_of_type(OpaqueJSContext const*, OpaqueJSValue const*, realm::js::String<realm::jsc::Types>) + 3199256
5 MYAPP 0x102679528 realm::js::Value<realm::jsc::Types>::is_array(OpaqueJSContext const*, OpaqueJSValue const* const&) + 3199024
6 MYAPP 0x1026dfdb4 realm::js::RealmClass<realm::jsc::Types>::create(OpaqueJSContext const*, OpaqueJSValue*, realm::js::Arguments<realm::jsc::Types>&, realm::js::ReturnValue<realm::jsc::Types>&) + 3619004
7 MYAPP 0x1026d968c OpaqueJSValue const* realm::js::wrap<&(realm::js::RealmClass<realm::jsc::Types>::create(OpaqueJSContext const*, OpaqueJSValue*, realm::js::Arguments<realm::jsc::Types>&, realm::js::ReturnValue<realm::jsc::Types>&))>(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**) + 3592596
8 JavaScriptCore 0x1a8f1bc34 long long JSC::APICallbackFunction::call<JSC::JSCallbackFunction>(JSC::JSGlobalObject*, JSC::CallFrame*) + 420
9 JavaScriptCore 0x1a8ec7ee4 llint_entry + 159908
10 JavaScriptCore 0x1a8ec51a4 llint_entry + 148324
11 JavaScriptCore 0x1a8ec5258 llint_entry + 148504
12 JavaScriptCore 0x1a8ea0b94 vmEntryToJavaScript + 276
13 JavaScriptCore 0x1a94e22ac JSC::Interpreter::executeCall(JSC::JSGlobalObject*, JSC::JSObject*, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 488
14 JavaScriptCore 0x1a96ef0d0 JSC::profiledCall(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::JSValue, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 164
15 JavaScriptCore 0x1a8f3071c JSObjectCallAsFunction + 568
16 MYAPP 0x1026e0b68 realm::js::RealmClass<realm::jsc::Types>::write(OpaqueJSContext const*, OpaqueJSValue*, realm::js::Arguments<realm::jsc::Types>&, realm::js::ReturnValue<realm::jsc::Types>&) + 3622512
17 MYAPP 0x1026d9854 OpaqueJSValue const* realm::js::wrap<&(realm::js::RealmClass<realm::jsc::Types>::write(OpaqueJSContext const*, OpaqueJSValue*, realm::js::Arguments<realm::jsc::Types>&, realm::js::ReturnValue<realm::jsc::Types>&))>(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**) + 3593052
18 JavaScriptCore 0x1a8f1bc34 long long JSC::APICallbackFunction::call<JSC::JSCallbackFunction>(JSC::JSGlobalObject*, JSC::CallFrame*) + 420
19 JavaScriptCore 0x1a8ec7ee4 llint_entry + 159908
20 JavaScriptCore 0x1a8ec51a4 llint_entry + 148324
21 JavaScriptCore 0x1a8ec51a4 llint_entry + 148324
22 JavaScriptCore 0x1a8ec5258 llint_entry + 148504
23 JavaScriptCore 0x1a8ec51a4 llint_entry + 148324
24 JavaScriptCore 0x1a8ec51a4 llint_entry + 148324
25 JavaScriptCore 0x1a8ec6324 llint_entry + 152804
26 JavaScriptCore 0x1a8ec51a4 llint_entry + 148324
27 JavaScriptCore 0x1a8ec5258 llint_entry + 148504
28 JavaScriptCore 0x1a8ec5258 llint_entry + 148504
29 JavaScriptCore 0x1a8ec51a4 llint_entry + 148324
30 JavaScriptCore 0x1a8ec5258 llint_entry + 148504
31 JavaScriptCore 0x1a8ec51a4 llint_entry + 148324
32 JavaScriptCore 0x1a8ec5258 llint_entry + 148504
33 JavaScriptCore 0x1a8ec5258 llint_entry + 148504
34 JavaScriptCore 0x1a8ec51a4 llint_entry + 148324
35 JavaScriptCore 0x1a8ec5258 llint_entry + 148504
36 JavaScriptCore 0x1a8ec51a4 llint_entry + 148324
37 JavaScriptCore 0x1a8ec51a4 llint_entry + 148324
38 JavaScriptCore 0x1a8ec51a4 llint_entry + 148324
39 JavaScriptCore 0x1a8ec51a4 llint_entry + 148324
40 JavaScriptCore 0x1a8ec5258 llint_entry + 148504
41 JavaScriptCore 0x1a8ec51a4 llint_entry + 148324
42 JavaScriptCore 0x1a8ea0b94 vmEntryToJavaScript + 276
43 JavaScriptCore 0x1a94e22ac JSC::Interpreter::executeCall(JSC::JSGlobalObject*, JSC::JSObject*, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 488
44 JavaScriptCore 0x1a9793f1c JSC::boundThisNoArgsFunctionCall(JSC::JSGlobalObject*, JSC::CallFrame*) + 676
45 JavaScriptCore 0x1a8ec7de4 llint_entry + 159652
46 JavaScriptCore 0x1a8ea0b94 vmEntryToJavaScript + 276
47 JavaScriptCore 0x1a94e22ac JSC::Interpreter::executeCall(JSC::JSGlobalObject*, JSC::JSObject*, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 488
48 JavaScriptCore 0x1a9793f1c JSC::boundThisNoArgsFunctionCall(JSC::JSGlobalObject*, JSC::CallFrame*) + 676
49 JavaScriptCore 0x1a8ea0d50 vmEntryToNative + 288
50 JavaScriptCore 0x1a94e22dc JSC::Interpreter::executeCall(JSC::JSGlobalObject*, JSC::JSObject*, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 536
51 JavaScriptCore 0x1a96ef0d0 JSC::profiledCall(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::JSValue, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 164
52 JavaScriptCore 0x1a8f3071c JSObjectCallAsFunction + 568
53 MYAPP 0x102446154 facebook::jsc::JSCRuntime::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 1253 (JSCRuntime.cpp:1253)
54 MYAPP 0x1024509e8 facebook::jsi::Value facebook::jsi::Function::call<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, facebook::jsi::Value>(facebook::jsi::Runtime&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, facebook::jsi::Value&&) const + 228 (jsi-inl.h:228)
55 MYAPP 0x102450848 std::__1::__function::__func<facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, folly::dynamic const&)::$_4, std::__1::allocator<facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, folly::dynamic const&)::$_4>, void ()>::operator()() + 231 (JSIExecutor.cpp:231)
56 MYAPP 0x10236c794 void std::__1::__invoke_void_return_wrapper<void>::__call<void (*&)(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>), std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()> >(void (*&)(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>), std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>&&) + 1831 (functional:1831)
57 MYAPP 0x10244df00 facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, folly::dynamic const&) + 1831 (functional:1831)
58 MYAPP 0x102442590 std::__1::__function::__func<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>)::$_8, std::__1::allocator<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>)::$_8>, void ()>::operator()() + 1720 (functional:1720)
59 MYAPP 0x10238afa8 facebook::react::tryAndReturnError(std::__1::function<void ()> const&) + 125616 (RCTCxxUtils.mm:125616)
60 MYAPP 0x1023972fc facebook::react::RCTMessageThread::tryFunc(std::__1::function<void ()> const&) + 69 (RCTMessageThread.mm:69)
61 MYAPP 0x1023970bc invocation function for block in facebook::react::RCTMessageThread::runAsync(std::__1::function<void ()>) + 46 (RCTMessageThread.mm:46)
62 CoreFoundation 0x19f7a949c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 28
63 CoreFoundation 0x19f7a86e4 __CFRunLoopDoBlocks + 408
64 CoreFoundation 0x19f7a2e18 __CFRunLoopRun + 1732
65 CoreFoundation 0x19f7a221c CFRunLoopRunSpecific + 600
66 MYAPP 0x10237fdf4 +[RCTCxxBridge runRunLoop] + 308 (RCTCxxBridge.mm:308)
67 Foundation 0x1a0bc3a34 __NSThread__start__ + 864
68 libsystem_pthread.dylib 0x1eb2d7cb0 _pthread_start + 320
69 libsystem_pthread.dylib 0x1eb2e0778 thread_start + 8
@N3TC4T Do you know the circumstances of the crash? For example, the app was closed/swiped out?
Thanks Kenneth, Not really, I couldn't find anything that can help to find the cause of the crash, all the crashes happens when app is on foreground and also random screens, the only thing I realised is I don't have any crash report from users with iOS < 14.4, if there is anything specific I should look at or test please let me know.
@kneth sorry, my bad, I'm just checked and 100% of this crash happened in background and only for users with iOS >= 14.4.0, I asked our support team and no user actually reported this, so I guess they even didn't noticed it. I will try to reproduce it.

Most helpful comment
It looks like it is similar to https://github.com/realm/realm-js/issues/3112. We have been able to reproduce it but we haven't find the root cause yet.