{ "id": "173481", "key": "TIMOB-26988", "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": [], "resolution": null, "resolutiondate": null, "created": "2019-04-19T09:03:21.000+0000", "priority": { "name": "None", "id": "6" }, "labels": [], "versions": [ { "id": "19882", "name": "Release 8.0.0", "archived": false, "released": true, "releaseDate": "2019-03-14" }, { "id": "20412", "name": "Release 8.1.0", "archived": false, "released": true, "releaseDate": "2019-08-13" } ], "issuelinks": [], "assignee": null, "updated": "2020-04-27T16:54:42.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "We are receiving some very rare hard crashes that are identified by incorrect proxies being passed to functions. This is really really critical since Titanium for example tries to add a list-view-section to a tabgroup via {{tabGroup.tabs = xxxx}} instead of the actual array of tabs. Here is the error:\r\n{code:js}\r\n[ERROR] Unhandled promise rejection {\r\n[ERROR] column = 86;\r\n[ERROR] line = 73;\r\n[ERROR] message = \"Invalid type passed to function\";\r\n[ERROR] nativeLocation = \"-[TiUITabGroupProxy setTabs:] (TiUITabGroupProxy.m:117)\";\r\n[ERROR] nativeReason = \"expected: TiUITabProxy, was: TiUIListSectionProxy\";\r\n[ERROR] nativeStack = \"3 MyApp0x000000010963bd21 -[TiUITabGroupProxy setTabs:] + 1297\\n4 Foundation 0x00000001111b7562 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 289\\n5 TitaniumKit0x000000011303085f -[TiProxy setValuesForKeysWithDictionary:] + 1558\\n6 TitaniumKit0x000000011301083d -[TiViewProxy _initWithProperties:] + 1338\\n7 MyApp0x000000010963aee4 -[TiUITabGroupProxy _initWithProperties:] + 260\\n8 TitaniumKit0x000000011302e118 -[TiProxy _initWithPageContext:args:] + 335\\n9 TitaniumKit0x0000000112fda375 -[TiModule createProxy:forName:context:] + 409\\n10 CoreFoundation 0x0000000113ea94cc __invoking___ + 140\\n11 CoreFoundation 0x0000000113ea6a45 -[NSInvocation invoke] + 325\\n12 TitaniumKit0x000000011302c835 -[KrollMethod call:] + 606\\n13 TitaniumKit0x000000011302bc88 __KrollCallAsFunction_block_invoke + 30\\n14 TitaniumKit0x000000011302ba94 KrollCallAsFunction + 496\\n15 JavaScriptCore 0x000000010ad6f8d3 _ZN3JSC16JSCallbackObjectINS_20JSDestructibleObjectEE4callEPNS_9ExecStateE + 515\\n16 JavaScriptCore 0x000000010b2154fc _ZN3JSC5LLInt9setUpCallEPNS_9ExecStateENS_22CodeSpecializationKindENS_7JSValueEPNS_17LLIntCallLinkInfoE + 380\\n17 JavaScriptCore 0x000000010ad3ab63 llint_entry + 61648\\n18 JavaScriptCore 0x000000010ad3b28d llint_entry + 63482\\n19 JavaScriptCore 0x000000010ad3ab71 llint_entry + 61662\";\r\n[ERROR] sourceURL = \"file:///Users/hans/Library/Developer/CoreSimulator/Devices/DF26791D-8718-4925-B10A-A5790E017287/data/Containers/Bundle/Application/04C25071-87A3-4B4C-B66C-ABB7DC337252/MyApp.app/alloy/controllers/container.js\";\r\n[ERROR] stack = \" at [native code]\\n at Controller(/alloy/controllers/container.js:73:86)\\n at createController(/alloy.js:339:53)\\n at openProtectedArea(/alloy/controllers/auth/login.js:350:51)\\n at onLogin(/alloy/controllers/auth/login.js:340:22)\\n at (/alloy/controllers/auth/login.js:254:16)\\n at _callee3$(/login-manager.js:240:33)\\n at tryCatch(/ti.main.js:3994:23)\\n at invoke(/ti.main.js:4221:32)\\n at asyncGeneratorStep(/login-manager.js:3:250)\\n at _next(/login-manager.js:3:606)\\n at run(/ti.main.js:1662:29)\\n at (/ti.main.js:1683:10)\\n at flush(/ti.main.js:1487:11)\\n at promiseReactionJob@[native code])\";\r\n[ERROR] toJSON = \"\";\r\n[ERROR] }\r\n{code}\r\n\r\nObviously, we are not passing a {{Ti.UI.ListSection}} to the {{Ti.UI.TabGroup}}. Titanium seems to evaluate proxies incorrectly. Since this can affect every part of our app and likely cause security issues as well, we expect immediate validation on this.", "attachment": [], "flagged": false, "summary": "iOS: Code is evaluated incorrectly, causing hard crashes", "creator": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "environment": null, "closedSprints": [ { "id": 1170, "state": "closed", "name": "2019 Sprint 23", "startDate": "2019-11-04T18:38:14.526Z", "endDate": "2019-11-17T18:38:00.000Z", "completeDate": "2019-11-18T16:38:18.423Z", "originBoardId": 114 }, { "id": 1171, "state": "closed", "name": "2019 Sprint 24", "startDate": "2019-11-18T16:40:09.114Z", "endDate": "2019-12-01T16:40:00.000Z", "completeDate": "2019-12-02T23:06:24.654Z", "originBoardId": 114 } ], "comment": { "comments": [], "maxResults": 1, "total": 1, "startAt": 0 } } }