Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOS: Crash on Recaptcha.getClient #101

Closed
1 of 4 tasks
petaren opened this issue Apr 4, 2024 · 3 comments
Closed
1 of 4 tasks

iOS: Crash on Recaptcha.getClient #101

petaren opened this issue Apr 4, 2024 · 3 comments
Labels
bug Something isn't working

Comments

@petaren
Copy link

petaren commented Apr 4, 2024

Describe the bug

reCAPTCHA crashes the app on init of reCAPTCHA client

reCAPTCHA Site Key

can be provided on request

Integration Method

Select the method used to integrate with reCAPTCHA Mobile.

  • SPM (iOS)
  • Cocoapods (iOS)
  • Direct Download (iOS)
  • GMaven (Android)

SDK Version (e.g. 18.0.1):

  • 18.4.2
  • 18.5.0-beta01
  • 18.5.0-beta02

To Reproduce

Steps to reproduce the behavior:

Call try async ReCaptcha.getClient(withSiteKey: mySiteKey, withTimeout: 20)

Expected behavior

getClient(withSiteKey:withTimeout:) should return a ReCaptcha client.

Xcode version for iOS (please complete the following information):

  • Version 15.3

Device (please complete the following information):

Impacted devices and simulators:

  • iPhone 13 - iOS 17.4.1
  • iPhone 15 Pro Max - iOS 17.4.1

Does NOT happen on:

  • iPhone 13 - iOS 17.3.1
  • Simulator - iOS 17.2
  • Simulator - iOS 17.4

Stack trace from crashing thread

* thread #1, stop reason = EXC_BREAKPOINT (code=1, subcode=0x1b2f3ba48)
    frame #0: 0x00000001b2f3ba48 libsystem_malloc.dylib`xzm_malloc_zone_free_slow.cold.1 + 28
    frame #1: 0x00000001b2f328d0 libsystem_malloc.dylib`xzm_malloc_zone_free_slow + 516
    frame #2: 0x00000001ba33f1c8 JavaScriptCore`pas_try_deallocate_slow_no_cache + 428
    frame #3: 0x00000001b8e232f8 JavaScriptCore`WTF::String::String(__CFString const*) + 620
    frame #4: 0x00000001b81e49ac WebKit`WebKit::isFullWebBrowserOrRunningTest() + 28
    frame #5: 0x00000001b8731480 WebKit`WebKit::WebsiteDataStoreConfiguration::WebsiteDataStoreConfiguration(WebKit::IsPersistent, WebKit::WebsiteDataStoreConfiguration::ShouldInitializePaths) + 136
    frame #6: 0x00000001b8723a40 WebKit`WebKit::WebsiteDataStore::defaultDataStore() + 164
    frame #7: 0x00000001b830c4dc WebKit`+[WKWebsiteDataStore defaultDataStore] + 28
    frame #8: 0x00000001b8306518 WebKit`-[WKWebViewConfiguration websiteDataStore] + 40
    frame #9: 0x00000001b82c6744 WebKit`-[WKWebView _initializeWithConfiguration:] + 92
    frame #10: 0x00000001b82c7cf8 WebKit`-[WKWebView initWithFrame:configuration:] + 72
    frame #11: 0x0000000105c330b8 MyApp`function signature specialization <Arg[0] = Owned To Guaranteed, Arg[1] = Owned To Guaranteed, Arg[2] = Owned To Guaranteed, Arg[3] = Owned To Guaranteed> of Recaptcha.dXQZK6Wy.init(siteKey: Swift.String, tlVnKBMO: Recaptcha.qypjN6Jy, wVHWp7Hl: Recaptcha.qnofJ8ip, webView: Swift.Optional<__C.WKWebView>) -> Recaptcha.dXQZK6Wy + 576
    frame #12: 0x0000000105beea48 MyApp`closure #1 (Recaptcha.pldMclEG) -> Recaptcha.jdujPgaD in Recaptcha.hCNBtW8z.zuXBhR7x(Swift.String, Recaptcha.l1c1KaBh, Recaptcha.qypjN6Jy, __C.RCAzexkjzos) -> (Recaptcha.pldMclEG) throws -> Recaptcha.jdujPgaD + 340
    frame #13: 0x0000000105bf01c4 MyApp`partial apply forwarder for closure #1 (Recaptcha.pldMclEG) -> Recaptcha.jdujPgaD in Recaptcha.hCNBtW8z.zuXBhR7x(Swift.String, Recaptcha.l1c1KaBh, Recaptcha.qypjN6Jy, __C.RCAzexkjzos) -> (Recaptcha.pldMclEG) throws -> Recaptcha.jdujPgaD + 24
    frame #14: 0x0000000105c2e17c MyApp`merged generic specialization <__C.RCAMobileReloadResponse> of closure #1 () -> () in static Recaptcha.pldMclEG.cyPcPOOt<τ_0_0>(Swift.Optional<Recaptcha.pldMclEG>, __C.OS_dispatch_group, (Recaptcha.pldMclEG) throws -> τ_0_0) -> Recaptcha.xUN1yF11<τ_0_0> + 56
    frame #15: 0x0000000105c34d28 MyApp`merged partial apply forwarder for generic specialization <__C.RCAupptmhqq> of closure #1 () -> () in static Recaptcha.pldMclEG.cyPcPOOt<τ_0_0>(Swift.Optional<Recaptcha.pldMclEG>, __C.OS_dispatch_group, (Recaptcha.pldMclEG) throws -> τ_0_0) -> Recaptcha.xUN1yF11<τ_0_0> + 28
    frame #16: 0x0000000104de9f24 MyApp`thunk for @escaping @callee_guaranteed () -> () at <compiler-generated>:0
    frame #17: 0x00000001149d7764 libdispatch.dylib`_dispatch_block_async_invoke2 + 148
    frame #18: 0x00000001149c67bc libdispatch.dylib`_dispatch_client_callout + 20
    frame #19: 0x00000001149d6d58 libdispatch.dylib`_dispatch_main_queue_drain + 1084
    frame #20: 0x00000001149d690c libdispatch.dylib`_dispatch_main_queue_callback_4CF + 44
    frame #21: 0x00000001a2d9151c CoreFoundation`__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16
    frame #22: 0x00000001a2d8e218 CoreFoundation`__CFRunLoopRun + 1996
    frame #23: 0x00000001a2d8d968 CoreFoundation`CFRunLoopRunSpecific + 608
    frame #24: 0x00000001e70834e0 GraphicsServices`GSEventRunModal + 164
    frame #25: 0x00000001a5200edc UIKitCore`-[UIApplication _run] + 888
    frame #26: 0x00000001a5200518 UIKitCore`UIApplicationMain + 340
  * frame #27: 0x0000000104f84540 MyApp`main at AppDelegate.swift:21:7
    frame #28: 0x00000001c62aed84 dyld`start + 2240
@petaren petaren added the bug Something isn't working label Apr 4, 2024
@mcorner
Copy link
Collaborator

mcorner commented Apr 4, 2024

The stack trace sounds similar to this: https://forums.developer.apple.com/forums/thread/748008

AAChartModel/AAChartKit#1538

Are you running with malloc diagnostics or is this in production?

@mcorner
Copy link
Collaborator

mcorner commented Apr 4, 2024

Also does this happen on xcode 15.2? Smells like an apple bug, but we will see...

@petaren
Copy link
Author

petaren commented Apr 4, 2024

@mcorner Disabling Malloc Stack Logging solved the issue for me. Thank you very much for that suggestion!

@petaren petaren closed this as completed Apr 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants