{ "id": "102435", "key": "TIMOB-11216", "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": "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" }, { "id": "14166", "description": "2012 Sprint 21 Core", "name": "2012 Sprint 21 Core", "archived": true, "released": true, "releaseDate": "2012-10-22" }, { "id": "14273", "description": "2012 Sprint 21", "name": "2012 Sprint 21", "archived": true, "released": true, "releaseDate": "2012-10-22" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-10-17T22:13:52.000+0000", "created": "2012-09-30T05:48:37.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "core", "defect", "ios", "iphone", "qe-port" ], "versions": [ { "id": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" } ], "issuelinks": [], "assignee": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2013-01-11T16:59:17.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": "There are at least 3 (see below) places where a script error is not handled by the TiExceptionHandler in the code.\r\n\r\n{code}\r\nKrollBridge.m line 735\r\nKrollContext.m line 627\r\nKrollContext.m line 642\r\n{code}\r\n\r\nAt these locations, we are required to call:\r\n\r\n{code}\r\n[[TiExceptionHandler defaultExceptionHandler] reportScriptError:scriptError];\r\n{code}\r\n\r\nwith a script error object (see {{KrollBridge.m line 462}} for example) so that a custom exception handler can handle all script errors (not just one on loading a source into the VM).\r\n\r\n", "attachment": [], "flagged": false, "summary": "Missing coverage for Script Error when handling TiExceptionHandler", "creator": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "environment": "3.0.0.b66de42", "comment": { "comments": [ { "id": "221521", "author": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "body": "submitted pull request at https://github.com/appcelerator/titanium_mobile/pull/3086", "updateAuthor": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2012-09-30T07:42:30.000+0000", "updated": "2012-09-30T07:42:30.000+0000" }, { "id": "223410", "author": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "body": "app.js\r\n{code}\r\nvar win = Titanium.UI.createWindow({ backgroundColor:'#fff', layout: 'vertical' });\r\n\r\nvar button1 = Ti.UI.createButton({\r\n\ttitle:'Instant error',\r\n\theight:40,\r\n\twidth:200,\r\n});\r\nbutton1.addEventListener('click',function(e) {\r\n\tthrow new Error(\"Event handler error\");\r\n});\r\n\r\nvar button2 = Ti.UI.createButton({\r\n\ttitle:'Timeout error',\r\n\theight:40,\r\n\twidth:200,\r\n});\r\nbutton2.addEventListener('click',function(e) {\r\n\tsetTimeout(function(e) {\r\n\t\tthrow new Error(\"Timeout error\");\r\n\t}, 1000);\r\n});\r\n\r\nvar button3 = Ti.UI.createButton({\r\n\ttitle:'Require error',\r\n\theight:40,\r\n\twidth:200,\r\n});\r\nbutton3.addEventListener('click',function(e) {\r\n\trequire('module');\r\n});\r\n\r\nwin.add(button1);\r\nwin.add(button2);\r\nwin.add(button3);\r\n\r\nwin.open();\r\n\r\nthrow new Error(\"Main app.js error\");\r\n{code}\r\n\r\nmodule.js\r\n{code}\r\nthrow new Error(\"Module module.js error\");\r\n{code}", "updateAuthor": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-10-13T19:21:05.000+0000", "updated": "2012-10-13T19:21:52.000+0000" }, { "id": "223742", "author": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR submitted https://github.com/appcelerator/titanium_mobile/pull/3246\nIt handles 3 cases mentioned in the description plus extra 4: KrollCallback, KrollObject, KrollTimer and TiBindingEvent.", "updateAuthor": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-10-16T06:29:16.000+0000", "updated": "2012-10-16T06:29:16.000+0000" }, { "id": "224091", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Backport to 3_0_X https://github.com/appcelerator/titanium_mobile/pull/3266", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2012-10-17T22:14:21.000+0000", "updated": "2012-10-17T22:14:21.000+0000" }, { "id": "234039", "author": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing as fixed.\nVerified with:\nTitanium Studio, build: 3.0.1.201212181159\nTitanium SDK, build: 3.0.0.GA\nTitanium SDK, build: 3.1.0.v20130109175536\nMountain Lion 10.8.2\niPhone5 iOS 6.0\niPad4 iOS 6.0\nGalaxyS3 Android version 4.0.4\n\n", "updateAuthor": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-01-11T16:56:34.000+0000", "updated": "2013-01-11T16:56:34.000+0000" } ], "maxResults": 5, "total": 5, "startAt": 0 } } }