react-native-quick-crypto icon indicating copy to clipboard operation
react-native-quick-crypto copied to clipboard

💭 Using "react-native-exeception-handler" and "react-native-exit-app" along with this library is freezing the app

Open sriharsha-y opened this issue 1 year ago • 2 comments

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

sriharsha-y avatar Dec 05 '24 06:12 sriharsha-y

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 avatar Dec 13 '24 15:12 boorad

@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:

sriharsha-y avatar Dec 19 '24 10:12 sriharsha-y