{ "id": "130329", "key": "TIMOB-16946", "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": "16711", "description": "Release 3.5.1", "name": "Release 3.5.1", "archived": false, "released": true, "releaseDate": "2015-03-06" }, { "id": "16593", "description": "Release 4.0.0", "name": "Release 4.0.0", "archived": false, "released": true, "releaseDate": "2015-05-21" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2015-02-09T17:08:53.000+0000", "created": "2014-05-12T21:13:41.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "qe-verified" ], "versions": [ { "id": "15857", "description": "Release 3.2.2", "name": "Release 3.2.2", "archived": false, "released": true, "releaseDate": "2014-03-09" } ], "issuelinks": [ { "id": "44607", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "142550", "key": "TIMOB-18348", "fields": { "summary": "iOS: Xcode Static analyzer warnings given, 'Apple Mach-O Linker Warning arm64 function not 4-byte aligned'", "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": "Medium", "id": "3" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2015-02-19T19:40:53.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": "The Titanium iOS SDK should have 0 static analyzer errors (it currently has 77). The static analyzer is very accurate and every issue identified by it should be corrected. The majority of these errors are logic errors (e.g. division by zero, dereferencing null pointers, etc.) and memory leaks.\r\n\r\nVerification method:\r\n1. in Xcode, Product -> Analyze\r\n2. Results will appear, indicating all the analyzer errors\r\n\r\nAfter resolving all issues, this should result in 0 analyzer errors.", "attachment": [ { "id": "52963", "filename": "AlloyServicesDisabled.png", "author": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "created": "2014-12-02T21:15:52.000+0000", "size": 78423, "mimeType": "image/png" }, { "id": "52964", "filename": "AlloyServicesEnabled.png", "author": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "created": "2014-12-02T21:15:53.000+0000", "size": 93313, "mimeType": "image/png" }, { "id": "52965", "filename": "TitaniumServicesDisabled.png", "author": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "created": "2014-12-02T21:15:53.000+0000", "size": 69599, "mimeType": "image/png" }, { "id": "52966", "filename": "TitaniumServicesEnabled.png", "author": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "created": "2014-12-02T21:15:53.000+0000", "size": 83752, "mimeType": "image/png" } ], "flagged": false, "summary": "iOS: SDK should have 0 static analyzer errors (it currently has 77)", "creator": { "name": "mlangston", "key": "mlangston", "displayName": "Matt Langston", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [ { "id": "139672", "key": "TIMOB-18027", "fields": { "summary": "iOS: Fix all dead store type error in static analyzer", "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": "None", "id": "6" }, "issuetype": { "id": "5", "description": "The sub-task of the issue", "name": "Sub-task", "subtask": true } } }, { "id": "139673", "key": "TIMOB-18028", "fields": { "summary": "iOS: Fix all memory leaks detected in static analyzer", "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": "None", "id": "6" }, "issuetype": { "id": "5", "description": "The sub-task of the issue", "name": "Sub-task", "subtask": true } } }, { "id": "139674", "key": "TIMOB-18029", "fields": { "summary": "iOS: Fix all optimization type errors detected by static analyzer", "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": "None", "id": "6" }, "issuetype": { "id": "5", "description": "The sub-task of the issue", "name": "Sub-task", "subtask": true } } }, { "id": "139743", "key": "TIMOB-18031", "fields": { "summary": "iOS: Fix all misc and logic type errors in static analyzer", "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": "None", "id": "6" }, "issuetype": { "id": "5", "description": "The sub-task of the issue", "name": "Sub-task", "subtask": true } } } ], "reporter": { "name": "mlangston", "key": "mlangston", "displayName": "Matt Langston", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "closedSprints": [ { "id": 330, "state": "closed", "name": "2015 Sprint 03 SDK", "startDate": "2015-01-31T01:00:05.245Z", "endDate": "2015-02-14T01:00:00.000Z", "completeDate": "2015-02-16T21:01:51.914Z", "originBoardId": 114 }, { "id": 251, "state": "closed", "name": "2014 Sprint 23 SDK", "startDate": "2014-11-10T22:56:44.608Z", "endDate": "2014-11-22T01:00:00.000Z", "completeDate": "2014-11-22T05:03:36.553Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "304491", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I agree this is important, but I can't (currently) block on this. If we manage to fix it during the beginning of the QE pass, we could consider merging it in.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-05-12T23:12:46.000+0000", "updated": "2014-05-12T23:12:46.000+0000" }, { "id": "331958", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Running static analyzer on the latest SDK results in 129 errors as of date.\r\nTo create sub tasks and fixes based on types of errors, to make sure we don't break anything without knowing where we broke it.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2014-11-13T03:32:45.000+0000", "updated": "2014-11-13T03:36:05.000+0000" }, { "id": "332934", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "All subtasks resolved", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2014-11-19T17:34:20.000+0000", "updated": "2014-11-19T17:34:20.000+0000" }, { "id": "333254", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Backport to 3_5_X\r\nhttps://github.com/appcelerator/titanium_mobile/pull/6370", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2014-11-21T19:28:54.000+0000", "updated": "2014-11-21T19:28:54.000+0000" }, { "id": "334391", "author": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "body": "Reopening ticket as I still see warnings in the Xcode projects when using:\r\n\r\nMac OSX 10.10.1\r\nAppcelerator Studio, build: 3.4.1.201410281743\r\nTitanium SDK build: 3.5.0.v20141202100219\r\nTitanium CLI, build: 3.4.1\r\nAlloy: 1.5.1\r\nXcode 6.2 beta\r\n\r\nI created a default Titanium project and a default Alloy project. When running the analyzer in Xcode I see both memory and dead store errors. I will attach screenshots of the errors for the apps which are the following configurations\r\n\r\n* Default Titanium *without* services enabled\r\n* Default Titanium *with* services enabled\r\n* Default Alloy *without* services enabled\r\n* Default Alloy *with* services enabled", "updateAuthor": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "created": "2014-12-02T21:15:22.000+0000", "updated": "2014-12-02T21:16:20.000+0000" }, { "id": "334416", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "The Memory Leak in AppModule is intentional and in place for LiveView. Ignore that.\r\nThe Memory Leak in TiBuffer is not really a leak but rather Xcode getting confused over the function name copy.\r\nThe MemoryLeak in TiNetworkTCPSocketFactory is again not a leak but rather Xcode getting confused over a function name. \r\n\r\nThe two dead store warnings are target dependent. Both of these can be ignored.\r\nLeadingSlashRemoved is used on simulators so will show that warning when target is device.\r\nAirKey is used on device so will show that warning when target is simulator.", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2014-12-02T23:11:17.000+0000", "updated": "2014-12-02T23:11:17.000+0000" }, { "id": "338264", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Which of these can we \"hide\" using the techniques in here http://clang-analyzer.llvm.org/faq.html? I'd like us to either fix the issues that cause an analyzer warning, or if they are intentional, indicate though another mechanism that we intend the warning to exist.\r\n\r\n[~vduggal], [~pec1985], [~cng], can one of you please take a look?", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-01-07T22:27:42.000+0000", "updated": "2015-01-07T22:27:42.000+0000" }, { "id": "338328", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Used \r\n{code}\r\n#ifndef __clang_analyzer__\r\n#endif\r\n{code} to inform analyzer to skip the lines of codes that created the intentional warnings mentioned above.\r\n\r\nmaster PR: https://github.com/appcelerator/titanium_mobile/pull/6548\r\n3_5_X PR: https://github.com/appcelerator/titanium_mobile/pull/6549\r\n", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2015-01-08T07:11:49.000+0000", "updated": "2015-01-08T07:12:27.000+0000" }, { "id": "342433", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "We updated the PRs to ignore the internal errors.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-02-06T18:38:28.000+0000", "updated": "2015-02-06T18:38:28.000+0000" }, { "id": "342460", "author": { "name": "jalter", "key": "jalter", "displayName": "Jon Alter", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~ingo] [~cng], I merged those PRs. It looks like there are still 5 warnings.", "updateAuthor": { "name": "jalter", "key": "jalter", "displayName": "Jon Alter", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-02-06T21:01:13.000+0000", "updated": "2015-02-06T21:01:13.000+0000" }, { "id": "342509", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "[~jalter], I think it's because you were doing the analyzer on the KitchenSink projects within the SDK. If we follow Ewan's testing method on newly created titanium projects, you will get zero warnings. So I didn't resolve those you highlighted just because I wanted to minimize unnecessary changes.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2015-02-09T04:12:03.000+0000", "updated": "2015-02-09T04:12:03.000+0000" }, { "id": "342551", "author": { "name": "jalter", "key": "jalter", "displayName": "Jon Alter", "active": true, "timeZone": "America/Los_Angeles" }, "body": "That works, thanks [~cng]", "updateAuthor": { "name": "jalter", "key": "jalter", "displayName": "Jon Alter", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-02-09T17:08:53.000+0000", "updated": "2015-02-09T17:08:53.000+0000" }, { "id": "343938", "author": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "body": "Verified fix on:\r\n\r\nMac OSX 10.10.2\r\nAppcelerator Studio, build: 3.4.2.201502181619\r\nTitanium SDK build: 3.5.1.v20150219103744\r\nTitanium CLI, build: 3.4.2-alpha\r\nAlloy: 1.5.1\r\nXcode 6.1.1\r\n\r\nCreated a new project and built it, used Xcodes static analyzer and there are no longer any memory or dead store errors.\r\n\r\nClosing ticket.", "updateAuthor": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "created": "2015-02-19T19:40:29.000+0000", "updated": "2015-02-19T19:40:29.000+0000" } ], "maxResults": 13, "total": 13, "startAt": 0 } } }