{ "id": "168503", "key": "TIMOB-24860", "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": [], "resolution": { "id": "5", "description": "All attempts at reproducing this issue failed, or not enough information was available to reproduce the issue. Reading the code produces no clues as to why this behavior would occur. If more information appears later, please reopen the issue.", "name": "Cannot Reproduce" }, "resolutiondate": "2019-04-12T16:52:15.000+0000", "created": "2017-06-19T23:27:30.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "engTriage", "nullpointerexception", "sdk-6.0.1.GA" ], "versions": [ { "id": "17608", "name": "Release 6.1.0", "archived": false, "released": true, "releaseDate": "2017-05-26" }, { "id": "19333", "description": "Patch release for important items that did not make it into 6.0.3", "name": "Release 6.0.4", "archived": false, "released": true, "releaseDate": "2017-04-27" } ], "issuelinks": [], "assignee": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2019-04-12T16:52:15.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": "I'm getting occasional (1-2 per day) java.lang.NullPointerException errors in org.appcelerator.titanium.view.TiCompositeLayout from my users. How do I track this down. The only information I get from the users is that the application crashes. The google Play console reports:\r\n{code}\r\njava.lang.NullPointerException: \r\n at android.view.ViewConfiguration.get(ViewConfiguration.java:389)\r\n at android.view.View.(View.java:4048)\r\n at android.view.View.(View.java:4169)\r\n at android.view.ViewGroup.(ViewGroup.java:589)\r\n at android.view.ViewGroup.(ViewGroup.java:585)\r\n at android.view.ViewGroup.(ViewGroup.java:581)\r\n at android.view.ViewGroup.(ViewGroup.java:577)\r\n at org.appcelerator.titanium.view.TiCompositeLayout.(TiCompositeLayout.java:127)\r\n at ti.modules.titanium.ui.widget.TiView.(TiView.java:31)\r\n at ti.modules.titanium.ui.ViewProxy.createView(ViewProxy.java:27)\r\n at ti.modules.titanium.ui.widget.listview.ListSectionProxy.generateChildContentViews(ListSectionProxy.java:714)\r\n at ti.modules.titanium.ui.widget.listview.ListSectionProxy.generateCellContent(ListSectionProxy.java:702)\r\n at ti.modules.titanium.ui.widget.listview.TiListView$TiBaseAdapter.getView(TiListView.java:301)\r\n at android.widget.HeaderViewListAdapter.getView(HeaderViewListAdapter.java:232)\r\n at android.widget.AbsListView.obtainView(AbsListView.java:2929)\r\n at android.widget.ListView.makeAndAddView(ListView.java:1945)\r\n at android.widget.ListView.fillDown(ListView.java:719)\r\n at android.widget.ListView.fillSpecific(ListView.java:1391)\r\n at android.widget.ListView.layoutChildren(ListView.java:1712)\r\n at android.widget.AbsListView.onLayout(AbsListView.java:2723)\r\n at android.view.View.layout(View.java:17938)\r\n at android.view.ViewGroup.layout(ViewGroup.java:5812)\r\n at android.widget.FrameLayout.layoutChildren(FrameLayout.java:344)\r\n at android.widget.FrameLayout.onLayout(FrameLayout.java:281)\r\n at ti.modules.titanium.ui.widget.listview.TiListView$ListViewWrapper.onLayout(TiListView.java:181)\r\n at android.view.View.layout(View.java:17938)\r\n at android.view.ViewGroup.layout(ViewGroup.java:5812)\r\n at org.appcelerator.titanium.view.TiCompositeLayout.onLayout(TiCompositeLayout.java:640)\r\n at android.view.View.layout(View.java:17938)\r\n at android.view.ViewGroup.layout(ViewGroup.java:5812)\r\n at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1695)\r\n at android.view.View.layout(View.java:17938)\r\n at android.view.ViewGroup.layout(ViewGroup.java:5812)\r\n at org.appcelerator.titanium.view.TiCompositeLayout.onLayout(TiCompositeLayout.java:640)\r\n at android.view.View.layout(View.java:17938)\r\n at android.view.ViewGroup.layout(ViewGroup.java:5812)\r\n at android.widget.FrameLayout.layoutChildren(FrameLayout.java:344)\r\n at android.widget.FrameLayout.onLayout(FrameLayout.java:281)\r\n at android.view.View.layout(View.java:17938)\r\n at android.view.ViewGroup.layout(ViewGroup.java:5812)\r\n at android.support.v7.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:435)\r\n at android.view.View.layout(View.java:17938)\r\n at android.view.ViewGroup.layout(ViewGroup.java:5812)\r\n at android.widget.FrameLayout.layoutChildren(FrameLayout.java:344)\r\n at android.widget.FrameLayout.onLayout(FrameLayout.java:281)\r\n at android.view.View.layout(View.java:17938)\r\n at android.view.ViewGroup.layout(ViewGroup.java:5812)\r\n at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1742)\r\n at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)\r\n at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)\r\n at android.view.View.layout(View.java:17938)\r\n at android.view.ViewGroup.layout(ViewGroup.java:5812)\r\n at android.widget.FrameLayout.layoutChildren(FrameLayout.java:344)\r\n at android.widget.FrameLayout.onLayout(FrameLayout.java:281)\r\n at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:3193)\r\n at android.view.View.layout(View.java:17938)\r\n at android.view.ViewGroup.layout(ViewGroup.java:5812)\r\n at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2666)\r\n at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2367)\r\n at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1437)\r\n at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7397)\r\n at android.view.Choreographer$CallbackRecord.run(Choreographer.java:920)\r\n at android.view.Choreographer.doCallbacks(Choreographer.java:695)\r\n at android.view.Choreographer.doFrame(Choreographer.java:631)\r\n at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906)\r\n at android.os.Handler.handleCallback(Handler.java:739)\r\n at android.os.Handler.dispatchMessage(Handler.java:95)\r\n at android.os.Looper.loop(Looper.java:158)\r\n at android.app.ActivityThread.main(ActivityThread.java:7229)\r\n at java.lang.reflect.Method.invoke(Native Method:0)\r\n at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)\r\n at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)}}\r\n{code}", "attachment": [], "flagged": false, "summary": "Android: \"NullPointerException\" on TiCompositeLayout", "creator": { "name": "greg@snapithd.com", "key": "greg@snapithd.com", "displayName": "greg", "active": true, "timeZone": "Pacific/Auckland" }, "subtasks": [], "reporter": { "name": "greg@snapithd.com", "key": "greg@snapithd.com", "displayName": "greg", "active": true, "timeZone": "Pacific/Auckland" }, "environment": "Android 5.0,5.1,6.0 and 7.0 on various platforms including ZTE T84, Galaxy S6 (zeroflte), Galaxy Xcover3 (xcoer3lte) and smart_speed platforms. I have tried with all GA SDKs since 6.0.0. Currently have 6.0.1.GA deployed.", "closedSprints": [ { "id": 1058, "state": "closed", "name": "2018 Sprint 16 SDK", "startDate": "2018-07-29T22:26:06.486Z", "endDate": "2018-08-12T22:26:00.000Z", "completeDate": "2018-08-13T17:38:16.757Z", "originBoardId": 114 }, { "id": 997, "state": "closed", "name": "2018 Sprint 03 SDK", "startDate": "2018-01-28T16:23:12.178Z", "endDate": "2018-02-11T16:23:00.000Z", "completeDate": "2018-02-12T04:22:49.354Z", "originBoardId": 114 }, { "id": 1065, "state": "closed", "name": "2016 Sprint 17 SDK", "startDate": "2018-08-13T17:39:36.846Z", "endDate": "2018-08-27T17:39:00.000Z", "completeDate": "2018-08-29T16:10:57.013Z", "originBoardId": 114 }, { "id": 1034, "state": "closed", "name": "2018 Sprint 10 SDK", "startDate": "2018-05-07T00:03:21.636Z", "endDate": "2018-05-21T00:03:00.000Z", "completeDate": "2018-05-20T20:54:58.928Z", "originBoardId": 114 }, { "id": 1035, "state": "closed", "name": "2018 Sprint 11 SDK", "startDate": "2018-05-20T20:57:43.542Z", "endDate": "2018-06-03T20:57:00.000Z", "completeDate": "2018-06-04T15:13:14.425Z", "originBoardId": 114 }, { "id": 1070, "state": "closed", "name": "2018 Sprint 18 SDK", "startDate": "2018-08-26T16:14:35.297Z", "endDate": "2018-09-09T16:14:00.000Z", "completeDate": "2018-09-11T20:59:21.495Z", "originBoardId": 114 }, { "id": 1039, "state": "closed", "name": "2018 Sprint 12 SDK", "startDate": "2018-06-03T15:22:23.401Z", "endDate": "2018-06-17T15:22:00.000Z", "completeDate": "2018-06-18T20:45:36.363Z", "originBoardId": 114 }, { "id": 1073, "state": "closed", "name": "2018 Sprint 19 SDK", "startDate": "2018-09-09T21:02:56.422Z", "endDate": "2018-09-23T21:02:00.000Z", "completeDate": "2018-09-23T22:28:10.932Z", "originBoardId": 114 }, { "id": 1045, "state": "closed", "name": "2018 Sprint 13 SDK", "startDate": "2018-06-17T20:47:13.621Z", "endDate": "2018-07-01T20:47:00.000Z", "completeDate": "2018-07-02T18:40:05.029Z", "originBoardId": 114 }, { "id": 1078, "state": "closed", "name": "2018 Sprint 20 SDK", "startDate": "2018-09-23T16:57:58.349Z", "endDate": "2018-10-07T16:57:00.000Z", "completeDate": "2018-10-07T23:31:40.476Z", "originBoardId": 114 }, { "id": 1050, "state": "closed", "name": "2018 Sprint 14 SDK", "startDate": "2018-07-01T18:40:57.193Z", "endDate": "2018-07-15T18:40:00.000Z", "completeDate": "2018-07-16T03:27:08.720Z", "originBoardId": 114 }, { "id": 1084, "state": "closed", "name": "2018 Sprint 21", "startDate": "2018-10-07T23:32:40.560Z", "endDate": "2018-10-21T23:32:00.000Z", "completeDate": "2018-10-21T23:19:05.460Z", "originBoardId": 114 }, { "id": 1053, "state": "closed", "name": "2018 Sprint 15 SDK", "startDate": "2018-07-15T21:52:05.453Z", "endDate": "2018-07-29T21:52:00.000Z", "completeDate": "2018-07-29T22:25:11.723Z", "originBoardId": 114 }, { "id": 1088, "state": "closed", "name": "2018 Sprint 22", "startDate": "2018-10-21T23:20:52.653Z", "endDate": "2018-11-04T23:20:00.000Z", "completeDate": "2018-11-04T23:29:59.423Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "422362", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Hey there! It looks like one of your header-views inside a list-view that is aligned with a composite layout becomes null, so you might want to check in that direction. /cc [~gmathews] in case it's a Titanium issue, thx!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-06-20T12:20:00.000+0000", "updated": "2017-06-20T12:20:00.000+0000" }, { "id": "422397", "author": { "name": "greg@snapithd.com", "key": "greg@snapithd.com", "displayName": "greg", "active": true, "timeZone": "Pacific/Auckland" }, "body": "Hi, I've forked the code onto my non-private github https://github.com/securit/mobileVMS. How do I cc Gary Mathews?", "updateAuthor": { "name": "greg@snapithd.com", "key": "greg@snapithd.com", "displayName": "greg", "active": true, "timeZone": "Pacific/Auckland" }, "created": "2017-06-20T20:51:34.000+0000", "updated": "2017-06-20T20:51:34.000+0000" }, { "id": "422448", "author": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~greg@snapithd.com] I don't have access to the repo (404)", "updateAuthor": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-06-21T11:43:28.000+0000", "updated": "2017-06-21T11:43:28.000+0000" }, { "id": "423413", "author": { "name": "greg@snapithd.com", "key": "greg@snapithd.com", "displayName": "greg", "active": true, "timeZone": "Pacific/Auckland" }, "body": "Hi Gary, now that you have access to the repo, have you managed to get anywhere?", "updateAuthor": { "name": "greg@snapithd.com", "key": "greg@snapithd.com", "displayName": "greg", "active": true, "timeZone": "Pacific/Auckland" }, "created": "2017-07-03T20:32:42.000+0000", "updated": "2017-07-03T20:32:42.000+0000" }, { "id": "434206", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~gmathews] What's going on with this one?\r\n", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-02-07T22:50:08.000+0000", "updated": "2018-02-07T22:50:08.000+0000" }, { "id": "447653", "author": { "name": "ahutton", "key": "ahutton", "displayName": "Alan Hutton", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closed per developer comments.", "updateAuthor": { "name": "ahutton", "key": "ahutton", "displayName": "Alan Hutton", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-04-12T16:52:15.000+0000", "updated": "2019-04-12T16:52:15.000+0000" } ], "maxResults": 8, "total": 8, "startAt": 0 } } }