💭 Using "react-native-exeception-handler" and "react-native-exit-app" along with this library is freezing the app
Question
I am handling JS & Native side exceptions with react-native-exception-handler and using react-native-exit-app for closing the iOS app in certain flows. When I use this library (just adding it as dependency) along with mentioned libraries the app freezes whenever I call exit app from 'react-native-exit-app'
Seems it has something to do with ABORT signal raised from this library which is getting caught by rect-native-exception-handler and I couldn't figure out why ABORT signal is raised by this library when I do exit app.
Can someone help me out and let me know what is the actual problem ?
What I tried
No response
QuickCrypto Version
0.7.7
Additional information
- [ ] I am using Expo
- [X] I have read the Troubleshooting Guide
- [X] I agree to follow this project's Code of Conduct
- [X] I searched for similar questions in the issues page as well as in the discussions page and found none.
I just cleaned up code in a dtor that was crashing (#540, then properly in #558). Maybe that helps upon app exit? Try 0.7.10 and report back here, please 🙏
@boorad I tried 0.7.10 but I still face this issue. I think the problem might be originating from here https://github.com/margelo/react-native-quick-crypto/blob/v0.7.10/cpp/Utils/MGLDispatchQueue.cpp#L58
Here is symbolicated log for reference.
* Symbolicating process XXXXXX
Running command: xcrun atos -o "/Users/MySelf/Documents/XXXXXX/Project/apps/mobile/ios/build/XXXXXXAdhocQA.app.dSYM/XXXXXX.app.dSYM/Contents/Resources/DWARF/XXXXXX" -arch arm64 -l 0x104c64000 0x0000000104c6ea38 0x000000010532fce0 0x000000010532f980 0x0000000104f0e544 0x0000000104f10648 0x0000000104f10298 0x0000000104ef0ca8 0x00000001053b2ba4 0x00000001053b2f68 0x000000010510e254 0x0000000104eac8ec 0x0000000104eac89c 0x0000000104d7c9cc 0x0000000104f0e544 0x0000000104f10648 0x0000000104f10298
STDOUT:
main (in XXXXXX) (main.m:13)
specialized FraudNativeModule.authenticate(clientId:sessionId:msisdn:env:timeout:resolve:reject:) (in XXXXXX) (FraudNativeModule.swift:40)
@objc FraudNativeModule.authenticate(clientId:sessionId:msisdn:env:timeout:resolve:reject:) (in XXXXXX) (<compiler-generated>:27)
-[RCTModuleMethod invokeWithBridge:module:arguments:] (in XXXXXX) (RCTModuleMethod.mm:587)
facebook::react::invokeInner(RCTBridge*, RCTModuleData*, unsigned int, folly::dynamic const&, int, (anonymous namespace)::SchedulingContext) (in XXXXXX) (RCTNativeModule.mm:196)
invocation function for block in facebook::react::RCTNativeModule::invoke(unsigned int, folly::dynamic&&, int) (in XXXXXX) (RCTNativeModule.mm:104)
+[RCTCxxBridge runRunLoop] (in XXXXXX) (RCTCxxBridge.mm:0)
margelo::DispatchQueue::dispatch_queue::dispatch_thread_handler() (in XXXXXX) (MGLDispatchQueue.cpp:58)
void* std::__1::__thread_proxy[abi:v160006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (margelo::DispatchQueue::dispatch_queue::*)(), margelo::DispatchQueue::dispatch_queue*>>(void*) (in XXXXXX) (thread:301)
-[SRRunLoopThread main] (in XXXXXX) (SRRunLoopThread.m:70)
std::__1::__hash_table<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::__deallocate_node(std::__1::__hash_node_base<std::__1::__hash_node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, void*>*>*) (in XXXXXX) (__hash_table:1538)
std::__1::__hash_table<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::~__hash_table() (in XXXXXX) (__hash_table:1480)
-[RNFSDownloadParams fromUrl] (in XXXXXX) (Downloader.h:11)
-[RCTModuleMethod invokeWithBridge:module:arguments:] (in XXXXXX) (RCTModuleMethod.mm:587)
facebook::react::invokeInner(RCTBridge*, RCTModuleData*, unsigned int, folly::dynamic const&, int, (anonymous namespace)::SchedulingContext) (in XXXXXX) (RCTNativeModule.mm:196)
invocation function for block in facebook::react::RCTNativeModule::invoke(unsigned int, folly::dynamic&&, int) (in XXXXXX) (RCTNativeModule.mm:104)
STDERR: