MOE crashes on objc_msgSend

@Noisyfox, with your progress on building MOE SDK, do you have any clues how to nail down crashes like this? I can’t reproduce it locally and only getting crashlytics reports and these crashes are making the bulk of the app crashes in my app.

I’m guessing somewhere message is sent to selector which may not exist anymore, but without application code in this stack trace I can’t figure out how to debug this and could use any ideas.

Crashed: main
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x000000001167a398

Crashed: main
0  libobjc.A.dylib                0x1a7b62090 objc_msgSend + 16
1  MOE                            0x1074e4cb0 Java_org_moe_natj_objc_ObjCRuntime_isObjectBlock + 36
2  (Missing)                      0x10c236a10 (Missing)
3  MOE                            0x10720b3f0 art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*) + 264
4  MOE                            0x107251f30 art::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::ArgArray*, art::JValue*, char const*) + 112
5  MOE                            0x107251c84 art::InvokeWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, char*) + 320
6  MOE                            0x1072f74ac art::JNI::CallStaticObjectMethodV(_JNIEnv*, _jclass*, _jmethodID*, char*) + 516
7  MOE                            0x1072adf14 _JNIEnv::CallStaticObjectMethod(_jclass*, _jmethodID*, ...) + 56
8  MOE                            0x1074dd820 ValueConverter<(ValueConverterKind)0>::convert(ValueConverter<(ValueConverterKind)0>::Descriptor const&) + 156
9  MOE                            0x1074eced0 ValueConverter<(ValueConverterKind)0>::ValueConverter(ValueConverter<(ValueConverterKind)0>::Descriptor const&, std::__1::function<void (unsigned int, _ffi_type**, void**)>) + 280
10 MOE                            0x1074ea9a4 javaToNativeMessageHandler(ffi_cif*, void*, void**, void*) + 1496
11 MOE                            0x107508e64 ffi_closure_SYSV_inner + 676
12 MOE                            0x1074f41b4 ffi_closure_SYSV + 52
13 (Missing)                      0x10a6f6ecc (Missing)
14 MOE                            0x10720b3b4 art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*) + 204
15 MOE                            0x107251f30 art::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::ArgArray*, art::JValue*, char const*) + 112
16 MOE                            0x107253134 art::InvokeVirtualOrInterfaceWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, char*) + 340
17 MOE                            0x1072ec2bc art::JNI::CallVoidMethod(_JNIEnv*, _jobject*, _jmethodID*, ...) + 528
18 MOE                            0x1074f4044 ffi_call_SYSV + 68
19 MOE                            0x1075086e0 ffi_call_int + 1004
20 MOE                            0x1074ecaf8 std::__1::function<void (unsigned int, _ffi_type**, void**)>::operator()(unsigned int, _ffi_type**, void**) const + 72
21 MOE                            0x1074ecee8 ValueConverter<(ValueConverterKind)0>::ValueConverter(ValueConverter<(ValueConverterKind)0>::Descriptor const&, std::__1::function<void (unsigned int, _ffi_type**, void**)>) + 304
22 MOE                            0x1074eae7c nativeToJavaMessageHandler(ffi_cif*, void*, void**, void*) + 784
23 MOE                            0x107508e64 ffi_closure_SYSV_inner + 676
24 MOE                            0x1074f41b4 ffi_closure_SYSV + 52
25 UIKitCore                      0x1abab2158 -[UIGestureRecognizerTarget _sendActionWithGestureRecognizer:] + 48
26 UIKitCore                      0x1ababa838 _UIGestureRecognizerSendTargetActions + 124
27 UIKitCore                      0x1abab7fcc _UIGestureRecognizerSendActions + 352
28 UIKitCore                      0x1abab752c -[UIGestureRecognizer _updateGestureForActiveEvents] + 652
29 UIKitCore                      0x1abaab4c0 _UIGestureEnvironmentUpdate + 2108
30 CoreFoundation                 0x1a7dbbe68 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32
31 CoreFoundation                 0x1a7db6d54 __CFRunLoopDoObservers + 416
32 CoreFoundation                 0x1a7db7320 __CFRunLoopRun + 1308
33 CoreFoundation                 0x1a7db6adc CFRunLoopRunSpecific + 464
34 GraphicsServices               0x1b1d57328 GSEventRunModal + 104
35 UIKitCore                      0x1abec463c UIApplicationMain + 1936
36 MOE                            0x1074f4044 ffi_call_SYSV + 68
37 MOE                            0x1075086e0 ffi_call_int + 1004
38 MOE                            0x1074ecaf8 std::__1::function<void (unsigned int, _ffi_type**, void**)>::operator()(unsigned int, _ffi_type**, void**) const + 72
39 MOE                            0x1074ec9a0 ValueConverter<(ValueConverterKind)1>::ValueConverter(ValueConverter<(ValueConverterKind)1>::Descriptor const&, std::__1::function<void (unsigned int, _ffi_type**, void**)>) + 304
40 MOE                            0x1074eda2c javaToNativeCallHandler(ffi_cif*, void*, void**, void*) + 632
41 MOE                            0x107508e64 ffi_closure_SYSV_inner + 676
42 MOE                            0x1074f41b4 ffi_closure_SYSV + 52
43 (Missing)                      0x10c0a7814 (Missing)
44 MOE                            0x10720b3f0 art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*) + 264
45 MOE                            0x107251f30 art::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::ArgArray*, art::JValue*, char const*) + 112
46 MOE                            0x107251c84 art::InvokeWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, char*) + 320
47 MOE                            0x1072fca08 art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, char*) + 516
48 MOE                            0x106fe9f94 _JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...) + 56
49 MOE                            0x10739ce10 dalvikvm + 1652
50 MOE                            0x106fe824c moevm + 2048
51 PractiScore Competitor         0x1020a428c main + 4 (main.cpp:4)
52 libdyld.dylib                  0x1a7c40360 start + 4