{ "id": "151327", "key": "TIMOB-20042", "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": { "id": "7", "description": "", "name": "Invalid" }, "resolutiondate": "2015-12-08T18:52:40.000+0000", "created": "2015-09-20T15:12:18.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "5.0", "5.0.0.GA", "Ti.network", "httpclient" ], "versions": [ { "id": "16904", "description": "Release 5.0.2", "name": "Release 5.0.2", "archived": true, "released": true, "releaseDate": "2015-10-01" } ], "issuelinks": [ { "id": "49929", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "152804", "key": "AC-985", "fields": { "summary": "httpClient causes memory leaks", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-23T21:35:29.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": "When creating a Ti.Network.createHTTPClient, after the connection closes, a TiNetworkHTTPClientProxy does not get garbage collected. With repeated calls, they will start to build up to a very large #.\r\n\r\n1. Open Instruments\r\n2. Run this code\r\n\r\n\r\n{code}\r\nvar myurl = \"http://www.google.com\";\t\r\n\r\nvar xhrshowsite = Ti.Network.createHTTPClient();\r\n\r\nxhrshowsite.onload = function() {\r\n\t\txhrshowsite = null;\r\n};\r\n\t\r\nxhrshowsite.onerror = function() {\r\n\t\txhrshowsite = null;\r\n};\r\n\r\n\t\r\n\t// open the client\r\n\txhrshowsite.open(\"GET\",myurl);\r\n\txhrshowsite.setTimeout([5000]);\r\n\txhrshowsite.send();\r\n{code}\r\nThis did not affect pre-5.x SDK. ", "attachment": [], "flagged": false, "summary": "iOS: TiNetworkHTTPClientProxy Memory Leak", "creator": { "name": "ch", "key": "ch", "displayName": "Cameron", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "ch", "key": "ch", "displayName": "Cameron", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Operating System\r\n Name = Mac OS X\r\n Version = 10.10.5\r\n Architecture = 64bit\r\n # CPUs = 8\r\n Memory = 8589934592\r\nNode.js\r\n Node.js Version = 0.10.32\r\n npm Version = 1.4.28\r\nTitanium CLI\r\n CLI Version = 5.0.3\r\nTitanium SDK\r\n SDK Version = 5.1.0.v20150917080109\r\n SDK Path = /Users/c/Library/Application Support/Titanium/mobilesdk/osx/5.1.0.v20150917080109\r\n Target Platform = iphone", "closedSprints": [ { "id": 543, "state": "closed", "name": "2015 Sprint 26 SDK", "startDate": "2015-12-19T01:30:23.690Z", "endDate": "2016-01-02T01:30:00.000Z", "completeDate": "2016-01-04T02:30:59.966Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "372449", "author": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Marking ticket as invalid. The garbage collection in javascript is lazy, not instant. If you let the app sit for a bit, you'll see the allocations go down. This will not cause problems to the app since the garbage collector will run if the app feels memory pressure as well.", "updateAuthor": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2015-12-08T18:52:40.000+0000", "updated": "2015-12-08T18:52:40.000+0000" }, { "id": "415408", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as invalid with reference to the previous comments.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-23T21:35:29.000+0000", "updated": "2017-03-23T21:35:29.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }