AgoraIO-Extensions / react-native-agora

React Native around the Agora RTC SDKs for Android and iOS agora
https://www.agora.io
MIT License
622 stars 228 forks source link

Crashing agoraEngine.registerEventHandler #569

Closed hirasaki1985 closed 1 year ago

hirasaki1985 commented 1 year ago

Hi,

I'm using expo eject project. and I executed yarn ios. then, My iPhone emulator was crashing.

crash report

Thread 11 Crashed:: com.facebook.react.JavaScript
0   bluebirdapp                            0x104cfd130 -[AgoraRtcNg callApi:] + 1812 (AgoraRtcNg.mm:158)
1   bluebirdapp                            0x104cfd124 -[AgoraRtcNg callApi:] + 1800 (AgoraRtcNg.mm:158)
2   CoreFoundation                         0x180414d00 __invoking___ + 144
3   CoreFoundation                         0x180411ee8 -[NSInvocation invoke] + 276
4   CoreFoundation                         0x180412180 -[NSInvocation invokeWithTarget:] + 60
5   bluebirdapp                            0x1048fe988 -[RCTModuleMethod invokeWithBridge:module:arguments:] + 1744 (RCTModuleMethod.mm:584)
6   bluebirdapp                            0x1049022a8 facebook::react::invokeInner(RCTBridge*, RCTModuleData*, unsigned int, folly::dynamic const&, int, (anonymous namespace)::SchedulingContext) + 1108 (RCTNativeModule.mm:183)
7   bluebirdapp                            0x104901e18 facebook::react::RCTNativeModule::callSerializableNativeHook(unsigned int, folly::dynamic&&) + 84 (RCTNativeModule.mm:134)
8   bluebirdapp                            0x104a7f7fc facebook::react::ModuleRegistry::callSerializableNativeHook(unsigned int, unsigned int, folly::dynamic&&) + 356 (ModuleRegistry.cpp:236)
9   bluebirdapp                            0x104a902b0 facebook::react::JsToNativeBridge::callSerializableNativeHook(facebook::react::JSExecutor&, unsigned int, unsigned int, folly::dynamic&&) + 104 (NativeToJsBridge.cpp:92)
10  bluebirdapp                            0x104acc81c facebook::react::JSIExecutor::nativeCallSyncHook(facebook::jsi::Value const*, unsigned long) + 948 (JSIExecutor.cpp:495)
11  bluebirdapp                            0x104ad4e24 facebook::react::JSIExecutor::initializeRuntime()::$_2::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) const + 60 (JSIExecutor.cpp:122)
12  bluebirdapp                            0x104ad4dc8 decltype(static_cast<facebook::react::JSIExecutor::initializeRuntime()::$_2&>(fp)(static_cast<facebook::jsi::Runtime&>(fp0), static_cast<facebook::jsi::Value const&>(fp0), static_cast<facebook::jsi::Value const*>(fp0), static_cast<unsigned long>(fp0))) std::__1::__invoke<facebook::react::JSIExecutor::initializeRuntime()::$_2&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long>(facebook::react::JSIExecutor::initializeRuntime()::$_2&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 72 (type_traits:3918)
13  bluebirdapp                            0x104ad4d50 facebook::jsi::Value std::__1::__invoke_void_return_wrapper<facebook::jsi::Value, false>::__call<facebook::react::JSIExecutor::initializeRuntime()::$_2&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long>(facebook::react::JSIExecutor::initializeRuntime()::$_2&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 124 (invoke.h:30)
14  bluebirdapp                            0x104ad4cc8 std::__1::__function::__alloc_func<facebook::react::JSIExecutor::initializeRuntime()::$_2, std::__1::allocator<facebook::react::JSIExecutor::initializeRuntime()::$_2>, facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 124 (function.h:178)
15  bluebirdapp                            0x104ad3814 std::__1::__function::__func<facebook::react::JSIExecutor::initializeRuntime()::$_2, std::__1::allocator<facebook::react::JSIExecutor::initializeRuntime()::$_2>, facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 124 (function.h:352)
16  bluebirdapp                            0x104ab8410 std::__1::__function::__value_func<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) const + 156 (function.h:505)
17  bluebirdapp                            0x104ab7d04 std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) const + 144 (function.h:1182)
18  bluebirdapp                            0x104ab74bc facebook::jsc::JSCRuntime::createFunctionFromHostFunction(facebook::jsi::PropNameID const&, unsigned int, std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>)::HostFunctionMetadata::call(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**) + 696 (JSCRuntime.cpp:1173)
19  JavaScriptCore                         0x1164c9268 JSC::callJSNonFinalObjectCallbackObject(JSC::JSGlobalObject*, JSC::CallFrame*) + 460
20  JavaScriptCore                         0x116c6cc00 JSC::handleHostCall(JSC::JSGlobalObject*, JSC::CallFrame*, JSC::JSValue, JSC::CallLinkInfo*) + 944
21  JavaScriptCore                         0x116c27e54 operationLinkCall + 160
22  ???                                    0x280004330 ???
23  JavaScriptCore                         0x11643d718 llint_entry + 149120
24  JavaScriptCore                         0x11643d0d8 llint_entry + 147520
25  JavaScriptCore                         0x11643d0d8 llint_entry + 147520
26  JavaScriptCore                         0x11643d0d8 llint_entry + 147520
27  JavaScriptCore                         0x11643d0d8 llint_entry + 147520
28  ???                                    0x2802bee4c ???
29  ???                                    0x2802bf15c ???
30  ???                                    0x280124518 ???
31  ???                                    0x28032ae00 ???
32  ???                                    0x2802e86c0 ???
33  ???                                    0x28020e5f0 ???
34  ???                                    0x28023ef5c ???
35  ???                                    0x280135afc ???
36  JavaScriptCore                         0x11643e334 llint_entry + 152220
37  JavaScriptCore                         0x11643d0d8 llint_entry + 147520
38  ???                                    0x280229474 ???
39  ???                                    0x28032b49c ???
40  ???                                    0x2803bd44c ???
41  ???                                    0x2802b7ae4 ???
42  JavaScriptCore                         0x11643d048 llint_entry + 147376
43  JavaScriptCore                         0x11643d048 llint_entry + 147376
44  ???                                    0x2803fcb5c ???
45  JavaScriptCore                         0x11643d048 llint_entry + 147376
46  JavaScriptCore                         0x11643d048 llint_entry + 147376
47  JavaScriptCore                         0x11643d048 llint_entry + 147376
48  JavaScriptCore                         0x11643d048 llint_entry + 147376
49  ???                                    0x2800fd398 ???
50  ???                                    0x2802bc60c ???
51  ???                                    0x280276d10 ???
52  ???                                    0x280219708 ???
53  ???                                    0x28020d83c ???
54  ???                                    0x280108c0c ???
55  ???                                    0x28020acd0 ???
56  ???                                    0x280219e80 ???
57  ???                                    0x28007448c ???
58  JavaScriptCore                         0x116418df4 vmEntryToJavaScript + 264
59  JavaScriptCore                         0x116b91f20 JSC::Interpreter::executeCall(JSC::JSGlobalObject*, JSC::JSObject*, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 572
60  JavaScriptCore                         0x116ec3bcc JSC::boundThisNoArgsFunctionCall(JSC::JSGlobalObject*, JSC::CallFrame*) + 720
61  JavaScriptCore                         0x116418fa0 vmEntryToNative + 280
62  JavaScriptCore                         0x116b91f48 JSC::Interpreter::executeCall(JSC::JSGlobalObject*, JSC::JSObject*, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 612
63  JavaScriptCore                         0x1164da348 JSObjectCallAsFunction + 476
64  bluebirdapp                            0x104ab1040 facebook::jsc::JSCRuntime::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 268 (JSCRuntime.cpp:1275)
65  bluebirdapp                            0x1046c2ed0 facebook::jsi::Function::call(facebook::jsi::Runtime&, facebook::jsi::Value const*, unsigned long) const + 100 (jsi-inl.h:234)
66  bluebirdapp                            0x1046c2e4c facebook::jsi::Function::call(facebook::jsi::Runtime&, std::initializer_list<facebook::jsi::Value>) const + 112 (jsi-inl.h:239)
67  bluebirdapp                            0x104adc028 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 + 284 (jsi-inl.h:247)
68  bluebirdapp                            0x104adbe9c 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&)::$_5::operator()() const + 140 (JSIExecutor.cpp:255)
69  bluebirdapp                            0x104adbdf0 decltype(static_cast<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&)::$_5&>(fp)()) std::__1::__invoke<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&)::$_5&>(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&)::$_5&) + 24 (type_traits:3918)
70  bluebirdapp                            0x104adbda8 void std::__1::__invoke_void_return_wrapper<void, true>::__call<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&)::$_5&>(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&)::$_5&) + 28 (invoke.h:61)
71  bluebirdapp                            0x104adbd80 std::__1::__function::__alloc_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&)::$_5, 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&)::$_5>, void ()>::operator()() + 28 (function.h:178)
72  bluebirdapp                            0x104adab44 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&)::$_5, 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&)::$_5>, void ()>::operator()() + 28 (function.h:352)
73  bluebirdapp                            0x104b13698 std::__1::__function::__value_func<void ()>::operator()() const + 60 (function.h:505)
74  bluebirdapp                            0x104b135a8 std::__1::function<void ()>::operator()() const + 24 (function.h:1182)
75  bluebirdapp                            0x10486bacc facebook::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> > ()>) + 24 (JSIExecutor.h:107)
76  bluebirdapp                            0x10486df8c decltype(static_cast<void (*&>(fp)(static_cast<std::__1::function<void ()> const&>(fp0), static_cast<std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>>(fp0))) std::__1::__invoke<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> > ()>&&) + 92 (type_traits:3918)
77  bluebirdapp                            0x10486df00 void std::__1::__invoke_void_return_wrapper<void, true>::__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> > ()>&&) + 72 (invoke.h:61)
78  bluebirdapp                            0x10486de84 std::__1::__function::__alloc_func<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::allocator<void (*)(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> > ()>)>::operator()(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>&&) + 72 (function.h:178)
79  bluebirdapp                            0x10486c850 std::__1::__function::__func<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::allocator<void (*)(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> > ()>)>::operator()(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>&&) + 72 (function.h:352)
80  bluebirdapp                            0x104ada0ac std::__1::__function::__value_func<void (std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)>::operator()(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>&&) const + 104 (function.h:505)
81  bluebirdapp                            0x104acacc8 std::__1::function<void (std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)>::operator()(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>) const + 72 (function.h:1182)
82  bluebirdapp                            0x104aca998 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&) + 300 (JSIExecutor.cpp:253)
83  bluebirdapp                            0x104a97ddc facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_2::operator()(facebook::react::JSExecutor*) const + 636 (NativeToJsBridge.cpp:207)
84  bluebirdapp                            0x104a97b40 decltype(static_cast<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_2&>(fp)(static_cast<facebook::react::JSExecutor*>(fp0))) std::__1::__invoke<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_2&, facebook::react::JSExecutor*>(facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_2&, facebook::react::JSExecutor*&&) + 36 (type_traits:3918)
85  bluebirdapp                            0x104a97aec void std::__1::__invoke_void_return_wrapper<void, true>::__call<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_2&, facebook::react::JSExecutor*>(facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_2&, facebook::react::JSExecutor*&&) + 52 (invoke.h:61)
86  bluebirdapp                            0x104a97aac std::__1::__function::__alloc_func<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_2, std::__1::allocator<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_2>, void (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*&&) + 52 (function.h:178)
87  bluebirdapp                            0x104a96554 std::__1::__function::__func<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_2, std::__1::allocator<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_2>, void (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*&&) + 52 (function.h:352)
88  bluebirdapp                            0x104aa3ee0 std::__1::__function::__value_func<void (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*&&) const + 84 (function.h:505)
89  bluebirdapp                            0x104aa3e58 std::__1::function<void (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*) const + 48 (function.h:1182)
90  bluebirdapp                            0x104aa3e18 facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>)::$_8::operator()() const + 92 (NativeToJsBridge.cpp:310)
91  bluebirdapp                            0x104aa3d9c decltype(static_cast<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>)::$_8&>(fp)()) std::__1::__invoke<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>)::$_8&>(facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>)::$_8&) + 24 (type_traits:3918)
92  bluebirdapp                            0x104aa3d54 void std::__1::__invoke_void_return_wrapper<void, true>::__call<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>)::$_8&>(facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>)::$_8&) + 28 (invoke.h:61)
93  bluebirdapp                            0x104aa3d2c std::__1::__function::__alloc_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()() + 28 (function.h:178)
94  bluebirdapp                            0x104aa2690 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()() + 28 (function.h:352)
95  bluebirdapp                            0x104b13698 std::__1::__function::__value_func<void ()>::operator()() const + 60 (function.h:505)
96  bluebirdapp                            0x104b135a8 std::__1::function<void ()>::operator()() const + 24 (function.h:1182)
97  bluebirdapp                            0x1048bee10 facebook::react::tryAndReturnError(std::__1::function<void ()> const&) + 24 (RCTCxxUtils.mm:74)
98  bluebirdapp                            0x1048e64bc facebook::react::RCTMessageThread::tryFunc(std::__1::function<void ()> const&) + 36 (RCTMessageThread.mm:69)
99  bluebirdapp                            0x1048ebfc4 facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1::operator()() const + 80 (RCTMessageThread.mm:82)
100 bluebirdapp                            0x1048ebf54 decltype(static_cast<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1&>(fp)()) std::__1::__invoke<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1&>(facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1&) + 24 (type_traits:3918)
101 bluebirdapp                            0x1048ebf0c void std::__1::__invoke_void_return_wrapper<void, true>::__call<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1&>(facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1&) + 28 (invoke.h:61)
102 bluebirdapp                            0x1048ebee4 std::__1::__function::__alloc_func<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1, std::__1::allocator<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1>, void ()>::operator()() + 28 (function.h:178)
103 bluebirdapp                            0x1048ea94c std::__1::__function::__func<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1, std::__1::allocator<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1>, void ()>::operator()() + 28 (function.h:352)
104 bluebirdapp                            0x104b13698 std::__1::__function::__value_func<void ()>::operator()() const + 60 (function.h:505)
105 bluebirdapp                            0x104b135a8 std::__1::function<void ()>::operator()() const + 24 (function.h:1182)
106 bluebirdapp                            0x1048e6218 invocation function for block in facebook::react::RCTMessageThread::runAsync(std::__1::function<void ()>) + 48 (RCTMessageThread.mm:45)
107 CoreFoundation                         0x180372f54 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 20
108 CoreFoundation                         0x18037269c __CFRunLoopDoBlocks + 364
109 CoreFoundation                         0x180

source code

import React, { useEffect, useRef, useState } from 'react'
import {
  PermissionsAndroid,
  Platform,
  SafeAreaView,
  ScrollView,
  View,
  StyleSheet,
  Text,
} from 'react-native'
import {
  ClientRoleType,
  createAgoraRtcEngine,
  IRtcEngine,
  RtcSurfaceView,
  ChannelProfileType,
} from 'react-native-agora'

/**
 * const
 */
const appId = '<--my app id-->'
const token = '<--Insert authentication token here-->'
const uid = 33

/**
 * styles
 */
const styles = StyleSheet.create({
  button: {
    paddingHorizontal: 25,
    paddingVertical: 4,
    fontWeight: 'bold',
    color: '#ffffff',
    backgroundColor: '#0055cc',
    margin: 5,
  },
  main: { flex: 1, alignItems: 'center' },
  scroll: { flex: 1, backgroundColor: '#ddeeff', width: '100%' },
  scrollContainer: { alignItems: 'center' },
  videoView: { width: '90%', height: 200 },
  btnContainer: { flexDirection: 'row', justifyContent: 'center' },
  head: { fontSize: 20 },
  info: { backgroundColor: '#ffffe0', color: '#0000ff' },
})

/**
 * props
 */
interface AgoraClientProps {
  channelName: string
}

/**
 * agoraの動画再生用コンポーネント
 */
const AgoraViewer: React.FC<AgoraClientProps> = ({ channelName }) => {
  const agoraEngineRef = useRef<IRtcEngine>() // Agora engine instance
  const [isJoined, setIsJoined] = useState(false) // Indicates if the local user has joined the channel
  const [remoteUid, setRemoteUid] = useState(0) // Uid of the remote user
  const [message, setMessage] = useState('') // Message to the user

  useEffect(() => {
    // Initialize Agora engine when the app starts
    setupVideoSDKEngine().then()
  })

  const setupVideoSDKEngine = async () => {
    try {
      // use the helper function to get permissions
      if (Platform.OS === 'android') {
        await getPermission()
      }
      agoraEngineRef.current = createAgoraRtcEngine()
      const agoraEngine = agoraEngineRef.current
      agoraEngine.registerEventHandler({
        onJoinChannelSuccess: () => {
          showMessage('Successfully joined the channel ' + channelName)
          setIsJoined(true)
        },
        onUserJoined: (_connection, Uid) => {
          showMessage('Remote user joined with uid ' + Uid)
          setRemoteUid(Uid)
        },
        onUserOffline: (_connection, Uid) => {
          showMessage('Remote user left the channel. uid: ' + Uid)
          setRemoteUid(0)
        },
      })
      agoraEngine.initialize({
        appId,
        channelProfile: ChannelProfileType.ChannelProfileLiveBroadcasting,
      })
      agoraEngine.enableVideo()
    } catch (e) {
      console.log(e)
    }
  }

  const join = async () => {
    if (isJoined) {
      return
    }
    try {
      agoraEngineRef.current?.setChannelProfile(ChannelProfileType.ChannelProfileCommunication)
      agoraEngineRef.current?.startPreview()
      agoraEngineRef.current?.joinChannel(token, channelName, uid, {
        clientRoleType: ClientRoleType.ClientRoleBroadcaster,
      })
    } catch (e) {
      console.log(e)
    }
  }

  const leave = () => {
    try {
      agoraEngineRef.current?.leaveChannel()
      setRemoteUid(0)
      setIsJoined(false)
      showMessage('You left the channel')
    } catch (e) {
      console.log(e)
    }
  }

  function showMessage(msg: string) {
    setMessage(msg)
  }

  const getPermission = async () => {
    if (Platform.OS === 'android') {
      await PermissionsAndroid.requestMultiple([
        PermissionsAndroid.PERMISSIONS.RECORD_AUDIO,
        PermissionsAndroid.PERMISSIONS.CAMERA,
      ])
    }
  }

  return (
    <SafeAreaView style={styles.main}>
      <Text style={styles.head}>Agora Video Calling Quickstart</Text>
      <View style={styles.btnContainer}>
        <Text
          onPress={() => {
            join().then()
          }}
          style={styles.button}
        >
          Join
        </Text>
        <Text
          onPress={() => {
            leave()
          }}
          style={styles.button}
        >
          Leave
        </Text>
      </View>
      <ScrollView style={styles.scroll} contentContainerStyle={styles.scrollContainer}>
        {isJoined ? (
          <React.Fragment key={0}>
            <RtcSurfaceView canvas={{ uid: 0 }} style={styles.videoView} />
            <Text>Local user uid: {uid}</Text>
          </React.Fragment>
        ) : (
          <Text>Join a channel</Text>
        )}
        {isJoined && remoteUid !== 0 ? (
          <React.Fragment key={remoteUid}>
            <RtcSurfaceView canvas={{ uid: remoteUid }} style={styles.videoView} />
            <Text>Remote user uid: {remoteUid}</Text>
          </React.Fragment>
        ) : (
          <Text>Waiting for a remote user to join</Text>
        )}
        <Text style={styles.info}>{message}</Text>
      </ScrollView>
    </SafeAreaView>
  )
}

export default AgoraViewer

if agoraEngine.registerEventHandler lines changed comment out, emulator has not crashed.

package.json

{
  "name": "bluebird-app",
  "version": "1.0.0",
  "scripts": {
    "start": "expo start --dev-client",
    "start-dev-client": "npx expo start --dev-client",
    "android": "expo run:android",
    "ios": "expo run:ios",
    "web": "expo start --web",
    "lint-fix": "eslint --cache --fix src/ && prettier --write src/",
    "generate-openapi": "npx openapi2aspida",
    "postinstall": "patch-package"
  },
  "dependencies": {
    "@aspida/axios": "^1.11.0",
    "@react-navigation/bottom-tabs": "^6.5.1",
    "@react-navigation/native": "^6.1.0",
    "@react-navigation/stack": "^6.3.9",
    "agora-react-native-rtm": "^1.5.1",
    "agora-rn-uikit": "^4.0.2",
    "axios": "^1.2.1",
    "dayjs": "^1.11.7",
    "deprecated-react-native-prop-types": "3.0.1",
    "expo": "~47.0.8",
    "expo-dev-client": "~2.0.1",
    "expo-splash-screen": "~0.17.5",
    "expo-status-bar": "~1.4.2",
    "jotai": "^1.11.1",
    "react": "18.1.0",
    "react-dom": "18.1.0",
    "react-native": "0.70.5",
    "react-native-agora": "4.1.0-rc.1",
    "react-native-gesture-handler": "~2.8.0",
    "react-native-safe-area-context": "4.4.1",
    "react-native-screens": "~3.18.0",
    "react-native-svg": "13.4.0",
    "react-native-web": "~0.18.9"
  },
  "devDependencies": {
    "@babel/core": "^7.12.9",
    "@types/node": "^18.11.12",
    "@types/react": "~18.0.14",
    "@types/react-native": "~0.70.6",
    "@typescript-eslint/eslint-plugin": "^5.46.0",
    "@typescript-eslint/parser": "^5.46.0",
    "babel-plugin-inline-import": "^3.0.0",
    "eslint": "^8.29.0",
    "eslint-config-prettier": "^8.5.0",
    "eslint-config-standard-with-typescript": "^23.0.0",
    "eslint-plugin-import": "^2.26.0",
    "eslint-plugin-n": "^15.6.0",
    "eslint-plugin-prettier": "^4.2.1",
    "eslint-plugin-promise": "^6.1.1",
    "eslint-plugin-react": "^7.31.11",
    "eslint-plugin-react-hooks": "^4.6.0",
    "patch-package": "^6.5.0",
    "postinstall-postinstall": "^2.1.0",
    "prettier": "^2.8.1",
    "react-native-svg-transformer": "^1.0.0",
    "ts-node": "^10.9.1",
    "typescript": "^4.9.4"
  },
  "private": true
}

pod install is fine. Could you help me?

LichKing-2234 commented 1 year ago

You should call registerEventHandler after initialize

hirasaki1985 commented 1 year ago

@LichKing-2234 Thank you for your reply.

oh, okay I understood.

I recommend following this site. https://docs.agora.io/en/video-calling/get-started/get-started-sdk?platform=react-native

according to 1. Check user permissions and instantiate Agora Engine, initialize method has executed after registerEventHandler.

LichKing-2234 commented 1 year ago

@hirasaki1985 This may be optimized in a later version, but it can only call registerEventHandler before initialize now.

hirasaki1985 commented 1 year ago

@LichKing-2234 okay, thank you for your notice.

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.