{ "id": "176144", "key": "TIMOB-28413", "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": "21050", "name": "Release 10.0.0", "archived": false, "released": true, "releaseDate": "2021-05-17" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2021-04-29T16:58:39.000+0000", "created": "2021-04-05T14:31:27.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [ { "id": "21050", "name": "Release 10.0.0", "archived": false, "released": true, "releaseDate": "2021-05-17" } ], "issuelinks": [ { "id": "59251", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "175921", "key": "TIMOB-28296", "fields": { "summary": "macOS: Frequently Crashing due to Ti.UI.Picker tests", "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": "59252", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "176032", "key": "TIMOB-28339", "fields": { "summary": "iOS: macOS catalyst apps intermittently crashing on Ti.UI.iOS.CollisionBehavior tests", "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": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2021-04-29T16:58:39.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": "Our unit test suite is crashing frequently after the addition of the TableView.INSET_GROUPED test. It's crashing on iPhone, iPad, and macOS. Here is the test in question: https://github.com/appcelerator/titanium_mobile/blob/master/tests/Resources/ti.ui.tableview.test.js#L1786-L1815", "attachment": [ { "id": "67862", "filename": "mocha_2021-03-31-070518_macos-lepew.crash", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2021-04-05T14:35:48.000+0000", "size": 190836, "mimeType": "application/octet-stream" }, { "id": "67861", "filename": "mocha_2021-03-31-090948_macos-eve.crash", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2021-04-05T14:34:52.000+0000", "size": 190923, "mimeType": "application/octet-stream" } ], "flagged": false, "summary": "iOS: intermittent crash on TableView INSET_GROUPED test", "creator": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "subtasks": [], "reporter": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "environment": null, "closedSprints": [ { "id": 1222, "state": "closed", "name": "2021 Sprint 8", "startDate": "2021-04-12T21:26:41.532Z", "endDate": "2021-04-23T21:26:00.000Z", "completeDate": "2021-04-28T15:13:56.824Z", "originBoardId": 114 }, { "id": 1223, "state": "closed", "name": "2021 Sprint 9", "startDate": "2021-04-26T15:14:42.215Z", "endDate": "2021-05-07T15:14:00.000Z", "completeDate": "2021-05-17T16:30:45.852Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "458537", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Looks like a threading issue. Here is the line causing the crash:\r\n{code:objc}\r\n- (void)updateRow:(TiUITableViewAction *)action\r\n{\r\n OSAtomicTestAndClearBarrier(NEEDS_UPDATE_ROW, &dirtyRowFlags);\r\n [table dispatchAction:action];\r\n}\r\n{code}\r\nI never used {{OSAtomicTestAndClearBarrier}}, but there must be a better solution", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2021-04-07T16:21:57.000+0000", "updated": "2021-04-07T16:21:57.000+0000" }, { "id": "458548", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Segfaults are typically caused by using a null/nil pointer or wild pointer.\r\n\r\nThe {{table}} member variable in the {{updateRow()}} method is missing a {{nil}} check like the rest of the code. So, we probably just need to do this...\r\n{code:objc}\r\n- (void)updateRow:(TiUITableViewAction *)action\r\n{\r\n if (table != nil) {\r\n OSAtomicTestAndClearBarrier(NEEDS_UPDATE_ROW, &dirtyRowFlags);\r\n [table dispatchAction:action];\r\n }\r\n}\r\n{code}\r\n", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-04-08T00:15:29.000+0000", "updated": "2021-04-08T00:15:29.000+0000" }, { "id": "458552", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "In objective c, passing message to nil (calling method on an object which is nil) is valid. It'll do nothing and not even crash. ", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-04-08T17:57:31.000+0000", "updated": "2021-04-08T17:57:31.000+0000" }, { "id": "458553", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR - https://github.com/appcelerator/titanium_mobile/pull/12706", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-04-08T18:32:42.000+0000", "updated": "2021-04-08T18:32:42.000+0000" }, { "id": "458634", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "merged to master and 10_0_X branch (post-RC, but pre-GA) for target 10.0.0 release.", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2021-04-29T16:58:35.000+0000", "updated": "2021-04-29T16:58:35.000+0000" } ], "maxResults": 5, "total": 5, "startAt": 0 } } }