{ "id": "64193", "key": "TIMOB-3561", "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": "11251", "name": "Sprint 2011-16", "archived": true, "released": true, "releaseDate": "2011-04-25" }, { "id": "12088", "description": "", "name": "Sprint 2011-48", "archived": true, "released": true, "releaseDate": "2011-12-05" }, { "id": "12580", "description": "Dual Runtime 1.8.0", "name": "Release 1.8.0.1", "archived": true, "released": true, "releaseDate": "2011-12-22" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2011-12-01T11:48:28.000+0000", "created": "2011-04-15T03:46:41.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "defect", "exceptions", "ios", "reported-1.7.0" ], "versions": [ { "id": "11233", "name": "Release 1.6.0", "archived": true, "released": true, "releaseDate": "2011-02-23" } ], "issuelinks": [ { "id": "11160", "type": { "id": "10000", "name": "Blocks", "inward": "is blocked by", "outward": "blocks" }, "outwardIssue": { "id": "62298", "key": "TIMOB-1666", "fields": { "summary": "Attempting to SELECT from a non-existant table crashes the app", "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": "Low", "id": "4" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "13662", "type": { "id": "10001", "name": "Cloners", "inward": "is cloned into", "outward": "is cloned from" }, "inwardIssue": { "id": "82068", "key": "TIMOB-5892", "fields": { "summary": "iOS: needs to handle thrown exceptions (revisiting)", "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": "Medium", "id": "3" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "11162", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "65668", "key": "TIMOB-4174", "fields": { "summary": "Ti.Database does not expose SQLite exceptions", "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": "Low", "id": "4" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2011-12-08T14:27:56.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": "{html}

Bad news! iOS does not forward exceptions properly to the JSCore\r\nsystem, meaning that unhandled exceptions result in crashes. What\r\nwe need to do is catch exceptions from Kroll invokes (and\r\npotentially on other threads via the uncaught exception handler...)\r\nand forward them to the JSCore system so that they can be caught on\r\nthe user side (although if they're uncaught, we need to figure out\r\nwhat to do about that, and how JS responds.)

{html}\r\n\r\nCould be handed off.", "attachment": [], "flagged": false, "summary": "iOS: Need to handle thrown exceptions in simulator", "creator": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "131031", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Turns out that this is a well-known bug with iOS 4.0+ simulator:\n\nhttp://stackoverflow.com/questions/3922693/how-to-handle-iphone-simulator-nsinvocation-issue-for-ios4-0\n\nThis bug does NOT affect devices. What we need to do is:\n\n1. File a bug with Apple (even if it's a dupe)\n2. Mark this ticket as dependent upon this bugfix\n3. Replace any portion of the code that SHOULD be throwing exceptions but is currently logging with the right logic (exceptions)", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-19T12:42:16.000+0000", "updated": "2011-04-19T12:42:16.000+0000" }, { "id": "131035", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Filed radar bug with Apple. Bug # is 9306829.", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-19T13:10:32.000+0000", "updated": "2011-04-19T13:10:32.000+0000" }, { "id": "174393", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Blain provided an internal fix for this at some point; No longer reproducible in 1.8.0.1.ab0c003. Ticket can be resolved once drillbit is performing exception checks again.", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-11-30T20:38:03.000+0000", "updated": "2011-11-30T20:38:31.000+0000" }, { "id": "175471", "author": { "name": "nhuynh", "key": "nhuynh", "displayName": "Natalie Huynh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "version=1.8.0.1\r\ntimestamp=12/08/11 13:51\r\ngithash=99d7091 on iOS Simulator 5.0 \r\nran buffer test, see the failure of exceptions not being thrown", "updateAuthor": { "name": "nhuynh", "key": "nhuynh", "displayName": "Natalie Huynh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-12-08T14:27:56.000+0000", "updated": "2011-12-08T14:27:56.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }