[TIMOB-28514] iOS: Ti.App.getArguments() crashes app on cold start when launched via universal link
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Critical |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2021-08-05T13:59:03.000+0000 |
Affected Version/s | n/a |
Fix Version/s | Release 10.0.2 |
Components | iOS |
Labels | getarguments, ios, link |
Reporter | Jonas Funk Johannessen |
Assignee | Joshua Quick |
Created | 2019-10-08T11:06:33.000+0000 |
Updated | 2021-08-05T13:59:03.000+0000 |
Description
We have just release our first version with SDK 8 (8.1.0.GA), updating from 7.5.1.GA.
We have experienced a significant increase in Fatal Exception: NSInvalidArgumentException crashes with the new version – with no code changed. Going from 0 crashes a day to 375 a day. Below is the crash we are seeing. Happening when opening universal link when app is cold.
Fatal Exception: NSInvalidArgumentException
-[NSUserActivity unboundBridge:]: unrecognized selector sent to instance 0x283785440
Fatal Exception: NSInvalidArgumentException
0 CoreFoundation 0x1a27f098c __exceptionPreprocess
1 libobjc.A.dylib 0x1a25190a4 objc_exception_throw
2 CoreFoundation 0x1a26f443c -[NSOrderedSet initWithSet:copyItems:]
3 CoreFoundation 0x1a27f4e08 ___forwarding___
4 CoreFoundation 0x1a27f6bec _CF_forwarding_prep_0
5 TitaniumKit 0x105ec8bbc (Missing)
6 JavaScriptCore 0x1b15a4a64 <redacted>
7 JavaScriptCore 0x1b1d40688 <redacted>
8 JavaScriptCore 0x1b1d3f27c <redacted>
9 JavaScriptCore 0x1b1d3ce54 <redacted>
10 JavaScriptCore 0x1b1d3cd24 <redacted>
11 JavaScriptCore 0x1b1a18150 <redacted>
12 JavaScriptCore 0x1b19f4214 <redacted>
13 JavaScriptCore 0x1b1a19bc0 <redacted>
14 JavaScriptCore 0x1b19fc0e0 JSC::Heap::sweepSynchronously()
15 JavaScriptCore 0x1b1a00780 <redacted>
16 JavaScriptCore 0x1b1a0000c <redacted>
17 JavaScriptCore 0x1b19fd09c <redacted>
18 JavaScriptCore 0x1b19feeec <redacted>
19 JavaScriptCore 0x1b19fcee0 <redacted>
20 JavaScriptCore 0x1b1a05388 <redacted>
21 JavaScriptCore 0x1b1a157e4 <redacted>
22 JavaScriptCore 0x1b1a000bc <redacted>
23 JavaScriptCore 0x1b19ffea8 _ZN3JSC4Heap19stopIfNecessarySlowEv
24 JavaScriptCore 0x1b19f9c58 <redacted>
25 JavaScriptCore 0x1b1e4f43c (Missing)
26 JavaScriptCore 0x1b1b7bec8 <redacted>
27 JavaScriptCore 0x1b156a2b4 <redacted>
28 JavaScriptCore 0x1b157c128 <redacted>
29 JavaScriptCore 0x1b157c128 <redacted>
30 JavaScriptCore 0x1b157c128 <redacted>
31 JavaScriptCore 0x1b157c128 <redacted>
32 JavaScriptCore 0x1b157c128 <redacted>
33 JavaScriptCore 0x1b155d7e8 <redacted>
34 JavaScriptCore 0x1b1abb258 <redacted>
35 JavaScriptCore 0x1b1ca5970 JSC::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&)
36 JavaScriptCore 0x1b15b73cc JSObjectCallAsFunction
37 TitaniumKit 0x105ecbd04 __65-[KrollObject invokeCallbackForKey:withObject:thisObject:onDone:]_block_invoke
38 libdispatch.dylib 0x1a24bd610 _dispatch_call_block_and_release
39 libdispatch.dylib 0x1a24be184 _dispatch_client_callout
40 libdispatch.dylib 0x1a24701d0 _dispatch_main_queue_callback_4CF$VARIANT$mp
41 CoreFoundation 0x1a276e3c4 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
42 CoreFoundation 0x1a27693b8 __CFRunLoopRun
43 CoreFoundation 0x1a27688bc CFRunLoopRunSpecific
44 GraphicsServices 0x1ac5d4328 GSEventRunModal
45 UIKitCore 0x1a67fe6d4 UIApplicationMain
46 Reshopper 0x1045c2fcc main + 69 (main.m:69)
47 libdyld.dylib 0x1a25f3460 (Missing)
Crashed: com.twitter.crashlytics.ios.exception
SIGABRT ABORT 0x00000001a25e8ebc
Crashed: com.twitter.crashlytics.ios.exception
0 Reshopper 0x104e707a8 CLSProcessRecordAllThreads + 1699156
1 Reshopper 0x104e707a8 CLSProcessRecordAllThreads + 1699156
2 Reshopper 0x104e70664 CLSProcessRecordAllThreads + 1698832
3 Reshopper 0x104e5fb54 CLSHandler + 1630464
4 Reshopper 0x104e6e7d0 __CLSExceptionRecord_block_invoke + 1691004
5 libdispatch.dylib 0x1a24be184 _dispatch_client_callout + 16
6 libdispatch.dylib 0x1a2470c44 _dispatch_lane_barrier_sync_invoke_and_complete + 56
7 Reshopper 0x104e6e264 CLSExceptionRecord + 1689616
8 Reshopper 0x104e6e08c CLSExceptionRecordNSException + 1689144
9 Reshopper 0x104e6dca0 CLSTerminateHandler() + 1688140
10 libc++abi.dylib 0x1a25be304 std::__terminate(void (*)()) + 16
11 libc++abi.dylib 0x1a25bdc58 __cxa_get_exception_ptr + 30
12 libc++abi.dylib 0x1a25bdc18 __cxxabiv1::exception_cleanup_func(_Unwind_Reason_Code, _Unwind_Exception*) + 122
13 libobjc.A.dylib 0x1a25191d0 _objc_exception_destructor(void*) + 354
14 CoreFoundation 0x1a26f443c -[NSOrderedSet initWithSet:copyItems:] + 138
15 CoreFoundation 0x1a27f4e08 ___forwarding___ + 1324
16 CoreFoundation 0x1a27f6bec _CF_forwarding_prep_0 + 92
17 TitaniumKit 0x105ec8bbc KrollFinalizer + 292
18 JavaScriptCore 0x1b15a4a64 <redacted> + 104
19 JavaScriptCore 0x1b1d40688 <redacted> + 168
20 JavaScriptCore 0x1b1d3f27c <redacted> + 260
21 JavaScriptCore 0x1b1d3ce54 <redacted> + 292
22 JavaScriptCore 0x1b1d3cd24 <redacted> + 32
23 JavaScriptCore 0x1b1a18150 <redacted> + 324
24 JavaScriptCore 0x1b19f4214 <redacted> + 92
25 JavaScriptCore 0x1b1a19bc0 <redacted> + 44
26 JavaScriptCore 0x1b19fc0e0 JSC::Heap::sweepSynchronously() + 240
27 JavaScriptCore 0x1b1a00780 <redacted> + 480
28 JavaScriptCore 0x1b1a0000c <redacted> + 108
29 JavaScriptCore 0x1b19fd09c <redacted> + 152
30 JavaScriptCore 0x1b19feeec <redacted> + 2600
31 JavaScriptCore 0x1b19fcee0 <redacted> + 348
32 JavaScriptCore 0x1b1a05388 <redacted> + 36
33 JavaScriptCore 0x1b1a157e4 <redacted> + 156
34 JavaScriptCore 0x1b1a000bc <redacted> + 96
35 JavaScriptCore 0x1b19ffea8 _ZN3JSC4Heap19stopIfNecessarySlowEv + 64
36 JavaScriptCore 0x1b19f9c58 <redacted> + 156
37 JavaScriptCore 0x1b1e4f43c JSC::Structure::materializePropertyTable(JSC::VM&, bool) + 848
38 JavaScriptCore 0x1b1b7bec8 <redacted> + 668
39 JavaScriptCore 0x1b156a2b4 <redacted> + 51332
40 JavaScriptCore 0x1b157c128 <redacted> + 124664
41 JavaScriptCore 0x1b157c128 <redacted> + 124664
42 JavaScriptCore 0x1b157c128 <redacted> + 124664
43 JavaScriptCore 0x1b157c128 <redacted> + 124664
44 JavaScriptCore 0x1b157c128 <redacted> + 124664
45 JavaScriptCore 0x1b155d7e8 <redacted> + 248
46 JavaScriptCore 0x1b1abb258 <redacted> + 408
47 JavaScriptCore 0x1b1ca5970 JSC::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 184
48 JavaScriptCore 0x1b15b73cc JSObjectCallAsFunction + 376
49 TitaniumKit 0x105ecbd04 __65-[KrollObject invokeCallbackForKey:withObject:thisObject:onDone:]_block_invoke + 460
50 libdispatch.dylib 0x1a24bd610 _dispatch_call_block_and_release + 24
51 libdispatch.dylib 0x1a24be184 _dispatch_client_callout + 16
52 libdispatch.dylib 0x1a24701d0 _dispatch_main_queue_callback_4CF$VARIANT$mp + 1044
53 CoreFoundation 0x1a276e3c4 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
54 CoreFoundation 0x1a27693b8 __CFRunLoopRun + 2004
55 CoreFoundation 0x1a27688bc CFRunLoopRunSpecific + 464
56 GraphicsServices 0x1ac5d4328 GSEventRunModal + 104
57 UIKitCore 0x1a67fe6d4 UIApplicationMain + 1936
58 Reshopper 0x1045c2fcc main + 69 (main.m:69)
59 libdyld.dylib 0x1a25f3460 <redacted> + 4
We see something familiar. It seems to be related to the
UserActivity
/ Handoff API delegate. You should check in that direction. We will debug the native code internally as well.Found out this is happening when opening universal links when app is started from cold. Did you look further into this Hans?
We have been using universal links with 8.1.1 without any problems... Is it something you can replicate.
Yes, it can be replicated. Happens if you click on a universal link when app is cold. It *does* work if app is just in background.
Did some further digging. It appears that this is happening, if you open a universal link and asking for launchOptions through Ti.App.getArguments().
Listening for Ti.App.iOS handleUrl event fixes the issue
[~jonasfunk] Can you see TIMOB-27354, if this can be helpful? Thanks!
Yes, that fixed the issue. Thank you.
This is actually still happening a lot for us, although using the
handleurl
event. Does anyone have a guess here?PR (master): https://github.com/appcelerator/titanium_mobile/pull/12988
Merged to master and 10_0_X