{ "id": "113081", "key": "TIMOB-13620", "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": "15401", "description": "2013 Sprint 08 Core", "name": "2013 Sprint 08 Core", "archived": true, "released": true, "releaseDate": "2013-04-22" }, { "id": "15106", "description": "2013 Sprint 08", "name": "2013 Sprint 08", "archived": true, "released": true, "releaseDate": "2013-04-22" }, { "id": "15478", "description": "Release 3.1.1", "name": "Release 3.1.1", "archived": true, "released": true, "releaseDate": "2013-06-17" }, { "id": "14982", "description": "Release 3.2.0", "name": "Release 3.2.0", "archived": false, "released": true, "releaseDate": "2013-12-19" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2013-04-19T23:51:25.000+0000", "created": "2013-04-18T21:37:01.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "qe-closed-3.1.1" ], "versions": [ { "id": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" }, { "id": "14162", "description": "Release 3.1.0", "name": "Release 3.1.0", "archived": true, "released": true, "releaseDate": "2013-04-16" } ], "issuelinks": [ { "id": "28487", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "111307", "key": "TIMOB-13097", "fields": { "summary": "Android: In custom module when addEventListener is called on proxy object in app.js gives Uncaught TypeError: Object # has no method 'addEventListener'", "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": "joshroesslein", "key": "joshroesslein", "displayName": "Josh Roesslein", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2013-06-07T16:46:03.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" } ], "description": "The app.js in the example folder demonstrates the issue:\r\n# Unzip the module\r\n# Build the module ('ant')\r\n# Create a new Titanium application in Studio\r\n# Copy the app.js from the module's example folder into your application\r\n# Run the application\r\n# Notice that the label displays 'Jeff 555-1212'. The 'Jeff' comes from the propertyAccessor and the '555-1212' comes from the custom property.\r\n# Hit the Android Back button (the activity closes but the process is still active)\r\n# Tap on the application in the Android app launcher\r\n# Notice that the label displays 'undefined 555-1212'. You can also see the 'E/Proxy ( 2221): Unable to lookup Proxy.prototype.getProperty' error message in the log.\r\n\r\nFor further weirdness, uncomment lines 29-31 in the app.js file and re-run steps 5-8 again. This time you will notice that everything works correctly. The only difference here is that a 2nd instance of the proxy is being created with a call from JS rather than the one that is being created internally.\r\n\r\nA couple of observations:\r\nThe onStop and onDestroy methods are getting called when the activity closes (check the messages output to the log file)\r\nThe process is still active after closing the activity\r\nOn the 2nd launch of the main activity you will notice a log message that it is registering an existing module again even though the module was supposedly destroyed. Probably expected behavior, but perhaps not.\r\nI've tried a number of different things but have not been able to change this behavior. Any clues, suggestions, etc. are greatly appreciated.", "attachment": [ { "id": "37639", "filename": "property.zip", "author": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-04-18T21:37:01.000+0000", "size": 15040, "mimeType": "application/zip" } ], "flagged": false, "summary": "Android: Proxies in modules are not disposed correctly", "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, "comment": { "comments": [ { "id": "248243", "author": { "name": "joshroesslein", "key": "joshroesslein", "displayName": "Josh Roesslein", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Created [PR #4186|https://github.com/appcelerator/titanium_mobile/pull/4186] for master.", "updateAuthor": { "name": "joshroesslein", "key": "joshroesslein", "displayName": "Josh Roesslein", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-04-18T21:51:18.000+0000", "updated": "2013-04-18T21:51:18.000+0000" }, { "id": "252375", "author": { "name": "joshroesslein", "key": "joshroesslein", "displayName": "Josh Roesslein", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Created [PR #4280|https://github.com/appcelerator/titanium_mobile/pull/4280] to backport fix into 3_1_X.", "updateAuthor": { "name": "joshroesslein", "key": "joshroesslein", "displayName": "Josh Roesslein", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-05-16T21:01:10.000+0000", "updated": "2013-05-16T21:01:10.000+0000" }, { "id": "256651", "author": { "name": "fcasali", "key": "fcasali", "displayName": "Federico Casali", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified as fixed.\r\n\r\nEnvironment:\r\n Appcelerator Studio 3.1.1.201306061938\r\n Titanium SDK 3.1.1.v20130606121419\r\n CLI 3.1.1-cr\r\n Alloy 1.1.3-cr\r\n Titanium-Code-Processor 1.1.3-cr3\r\n\r\nClosing.\r\n\r\n", "updateAuthor": { "name": "fcasali", "key": "fcasali", "displayName": "Federico Casali", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-06-07T16:46:03.000+0000", "updated": "2013-06-07T16:46:03.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }