{ "id": "154674", "key": "MOD-2254", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false }, "project": { "id": "10034", "key": "MOD", "name": "Appcelerator Modules", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "18090", "name": "ACA 1.0.0", "archived": false, "released": true } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2016-05-19T08:58:17.000+0000", "created": "2016-02-03T05:20:31.000+0000", "epic": { "id": 153869, "key": "TIMOB-20150", "name": "Reporting Client crashes to appcelerator crash server", "summary": "Discussion on binary crash and dSYM file for each platform", "color": { "key": "color_1" }, "done": false }, "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [], "issuelinks": [ { "id": "50430", "type": { "id": "10001", "name": "Cloners", "inward": "is cloned into", "outward": "is cloned from" }, "inwardIssue": { "id": "154675", "key": "MOD-2255", "fields": { "summary": "Android: Upload crash reports to crash server", "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": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "51509", "type": { "id": "10020", "name": "Depends", "inward": "is dependent of", "outward": "depends on" }, "outwardIssue": { "id": "159848", "key": "TIMOB-23280", "fields": { "summary": "iOS: Use updated analytics lib with TIMOB that supports the new aca module", "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": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "51073", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "155761", "key": "MOD-2253", "fields": { "summary": "iOS: Update appcelerator.aca to use new APSPerformance lib", "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": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false } } } } ], "assignee": null, "updated": "2018-08-06T17:49:19.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": "15013", "name": "ACA", "description": "replacement for APM (Crittercism)" } ], "description": "Using KSCrash lib, we should replace our crittercism module and upload crash reports as analytic events to our own PEM crash server.\r\n\r\nhere's a quick idea of what the JSON should look like:\r\n{code}\r\nid - random event id\r\nsid - session of the app (if you can get it, otherwise no worries)\r\nevent - \"crash.native\"\r\nts - timestamp of the event\r\ndata.stack - this seems better than just \"value\"\r\nmid - the device id, if you can get it\r\naguid - the app guid\r\nplatform - the platform of the app\r\napp_version - the version of the app\r\n{code}\r\n\r\nand some references:\r\nhttps://github.com/appcelerator/nodeable/blob/master/common-test/src/main/resources/crash_event.json\r\nhttps://github.com/appcelerator/crash-analytics-server/blob/master/lib/consumer.js#L39-L55\r\n\r\nThis is .crash that is uploaded, and not the dSYM file. A separate ticket will be created on how to symbolicate the crash file. But for this case, we can deal with allowing the developer to download the relevant crash file from our dashboard, and symbolicate on their local machine.", "attachment": [ { "id": "58297", "filename": "ios-unsymbolicated-sample-json.json", "author": { "name": "ssombhatla", "key": "ssombhatla", "displayName": "Srikanth Sombhatla", "active": false, "timeZone": "Asia/Singapore" }, "created": "2016-02-23T06:45:56.000+0000", "size": 38952, "mimeType": "application/json" }, { "id": "59309", "filename": "nodeServer.js", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-05-19T08:58:04.000+0000", "size": 776, "mimeType": "application/x-javascript" } ], "flagged": false, "summary": "iOS: Upload crash reports to crash server", "creator": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "environment": null, "closedSprints": [ { "id": 627, "state": "closed", "name": "2016 Sprint 10 SDK", "startDate": "2016-05-07T00:43:56.954Z", "endDate": "2016-05-21T00:43:00.000Z", "completeDate": "2016-05-23T02:06:04.349Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "377480", "author": { "name": "ssombhatla", "key": "ssombhatla", "displayName": "Srikanth Sombhatla", "active": false, "timeZone": "Asia/Singapore" }, "body": "-[~iwhitfield] Attached a sample crash report json [^test_crash_report_ios.json]. Note that the crash stack is unformatted. -", "updateAuthor": { "name": "ssombhatla", "key": "ssombhatla", "displayName": "Srikanth Sombhatla", "active": false, "timeZone": "Asia/Singapore" }, "created": "2016-02-22T02:51:34.000+0000", "updated": "2016-02-23T06:48:54.000+0000" }, { "id": "377543", "author": { "name": "iwhitfield", "key": "iwhitfield", "displayName": "Isaac Whitfield", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~ssombhatla] Am I correct that this stack trace does need decrypting with dSYM?", "updateAuthor": { "name": "iwhitfield", "key": "iwhitfield", "displayName": "Isaac Whitfield", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-02-22T18:55:43.000+0000", "updated": "2016-02-22T18:55:43.000+0000" }, { "id": "377586", "author": { "name": "ssombhatla", "key": "ssombhatla", "displayName": "Srikanth Sombhatla", "active": false, "timeZone": "Asia/Singapore" }, "body": "[~iwhitfield] The sample stack trace I supplied is from debug build. So the symbols are not stripped. But the final stack trace requires symbolicating with dSYM file on the developer end. cc [~cng]", "updateAuthor": { "name": "ssombhatla", "key": "ssombhatla", "displayName": "Srikanth Sombhatla", "active": false, "timeZone": "Asia/Singapore" }, "created": "2016-02-23T03:48:53.000+0000", "updated": "2016-02-23T03:48:53.000+0000" }, { "id": "377587", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Yes let me explain this. This is what I envision as a developer standpoint.\r\n1. I log into appcelerator dashboard\r\n2. I check out the crash analytics page (replace crittercism)\r\n3. I can see the stats (number of crashes per month on android, on ios etc)\r\n4. I can choose to see a specific crash. If it's ios, it allows me to download the file as well (.crash file)\r\n5. I take that file and drag into my Xcode in my local machine, it will de-symbolicate automatically and show me the stack trace. (this can be done via command line too)\r\n\r\nSo ya. all the crash server gets is a .crash file coupled with some json parameters if there's a native crash.\r\n\r\n[~ssombhatla] you should really consider giving [~iwhitfield] the stack trace from release build since that's what we are using when this is deployed.\r\n\r\n[~pkclark] ^ ", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-02-23T03:56:47.000+0000", "updated": "2016-02-23T03:56:47.000+0000" }, { "id": "377609", "author": { "name": "ssombhatla", "key": "ssombhatla", "displayName": "Srikanth Sombhatla", "active": false, "timeZone": "Asia/Singapore" }, "body": "[~iwhitfield] attached [^ios-unsymbolicated-sample-json.json]. This is without symbols from a release build running on device. \r\nAlso note that the iOS report sizes will be on average of ~40KB. ", "updateAuthor": { "name": "ssombhatla", "key": "ssombhatla", "displayName": "Srikanth Sombhatla", "active": false, "timeZone": "Asia/Singapore" }, "created": "2016-02-23T06:48:42.000+0000", "updated": "2016-02-23T06:48:42.000+0000" }, { "id": "377672", "author": { "name": "pclark", "key": "pkclark", "displayName": "Patrick Clark", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~cng] is this still for version 6.0.0 or will this be pulled in for 5.4.0? CC [~iwhitfield]", "updateAuthor": { "name": "pclark", "key": "pkclark", "displayName": "Patrick Clark", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-02-23T21:42:18.000+0000", "updated": "2016-02-23T21:42:18.000+0000" }, { "id": "377694", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "[~pkclark] 5.4.0. and 5.4.0 is scheduled to release on 13 June 2016.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-02-24T00:15:13.000+0000", "updated": "2016-02-24T00:15:26.000+0000" }, { "id": "378100", "author": { "name": "ssombhatla", "key": "ssombhatla", "displayName": "Srikanth Sombhatla", "active": false, "timeZone": "Asia/Singapore" }, "body": "Changed event to {{crash.native}}", "updateAuthor": { "name": "ssombhatla", "key": "ssombhatla", "displayName": "Srikanth Sombhatla", "active": false, "timeZone": "Asia/Singapore" }, "created": "2016-02-29T03:22:48.000+0000", "updated": "2016-02-29T03:22:48.000+0000" }, { "id": "384045", "author": { "name": "ssombhatla", "key": "ssombhatla", "displayName": "Srikanth Sombhatla", "active": false, "timeZone": "Asia/Singapore" }, "body": "iOS PR: https://github.com/appcelerator/aps_sdk/pull/291\r\n\r\nThis is merged to a temporary working branch 3_0_X_sriks. Once finalised this branch can be merged to master. ", "updateAuthor": { "name": "ssombhatla", "key": "ssombhatla", "displayName": "Srikanth Sombhatla", "active": false, "timeZone": "Asia/Singapore" }, "created": "2016-04-27T08:10:38.000+0000", "updated": "2016-04-29T03:58:02.000+0000" }, { "id": "440117", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Cleaning up older fixed issues. If this issue should not have been closed as fixed, please reopen.", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-08-06T17:49:19.000+0000", "updated": "2018-08-06T17:49:19.000+0000" } ], "maxResults": 13, "total": 13, "startAt": 0 } } }