{ "id": "169590", "key": "TIMOB-25518", "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": "20060", "description": "", "name": "Release 7.0.2", "archived": false, "released": true, "releaseDate": "2018-02-09" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2018-01-24T21:21:08.000+0000", "created": "2017-08-17T02:46:37.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2018-01-25T00:03:07.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": "Recently tracking a lot of the following errors. Null checks need to be placed in TiHTTPClient.java.\r\n\r\n\r\ne.g. \r\n1)\r\njava.lang.NullPointerException\r\n\r\n0\tjava.lang.NullPointerException: Attempt to invoke virtual method 'void java.net.HttpURLConnection.disconnect()' on a null object reference\r\n!\t1\tat ti.modules.titanium.network.TiHTTPClient$ClientRunnable.run(TiHTTPClient.java:1293)\r\n2\tat java.lang.Thread.run(Thread.java:818)\r\n\r\n\r\n\r\n2)\r\n\tjava.lang.NullPointerException: Attempt to invoke a virtual method on a null object reference\r\n!\t1\tat ti.modules.titanium.network.TiHTTPClient$ClientRunnable.run(TiHTTPClient.java:1293)\r\n2\tat java.lang.Thread.run(Thread.java:762)\r\n", "attachment": [ { "id": "63136", "filename": "Screen Shot 2017-08-28 at 10.20.10 AM.png", "author": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2017-08-28T02:20:38.000+0000", "size": 32913, "mimeType": "image/png" }, { "id": "63593", "filename": "Screen Shot 2017-11-15 at 11.22.54 AM.png", "author": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2017-11-15T03:37:42.000+0000", "size": 132802, "mimeType": "image/png" }, { "id": "63594", "filename": "Screen Shot 2017-11-15 at 11.23.14 AM.png", "author": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2017-11-15T03:37:42.000+0000", "size": 135486, "mimeType": "image/png" } ], "flagged": false, "summary": "Android App Crash due to Attempt to invoke virtual method 'void java.net.HttpURLConnection.disconnect()' on a null object reference", "creator": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "subtasks": [], "reporter": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "environment": null, "closedSprints": [ { "id": 978, "state": "closed", "name": "2017 Sprint 25 SDK", "startDate": "2017-12-03T23:22:15.144Z", "endDate": "2017-12-17T23:22:00.000Z", "completeDate": "2017-12-18T22:32:02.770Z", "originBoardId": 114 }, { "id": 968, "state": "closed", "name": "2017 Sprint 23 SDK", "startDate": "2017-11-05T16:37:25.071Z", "endDate": "2017-11-19T16:37:00.000Z", "completeDate": "2017-11-20T18:57:56.565Z", "originBoardId": 114 }, { "id": 984, "state": "closed", "name": "2017 Sprint 26 SDK", "startDate": "2017-12-17T22:34:59.726Z", "endDate": "2017-12-31T22:34:00.000Z", "completeDate": "2018-01-02T16:57:05.655Z", "originBoardId": 114 }, { "id": 985, "state": "closed", "name": "2018 Sprint 01 SDK", "startDate": "2017-12-31T16:58:54.631Z", "endDate": "2018-01-14T16:58:00.000Z", "completeDate": "2018-01-17T22:44:27.028Z", "originBoardId": 114 }, { "id": 990, "state": "closed", "name": "2018 Sprint 02 SDK", "startDate": "2018-01-14T22:48:43.544Z", "endDate": "2018-01-28T22:48:00.000Z", "completeDate": "2018-01-29T16:22:42.911Z", "originBoardId": 114 }, { "id": 975, "state": "closed", "name": "2017 Sprint 24 SDK", "startDate": "2017-11-19T18:59:24.352Z", "endDate": "2017-12-03T18:59:00.000Z", "completeDate": "2017-12-04T23:20:14.151Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "427297", "author": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "body": "Any updates on this one? !Screen Shot 2017-08-28 at 10.20.10 AM.png|thumbnail! ", "updateAuthor": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2017-08-28T02:20:41.000+0000", "updated": "2017-08-28T02:20:41.000+0000" }, { "id": "427759", "author": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~fahad86] Could you provide a test case that can reproduce the issue?", "updateAuthor": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-09-11T15:19:04.000+0000", "updated": "2017-09-11T15:19:04.000+0000" }, { "id": "427781", "author": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "body": "@Gary Mathews, sorry.. I'm not able to reproduce these errors as these were collected as a part of production crash dumps.\r\n\r\nWhat I would love to see is coding around the areas where these errors are thrown handling the errors gracefully (null checks) preventing the application from crashes.\r\n\r\nDo let me know if you need any more info.\r\n\r\nThanks and Regards", "updateAuthor": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2017-09-12T05:46:03.000+0000", "updated": "2017-09-13T03:18:08.000+0000" }, { "id": "427782", "author": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "body": "Should hopefully be a small change. Would love to see this as a part of 6.2.0", "updateAuthor": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2017-09-12T05:47:36.000+0000", "updated": "2017-09-12T05:47:36.000+0000" }, { "id": "429791", "author": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "body": "Hello, it would be helpful to move forward with the ticket if you provide a sample reproducible code. Thanks. Also add trace log of the issue. Thanks. ", "updateAuthor": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "created": "2017-10-29T20:01:18.000+0000", "updated": "2017-10-29T20:01:18.000+0000" }, { "id": "429799", "author": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "body": "@Sharif AbuDarda we use TiHTTPClient quite extensively but we don't have much visibility as to where exactly the crashes/exceptions occur. But one thing that we know is that these crashes occur quite frequently. This is amongst the only 2 main crashes that we see often in our app.", "updateAuthor": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2017-10-30T02:57:03.000+0000", "updated": "2017-10-30T02:57:03.000+0000" }, { "id": "430647", "author": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "body": "The issue seems to be happening after a period of inactivity of the app. We use a publisher subscriber service which I guess maintains connections for extended periods. The crashes seem to be occurring after periods of inactivity. \r\n !Screen Shot 2017-11-15 at 11.22.54 AM.png|thumbnail! !Screen Shot 2017-11-15 at 11.23.14 AM.png|thumbnail! \r\n\r\nAs for the details about the crashdumps we only have this:\r\n\r\nCrashed Thread\r\n\r\n0\tjava.lang.NullPointerException: Attempt to invoke virtual method 'void java.net.HttpURLConnection.disconnect()' on a null object reference\r\n!\t1\tat ti.modules.titanium.network.TiHTTPClient$ClientRunnable.run(TiHTTPClient.java:1293)\r\n2\tat java.lang.Thread.run(Thread.java:818)", "updateAuthor": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2017-11-15T03:40:00.000+0000", "updated": "2017-11-15T03:40:00.000+0000" }, { "id": "430742", "author": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "body": "master: https://github.com/appcelerator/titanium_mobile/pull/9605", "updateAuthor": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-11-15T22:02:54.000+0000", "updated": "2017-11-15T22:02:54.000+0000" }, { "id": "433044", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~gmathews], Can you please provide a test code which I can work with.", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-01-11T18:40:47.000+0000", "updated": "2018-01-11T18:40:47.000+0000" }, { "id": "433296", "author": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "body": "@Lokesh Choudhary can this be approved without code to reproduce the problem? I guess the workaround code for this was implemented purely based on the crash dumps.\r\n\r\n@Gary Mathews if you did however come-up with your own test case please list.\r\n\r\nThanks and Regards", "updateAuthor": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2018-01-18T08:09:43.000+0000", "updated": "2018-01-18T08:09:43.000+0000" }, { "id": "433318", "author": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "body": "7_0_X: https://github.com/appcelerator/titanium_mobile/pull/9708", "updateAuthor": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-01-18T23:16:20.000+0000", "updated": "2018-01-18T23:16:20.000+0000" }, { "id": "433322", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "FR Passed.\r\n\r\nMaster PR merged.\r\nWaiting for merge to get enabled for backport.", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-01-19T00:07:17.000+0000", "updated": "2018-01-19T00:07:17.000+0000" }, { "id": "433608", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Backport PR merged.", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-01-24T21:21:04.000+0000", "updated": "2018-01-24T21:21:04.000+0000" }, { "id": "433632", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified the fix with SDK 7.1.0.v20180124153334 & 7.0.2.v20180124142857.\r\n\r\nClosing.\r\n\r\nStudio Ver: 5.0.0.201712081732\r\nSDK Ver: 7.1.0.v20180124153334\r\nOS Ver: 10.13.2\r\nXcode Ver: Xcode 9.2\r\nAppc NPM: 4.2.11\r\nAppc CLI: 7.0.1\r\nDaemon Ver: 1.0.1\r\nTi CLI Ver: 5.0.14\r\nAlloy Ver: 1.10.10\r\nNode Ver: 8.9.1\r\nNPM Ver: 5.5.1\r\nJava Ver: 1.8.0_101\r\nDevices: ⇨ samsung SM-G955U1 --- Android 7.0\r\n ⇨ google Nexus 5 --- Android 6.0.1", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-01-25T00:02:57.000+0000", "updated": "2018-01-25T00:02:57.000+0000" } ], "maxResults": 14, "total": 14, "startAt": 0 } } }