{ "id": "174230", "key": "TIMOB-28514", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "21243", "description": "", "name": "Release 10.0.2", "archived": false, "released": true, "releaseDate": "2021-08-10" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2021-08-05T13:59:03.000+0000", "created": "2019-10-08T11:06:33.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "getarguments", "ios", "link" ], "versions": [], "issuelinks": [ { "id": "59309", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "172352", "key": "TIMOB-26610", "fields": { "summary": "Titanium.App.getArguments(); at SDK 7.4.1 appears to have the following bug:", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Critical", "id": "1" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "59308", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "176251", "key": "TIMOB-28513", "fields": { "summary": "iOS: App crashes on cold launch with Ti.App.getArguments() if opened from App Clip", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Critical", "id": "1" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2021-08-05T13:59:03.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "We have just release our first version with SDK 8 (8.1.0.GA), updating from 7.5.1.GA. \r\nWe 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. \r\n\r\n{code:java}\r\nFatal Exception: NSInvalidArgumentException\r\n-[NSUserActivity unboundBridge:]: unrecognized selector sent to instance 0x283785440\r\nFatal Exception: NSInvalidArgumentException\r\n0 CoreFoundation 0x1a27f098c __exceptionPreprocess\r\n1 libobjc.A.dylib 0x1a25190a4 objc_exception_throw\r\n2 CoreFoundation 0x1a26f443c -[NSOrderedSet initWithSet:copyItems:]\r\n3 CoreFoundation 0x1a27f4e08 ___forwarding___\r\n4 CoreFoundation 0x1a27f6bec _CF_forwarding_prep_0\r\n5 TitaniumKit 0x105ec8bbc (Missing)\r\n6 JavaScriptCore 0x1b15a4a64 \r\n7 JavaScriptCore 0x1b1d40688 \r\n8 JavaScriptCore 0x1b1d3f27c \r\n9 JavaScriptCore 0x1b1d3ce54 \r\n10 JavaScriptCore 0x1b1d3cd24 \r\n11 JavaScriptCore 0x1b1a18150 \r\n12 JavaScriptCore 0x1b19f4214 \r\n13 JavaScriptCore 0x1b1a19bc0 \r\n14 JavaScriptCore 0x1b19fc0e0 JSC::Heap::sweepSynchronously()\r\n15 JavaScriptCore 0x1b1a00780 \r\n16 JavaScriptCore 0x1b1a0000c \r\n17 JavaScriptCore 0x1b19fd09c \r\n18 JavaScriptCore 0x1b19feeec \r\n19 JavaScriptCore 0x1b19fcee0 \r\n20 JavaScriptCore 0x1b1a05388 \r\n21 JavaScriptCore 0x1b1a157e4 \r\n22 JavaScriptCore 0x1b1a000bc \r\n23 JavaScriptCore 0x1b19ffea8 _ZN3JSC4Heap19stopIfNecessarySlowEv\r\n24 JavaScriptCore 0x1b19f9c58 \r\n25 JavaScriptCore 0x1b1e4f43c (Missing)\r\n26 JavaScriptCore 0x1b1b7bec8 \r\n27 JavaScriptCore 0x1b156a2b4 \r\n28 JavaScriptCore 0x1b157c128 \r\n29 JavaScriptCore 0x1b157c128 \r\n30 JavaScriptCore 0x1b157c128 \r\n31 JavaScriptCore 0x1b157c128 \r\n32 JavaScriptCore 0x1b157c128 \r\n33 JavaScriptCore 0x1b155d7e8 \r\n34 JavaScriptCore 0x1b1abb258 \r\n35 JavaScriptCore 0x1b1ca5970 JSC::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&)\r\n36 JavaScriptCore 0x1b15b73cc JSObjectCallAsFunction\r\n37 TitaniumKit 0x105ecbd04 __65-[KrollObject invokeCallbackForKey:withObject:thisObject:onDone:]_block_invoke\r\n38 libdispatch.dylib 0x1a24bd610 _dispatch_call_block_and_release\r\n39 libdispatch.dylib 0x1a24be184 _dispatch_client_callout\r\n40 libdispatch.dylib 0x1a24701d0 _dispatch_main_queue_callback_4CF$VARIANT$mp\r\n41 CoreFoundation 0x1a276e3c4 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__\r\n42 CoreFoundation 0x1a27693b8 __CFRunLoopRun\r\n43 CoreFoundation 0x1a27688bc CFRunLoopRunSpecific\r\n44 GraphicsServices 0x1ac5d4328 GSEventRunModal\r\n45 UIKitCore 0x1a67fe6d4 UIApplicationMain\r\n46 Reshopper 0x1045c2fcc main + 69 (main.m:69)\r\n47 libdyld.dylib 0x1a25f3460 (Missing)\r\n{code}\r\n\r\n\r\n\r\n{code:java}\r\nCrashed: com.twitter.crashlytics.ios.exception\r\nSIGABRT ABORT 0x00000001a25e8ebc\r\nCrashed: com.twitter.crashlytics.ios.exception\r\n0 Reshopper 0x104e707a8 CLSProcessRecordAllThreads + 1699156\r\n1 Reshopper 0x104e707a8 CLSProcessRecordAllThreads + 1699156\r\n2 Reshopper 0x104e70664 CLSProcessRecordAllThreads + 1698832\r\n3 Reshopper 0x104e5fb54 CLSHandler + 1630464\r\n4 Reshopper 0x104e6e7d0 __CLSExceptionRecord_block_invoke + 1691004\r\n5 libdispatch.dylib 0x1a24be184 _dispatch_client_callout + 16\r\n6 libdispatch.dylib 0x1a2470c44 _dispatch_lane_barrier_sync_invoke_and_complete + 56\r\n7 Reshopper 0x104e6e264 CLSExceptionRecord + 1689616\r\n8 Reshopper 0x104e6e08c CLSExceptionRecordNSException + 1689144\r\n9 Reshopper 0x104e6dca0 CLSTerminateHandler() + 1688140\r\n10 libc++abi.dylib 0x1a25be304 std::__terminate(void (*)()) + 16\r\n11 libc++abi.dylib 0x1a25bdc58 __cxa_get_exception_ptr + 30\r\n12 libc++abi.dylib 0x1a25bdc18 __cxxabiv1::exception_cleanup_func(_Unwind_Reason_Code, _Unwind_Exception*) + 122\r\n13 libobjc.A.dylib 0x1a25191d0 _objc_exception_destructor(void*) + 354\r\n14 CoreFoundation 0x1a26f443c -[NSOrderedSet initWithSet:copyItems:] + 138\r\n15 CoreFoundation 0x1a27f4e08 ___forwarding___ + 1324\r\n16 CoreFoundation 0x1a27f6bec _CF_forwarding_prep_0 + 92\r\n17 TitaniumKit 0x105ec8bbc KrollFinalizer + 292\r\n18 JavaScriptCore 0x1b15a4a64 + 104\r\n19 JavaScriptCore 0x1b1d40688 + 168\r\n20 JavaScriptCore 0x1b1d3f27c + 260\r\n21 JavaScriptCore 0x1b1d3ce54 + 292\r\n22 JavaScriptCore 0x1b1d3cd24 + 32\r\n23 JavaScriptCore 0x1b1a18150 + 324\r\n24 JavaScriptCore 0x1b19f4214 + 92\r\n25 JavaScriptCore 0x1b1a19bc0 + 44\r\n26 JavaScriptCore 0x1b19fc0e0 JSC::Heap::sweepSynchronously() + 240\r\n27 JavaScriptCore 0x1b1a00780 + 480\r\n28 JavaScriptCore 0x1b1a0000c + 108\r\n29 JavaScriptCore 0x1b19fd09c + 152\r\n30 JavaScriptCore 0x1b19feeec + 2600\r\n31 JavaScriptCore 0x1b19fcee0 + 348\r\n32 JavaScriptCore 0x1b1a05388 + 36\r\n33 JavaScriptCore 0x1b1a157e4 + 156\r\n34 JavaScriptCore 0x1b1a000bc + 96\r\n35 JavaScriptCore 0x1b19ffea8 _ZN3JSC4Heap19stopIfNecessarySlowEv + 64\r\n36 JavaScriptCore 0x1b19f9c58 + 156\r\n37 JavaScriptCore 0x1b1e4f43c JSC::Structure::materializePropertyTable(JSC::VM&, bool) + 848\r\n38 JavaScriptCore 0x1b1b7bec8 + 668\r\n39 JavaScriptCore 0x1b156a2b4 + 51332\r\n40 JavaScriptCore 0x1b157c128 + 124664\r\n41 JavaScriptCore 0x1b157c128 + 124664\r\n42 JavaScriptCore 0x1b157c128 + 124664\r\n43 JavaScriptCore 0x1b157c128 + 124664\r\n44 JavaScriptCore 0x1b157c128 + 124664\r\n45 JavaScriptCore 0x1b155d7e8 + 248\r\n46 JavaScriptCore 0x1b1abb258 + 408\r\n47 JavaScriptCore 0x1b1ca5970 JSC::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 184\r\n48 JavaScriptCore 0x1b15b73cc JSObjectCallAsFunction + 376\r\n49 TitaniumKit 0x105ecbd04 __65-[KrollObject invokeCallbackForKey:withObject:thisObject:onDone:]_block_invoke + 460\r\n50 libdispatch.dylib 0x1a24bd610 _dispatch_call_block_and_release + 24\r\n51 libdispatch.dylib 0x1a24be184 _dispatch_client_callout + 16\r\n52 libdispatch.dylib 0x1a24701d0 _dispatch_main_queue_callback_4CF$VARIANT$mp + 1044\r\n53 CoreFoundation 0x1a276e3c4 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12\r\n54 CoreFoundation 0x1a27693b8 __CFRunLoopRun + 2004\r\n55 CoreFoundation 0x1a27688bc CFRunLoopRunSpecific + 464\r\n56 GraphicsServices 0x1ac5d4328 GSEventRunModal + 104\r\n57 UIKitCore 0x1a67fe6d4 UIApplicationMain + 1936\r\n58 Reshopper 0x1045c2fcc main + 69 (main.m:69)\r\n59 libdyld.dylib 0x1a25f3460 + 4\r\n{code}\r\n", "attachment": [], "flagged": false, "summary": " iOS: Ti.App.getArguments() crashes app on cold start when launched via universal link", "creator": { "name": "jonasfunk", "key": "jonasfunk", "displayName": "Jonas Funk Johannessen", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "jonasfunk", "key": "jonasfunk", "displayName": "Jonas Funk Johannessen", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "{code:java}\r\nOperating System\r\n Name = Mac OS X\r\n Version = 10.14.6\r\n Architecture = 64bit\r\n # CPUs = 8\r\n Memory = 16.0GB\r\n\r\nNode.js\r\n Node.js Version = 8.14.0\r\n npm Version = 6.11.3\r\n\r\nTitanium CLI\r\n CLI Version = 5.2.1\r\n node-appc Version = 0.2.49\r\n\r\n\r\nTitanium CLI Dependencies\r\n ✓ adm-zip up-to-date (v0.4.13)\r\n ✓ async up-to-date (v2.6.1)\r\n ✓ colors up-to-date (v1.3.3)\r\n ✓ fields up-to-date (v0.1.24)\r\n ✓ fs-extra up-to-date (v7.0.1)\r\n ✓ humanize up-to-date (v0.0.9)\r\n ✓ longjohn up-to-date (v0.2.12)\r\n ✓ moment up-to-date (v2.22.2)\r\n ✓ node-appc up-to-date (v0.2.49)\r\n ✓ request up-to-date (v2.88.0)\r\n ✓ semver up-to-date (v5.6.0)\r\n ✓ sprintf up-to-date (v0.1.5)\r\n ✓ temp up-to-date (v0.9.0)\r\n ✓ winston up-to-date (v1.1.2)\r\n \r\nTitanium SDK\r\n ✓ latest sdk installed (v8.1.0.GA)\r\n ✓ selected sdk up-to-date (v8.1.0.GA)\r\n{code}", "comment": { "comments": [ { "id": "451907", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "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.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2019-10-08T19:56:36.000+0000", "updated": "2019-10-08T19:56:36.000+0000" }, { "id": "452951", "author": { "name": "jonasfunk", "key": "jonasfunk", "displayName": "Jonas Funk Johannessen", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Found out this is happening when opening universal links when app is started from cold. \r\nDid you look further into this Hans?", "updateAuthor": { "name": "jonasfunk", "key": "jonasfunk", "displayName": "Jonas Funk Johannessen", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-11-29T14:58:45.000+0000", "updated": "2019-11-29T15:00:14.000+0000" }, { "id": "452954", "author": { "name": "raybelisle", "key": "raybelisle", "displayName": "Ray Belisle", "active": true, "timeZone": "America/Edmonton" }, "body": "We have been using universal links with 8.1.1 without any problems... Is it something you can replicate.", "updateAuthor": { "name": "raybelisle", "key": "raybelisle", "displayName": "Ray Belisle", "active": true, "timeZone": "America/Edmonton" }, "created": "2019-11-30T19:31:37.000+0000", "updated": "2019-11-30T19:31:37.000+0000" }, { "id": "452957", "author": { "name": "jonasfunk", "key": "jonasfunk", "displayName": "Jonas Funk Johannessen", "active": true, "timeZone": "America/Los_Angeles" }, "body": "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. ", "updateAuthor": { "name": "jonasfunk", "key": "jonasfunk", "displayName": "Jonas Funk Johannessen", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-12-02T08:40:45.000+0000", "updated": "2019-12-02T08:40:45.000+0000" }, { "id": "452964", "author": { "name": "jonasfunk", "key": "jonasfunk", "displayName": "Jonas Funk Johannessen", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Did some further digging. It appears that this is happening, if you open a universal link and asking for launchOptions through Ti.App.getArguments(). ", "updateAuthor": { "name": "jonasfunk", "key": "jonasfunk", "displayName": "Jonas Funk Johannessen", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-12-02T14:06:25.000+0000", "updated": "2019-12-02T14:06:25.000+0000" }, { "id": "452968", "author": { "name": "jonasfunk", "key": "jonasfunk", "displayName": "Jonas Funk Johannessen", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Listening for Ti.App.iOS handleUrl event fixes the issue", "updateAuthor": { "name": "jonasfunk", "key": "jonasfunk", "displayName": "Jonas Funk Johannessen", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-12-02T14:37:46.000+0000", "updated": "2019-12-02T14:37:46.000+0000" }, { "id": "452976", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~jonasfunk] Can you see TIMOB-27354, if this can be helpful? Thanks!", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-12-02T19:37:10.000+0000", "updated": "2019-12-02T19:37:10.000+0000" }, { "id": "452994", "author": { "name": "jonasfunk", "key": "jonasfunk", "displayName": "Jonas Funk Johannessen", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Yes, that fixed the issue. Thank you. ", "updateAuthor": { "name": "jonasfunk", "key": "jonasfunk", "displayName": "Jonas Funk Johannessen", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-12-03T08:51:11.000+0000", "updated": "2019-12-03T08:51:11.000+0000" }, { "id": "458532", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "This is actually still happening a lot for us, although using the {{handleurl}} event. Does anyone have a guess here?", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2021-04-06T14:49:42.000+0000", "updated": "2021-04-06T14:49:42.000+0000" }, { "id": "458930", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR (master): https://github.com/appcelerator/titanium_mobile/pull/12988", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-07-29T21:05:49.000+0000", "updated": "2021-07-29T21:05:49.000+0000" }, { "id": "458955", "author": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "body": "Merged to master and 10_0_X", "updateAuthor": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "created": "2021-08-05T13:58:58.000+0000", "updated": "2021-08-05T13:58:58.000+0000" } ], "maxResults": 11, "total": 11, "startAt": 0 } } }