{ "id": "116505", "key": "TIMOB-14393", "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": "16723", "description": "Windows Platform Support, ListView updates, Vector overlays in maps", "name": "Release 4.1.0", "archived": false, "released": true, "releaseDate": "2015-07-08" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2015-06-01T22:58:56.000+0000", "created": "2013-06-26T18:46:16.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "supportTeam" ], "versions": [ { "id": "15478", "description": "Release 3.1.1", "name": "Release 3.1.1", "archived": true, "released": true, "releaseDate": "2013-06-17" } ], "issuelinks": [ { "id": "41050", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "131449", "key": "TIMOB-17142", "fields": { "summary": "Android: ListView crashes after using .replaceSectionAt() several times", "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 } } } }, { "id": "29843", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "113324", "key": "TIMOB-13664", "fields": { "summary": "Android: Garbage collection resulting in crash occurring when passing objects to Common JS modules", "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": "30234", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "117198", "key": "TIMOB-14558", "fields": { "summary": "Android: Map V2: addAnnotation crashes", "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": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-31T22:22:36.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": "10202", "name": "Android", "description": "Android Platform" } ], "attachment": [ { "id": "46798", "filename": "S4_logs.txt", "author": { "name": "egomez", "key": "egomez", "displayName": "Eduardo Gomez", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2014-03-22T00:16:21.000+0000", "size": 49042, "mimeType": "text/plain" } ], "flagged": false, "summary": "Android: JS proxies are prematurely cleaned up when dalvik gc is triggered ", "creator": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "closedSprints": [ { "id": 407, "state": "closed", "name": "2015 Sprint 11 SDK", "startDate": "2015-05-23T00:00:08.253Z", "endDate": "2015-06-06T00:00:00.000Z", "completeDate": "2015-06-08T16:18:16.381Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "298007", "author": { "name": "ygoldfeld", "key": "ygoldfeld", "displayName": "Yuri Goldfeld", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This just hit us (SDK 3.2.0) and is rather horrendous and insidious, because it is not consistently reproducible and is difficult to diagnose (for us it manifests itself as a crash, but it's a native crash and thus is not caught by ACRA for example). It also makes one extremely paranoid, because if one cannot count on the JavaScript scope pattern, then basically the app is a ticking time bomb.\r\n\r\nIn our case the problem happened to be a View created in a closure in a CommonJS module, with the View (being a simple red border used for error display) added or removed to/from another view when an error is detected or not. (Yes, now that we know the cause, we can work around it by using another technique, but like I said, what other semi-reproducible similar problems lurk?) We only caught this after upgrading to SDK 3.2.0; not reported when we used 3.1.1; it might be due to something changing about GC itself (speculation).", "updateAuthor": { "name": "ygoldfeld", "key": "ygoldfeld", "displayName": "Yuri Goldfeld", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-03-20T00:55:35.000+0000", "updated": "2014-03-20T00:55:35.000+0000" }, { "id": "302880", "author": { "name": "tvfoodmaps", "key": "tvfoodmaps", "displayName": "Frank Apap", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This causes major headaches for my app, lots of crash reports and no easy fix without a major refactoring.", "updateAuthor": { "name": "tvfoodmaps", "key": "tvfoodmaps", "displayName": "Frank Apap", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-04-29T15:18:23.000+0000", "updated": "2014-04-29T15:18:23.000+0000" }, { "id": "353926", "author": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "body": "PR: https://github.com/appcelerator/titanium_mobile/pull/6887", "updateAuthor": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2015-05-29T23:08:21.000+0000", "updated": "2015-05-29T23:08:21.000+0000" }, { "id": "354008", "author": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "body": "To test, use this code, run on emulator for consistent results\r\n{code}\r\nfunction createView() {\r\n\r\n\tvar view = Ti.UI.createView({\r\n\t\tbackgroundColor: 'white'\r\n\t});\r\n\tvar gc = Ti.UI.createButton({\r\n\t\ttop: '10dp',\r\n\t\ttitle: \"First, click here many time quickly (cause GC)\",\r\n\t\tcolor: 'black'\r\n\t});\r\n\tvar btn = Ti.UI.createButton({\r\n\t\ttitle: \"Next, click here\",\r\n\t\tcolor: 'black'\r\n\t});\r\n\tview.add(btn);\r\n\tview.add(gc);\r\n\r\n\t// Label not attached to the view yet, but will be in the btn event listener\r\n\tvar label = Ti.UI.createLabel({\r\n\t\ttext: 'Hello World', bottom: '10dp',\r\n\t\tcolor: 'black'\r\n\t});\r\n\r\n\tgc.addEventListener('click', function(){\r\n\t\tTi.API.info('Forcing GC...');\r\n\t\tfor (var i = 0; i < 2000; i++) {\r\n\t\t\tTi.UI.createButton();\r\n\t\t}\r\n\t\tTi.API.info('Done with GC...');\r\n\t});\r\n\tbtn.addEventListener('click', function(){\r\n\t\tview.add(label);\r\n\t});\r\n\r\n\treturn view;\r\n}\r\n \r\n \r\nvar win = Ti.UI.createWindow();\r\nvar view = createView();\r\nwin.add(view);\r\nwin.open();\r\n{code}", "updateAuthor": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2015-06-01T20:35:58.000+0000", "updated": "2015-06-01T20:35:58.000+0000" }, { "id": "416591", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as fixed, if there are any problems, please file a new ticket.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-31T22:22:36.000+0000", "updated": "2017-03-31T22:22:36.000+0000" } ], "maxResults": 7, "total": 7, "startAt": 0 } } }