{ "id": "161196", "key": "TIMOB-23542", "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": "17608", "name": "Release 6.1.0", "archived": false, "released": true, "releaseDate": "2017-05-26" }, { "id": "19333", "description": "Patch release for important items that did not make it into 6.0.3", "name": "Release 6.0.4", "archived": false, "released": true, "releaseDate": "2017-04-27" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2017-04-24T22:37:58.000+0000", "created": "2016-06-20T00:47:46.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "ios", "memoryleak", "xcode" ], "versions": [], "issuelinks": [ { "id": "54759", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "167165", "key": "TIMOB-24590", "fields": { "summary": "iOS: require() file content leaks", "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": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2017-04-24T22:39:01.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 around 70 memory-leaks that lie in the Titanium source project since years. We should resolve them all, as well as fixing the additional warnings regarding casting, unused variables etc.", "attachment": [], "flagged": false, "summary": "Memory-leaks and warnings across the iOS-project", "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": 784, "state": "closed", "name": "2016 Sprint 26 SDK", "startDate": "2016-12-17T01:24:57.928Z", "endDate": "2016-12-31T01:24:00.000Z", "completeDate": "2017-01-03T02:15:01.548Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "388616", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "PR: https://github.com/appcelerator/titanium_mobile/pull/8074\r\n\r\nThis PR will require a major testing environment...I would like to setup unit tests everywhere possible, since they are perfect for ensuring the proxy-correctness.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-06-20T00:50:07.000+0000", "updated": "2016-07-03T01:40:21.000+0000" }, { "id": "389927", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "[~hansknoechel] any great ideas how we can check and test this?", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-07-05T04:26:44.000+0000", "updated": "2016-07-05T04:26:44.000+0000" }, { "id": "391344", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Well, most of it deals with objects that have not been deallocated in the `dealloc` method. In addition, Titanium proxies usually get autoreleased (e.g TiBlob). Not sure what's the best way to setup test-cases.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-07-23T17:26:59.000+0000", "updated": "2016-07-23T17:26:59.000+0000" }, { "id": "391796", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Have put some comments in PR. I prefer to push this to a later version so i can take a more extensive look at each fix you included, because I'm pretty sure some these 'leaks' were intentional.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-07-28T06:49:46.000+0000", "updated": "2016-07-28T06:49:57.000+0000" }, { "id": "402853", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "PR Here: https://github.com/appcelerator/titanium_mobile/pull/8663\r\n\r\nh4. To Test\r\n1. Open the iPhone Xcode project in the titanium SDK.\r\n2. Choose Product->Analyse.\r\n\r\nh4. Expected Results\r\nThere will be no more static analyzer warnings\r\n\r\nAlso, check to see all Jenkins unit tests has passed successfully.\r\n", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-12-07T05:39:01.000+0000", "updated": "2016-12-07T05:39:01.000+0000" }, { "id": "402865", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "We need test-cases for every API that is affected by this changes:\r\n- Ti.Calendar (any API)\r\n- Ti.Filesysten.getAsset()\r\n- Any native module (just see that it loads)\r\n- Ti.Media.requestPhotoGalleryPermissions()\r\n- Ti.App.shortcutItems event {{shortcutitemclick}}\r\n- Ti.App.iOS.scheduleLocalNotification()\r\n- Ti.App.iOS.SearchQuery\r\n- Ti.UI.iOS.PreviewContext\r\n- Ti.UI.TextField.hintTextColor \r\n- Ti.UI.WebView.data\r\n- Ti.UI.iOS.createLivePhotoBadge\r\n- Ti.UI.ActivityIndicatorStyle\r\n\r\nWe need an actual test-app for this, since simple unit-tests won't catch possible errors due to retain-cycles that might only occur in a specific context. I will help providing the above test-cases.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-12-07T10:10:29.000+0000", "updated": "2016-12-14T09:13:09.000+0000" }, { "id": "402890", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Test-Case (wip): https://gist.github.com/hansemannn/108aaa09c478f53be9174d2d169e94fb", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-12-07T18:20:40.000+0000", "updated": "2016-12-07T18:20:40.000+0000" }, { "id": "403407", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "PR for unit tests: https://github.com/appcelerator/titanium-mobile-mocha-suite/pull/15", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-12-15T06:09:59.000+0000", "updated": "2016-12-15T06:09:59.000+0000" }, { "id": "417901", "author": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Testing with this environment, and not able to run Product>Analyze succesfully:\r\nNode Version: 6.10.1\r\nNPM Version: 3.10.10\r\nMac OS: 10.12.4\r\nAppc CLI: 6.2.0\r\nAppc CLI NPM: 4.2.9\r\nTitanium SDK version: 6.0.3.GA\r\nXcode 8.2.1\r\n\r\nAfter choosing Product > Analyze, the following 5 errors were seen:\r\n\r\ncp: /Users/amukherjee/Library/Application Support/Titanium/mobilesdk/osx/6.0.4/iphone/iphone/../../demos/KitchenSink/Resources/.: No such file or directory\r\n\r\ncp: /Users/amukherjee/Library/Application Support/Titanium/mobilesdk/osx/6.0.4/iphone/iphone/../Resources/modules/facebook/.: No such file or directory\r\n\r\ncp: /Users/amukherjee/Library/Application Support/Titanium/mobilesdk/osx/6.0.4/iphone/iphone/../Resources/modules/ui/.: No such file or directory\r\n\r\n/Users/amukherjee/Library/Developer/Xcode/DerivedData/Titanium-douwoqomfrhjgpbvwlwoeewhzxfk/Build/Intermediates/Titanium.build/Debug-iphoneos/Titanium.build/Script-241EAF36118E30260081A5BE.sh: line 7: /Users/amukherjee/Library/Application Support/Titanium/mobilesdk/osx/6.0.4/iphone/iphone/../../support/common/localecompiler.py: No such file or directory\r\n\r\n/Users/amukherjee/Library/Developer/Xcode/DerivedData/Titanium-douwoqomfrhjgpbvwlwoeewhzxfk/Build/Intermediates/Titanium.build/Debug-iphoneos/Titanium.build/Script-241EAF36118E30260081A5BE.sh: line 8: /Users/amukherjee/Library/Application Support/Titanium/mobilesdk/osx/6.0.4/iphone/iphone/../../support/common/css/csscompiler.py: No such file or directory", "updateAuthor": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-04-24T08:41:24.000+0000", "updated": "2017-04-24T08:41:24.000+0000" }, { "id": "417921", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Something is wrong with your PR-copy. I was able to successfully analyse, build, compile and package for iOS. Your error looks like you still have parts of the master / non 6_0_X branch in your Xcode cache. Ensure to clean your build (CMD+Shift+K) and your build folder (CMD+Shift+Alt+K).", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-04-24T17:15:29.000+0000", "updated": "2017-04-24T17:15:29.000+0000" }, { "id": "417979", "author": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Passed FR with this environment:\r\nNode Version: 6.10.1\r\nNPM Version: 3.10.10\r\nMac OS: 10.12.4\r\nAppc CLI: 6.2.0\r\nAppc CLI NPM: 4.2.9\r\nTitanium SDK version: 6.0.4\r\nXcode 8.2\r\n\r\nI ran Analyzer in Xcode on Titanium.xcodeproj and found no errors. Warnings were generally on deprecation warnings. Closing this ticket as fixed.\r\n\r\nChanges were verified to be found in SDK 6.0.4.v20170424150521.", "updateAuthor": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-04-24T22:37:11.000+0000", "updated": "2017-04-24T22:38:55.000+0000" } ], "maxResults": 11, "total": 11, "startAt": 0 } } }