{ "id": "76205", "key": "AC-3056", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "12217", "key": "AC", "name": "Appcelerator - INBOX", "projectCategory": { "id": "10000", "description": "", "name": "Customer Service" } }, "resolution": { "id": "8", "description": "", "name": "Needs more info" }, "resolutiondate": "2011-08-16T17:01:46.000+0000", "created": "2011-06-10T03:34:57.000+0000", "labels": [ "1.6.2", "1.7", "android", "crash", "window" ], "versions": [], "issuelinks": [], "assignee": { "name": "tguntharp", "key": "tguntharp", "displayName": "Tony Guntharp", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2016-03-08T07:48:06.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": "14548", "name": "Titanium SDK & CLI", "description": "Please enter tickets related to the MobileSDK here." } ], "description": "I've found at least one case and I've written a simple app to demonstrate it.\r\n\r\nA window with 2 buttons, each one opens a new window with a button to close. If the user opens/closes the windows several times, sometimes app crashes with a NullPointerException.\r\n\r\nIf the user opens always the same window, the app seems to do not crash. It seems too that if the user open/closes windows very fast works well and that if he/she waits some seconds before opening a new one after closing, tend to fail more frequently.\r\n\r\nThe code for the test application:\r\n\r\n{code}\r\nTitanium.UI.setBackgroundColor('#000');\r\n\r\nvar win1 = Titanium.UI.createWindow({ \r\n title:'Window 1'\r\n});\r\n\r\nwin1.add(openButton = Titanium.UI.createButton({\r\n\ttitle:'Open window 1',\r\n\ttop: 10\r\n}));\r\n\r\nwin1.add(openButton2 = Titanium.UI.createButton({\r\n\ttitle:'Open window 2',\r\n\ttop: 100\r\n}));\r\n\r\nopenButton.addEventListener('click', function() {\r\n\tmodal.open();\r\n});\r\n\r\nopenButton2.addEventListener('click', function() {\r\n\tmodal2.open();\r\n});\r\n\r\nvar modal = Titanium.UI.createWindow({\r\n\ttitle:'Modal',\r\n modal: true\r\n});\r\n\r\nmodal.add(closeButton = Titanium.UI.createButton({\r\n\ttitle:'Close',\r\n\ttop: 100\r\n}));\r\n\r\ncloseButton.addEventListener('click', function() {\r\n\tmodal.close();\r\n});\r\n\r\nvar modal2 = Titanium.UI.createWindow({\r\n\ttitle:'Modal 2',\r\n modal: true\r\n});\r\n\r\nmodal2.add(closeButton2 = Titanium.UI.createButton({\r\n\ttitle:'Close',\r\n\tbottom: 100\r\n}));\r\n\r\ncloseButton2.addEventListener('click', function() {\r\n\tmodal2.close();\r\n});\r\n\r\nwin1.open();\r\n{code}\r\n\r\nand the crash StackTrace:\r\n\r\n{noformat}\r\nE/TiUncaughtHandler( 442): (main) [15724,191549] Sending event: exception on thread: main msg:java.lang.NullPointerException; Titanium 1.6.2,2011/04/18 17:16,78906d\r\nE/TiUncaughtHandler( 442): java.lang.NullPointerException\r\nE/TiUncaughtHandler( 442): \tat android.content.ComponentName.(ComponentName.java:75)\r\nE/TiUncaughtHandler( 442): \tat android.content.Intent.(Intent.java:2702)\r\nE/TiUncaughtHandler( 442): \tat ti.modules.titanium.ui.TiUIWindow.createIntent(TiUIWindow.java:539)\r\nE/TiUncaughtHandler( 442): \tat ti.modules.titanium.ui.TiUIWindow.createNewActivity(TiUIWindow.java:197)\r\nE/TiUncaughtHandler( 442): \tat ti.modules.titanium.ui.TiUIWindow.(TiUIWindow.java:110)\r\nE/TiUncaughtHandler( 442): \tat ti.modules.titanium.ui.WindowProxy.handleOpen(WindowProxy.java:98)\r\nE/TiUncaughtHandler( 442): \tat org.appcelerator.titanium.proxy.TiWindowProxy.handleMessage(TiWindowProxy.java:67)\r\nE/TiUncaughtHandler( 442): \tat ti.modules.titanium.ui.WindowProxy.handleMessage(WindowProxy.java:85)\r\nE/TiUncaughtHandler( 442): \tat android.os.Handler.dispatchMessage(Handler.java:95)\r\nE/TiUncaughtHandler( 442): \tat android.os.Looper.loop(Looper.java:123)\r\nE/TiUncaughtHandler( 442): \tat android.app.ActivityThread.main(ActivityThread.java:3647)\r\nE/TiUncaughtHandler( 442): \tat java.lang.reflect.Method.invokeNative(Native Method)\r\nE/TiUncaughtHandler( 442): \tat java.lang.reflect.Method.invoke(Method.java:507)\r\nE/TiUncaughtHandler( 442): \tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)\r\nE/TiUncaughtHandler( 442): \tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)\r\nE/TiUncaughtHandler( 442): \tat dalvik.system.NativeStart.main(Native Method)\r\nE/AndroidRuntime( 442): FATAL EXCEPTION: main\r\nE/AndroidRuntime( 442): java.lang.NullPointerException\r\nE/AndroidRuntime( 442): \tat android.content.ComponentName.(ComponentName.java:75)\r\nE/AndroidRuntime( 442): \tat android.content.Intent.(Intent.java:2702)\r\nE/AndroidRuntime( 442): \tat ti.modules.titanium.ui.TiUIWindow.createIntent(TiUIWindow.java:539)\r\nE/AndroidRuntime( 442): \tat ti.modules.titanium.ui.TiUIWindow.createNewActivity(TiUIWindow.java:197)\r\nE/AndroidRuntime( 442): \tat ti.modules.titanium.ui.TiUIWindow.(TiUIWindow.java:110)\r\nE/AndroidRuntime( 442): \tat ti.modules.titanium.ui.WindowProxy.handleOpen(WindowProxy.java:98)\r\nE/AndroidRuntime( 442): \tat org.appcelerator.titanium.proxy.TiWindowProxy.handleMessage(TiWindowProxy.java:67)\r\nE/AndroidRuntime( 442): \tat ti.modules.titanium.ui.WindowProxy.handleMessage(WindowProxy.java:85)\r\nE/AndroidRuntime( 442): \tat android.os.Handler.dispatchMessage(Handler.java:95)\r\nE/AndroidRuntime( 442): \tat android.os.Looper.loop(Looper.java:123)\r\nE/AndroidRuntime( 442): \tat android.app.ActivityThread.main(ActivityThread.java:3647)\r\nE/AndroidRuntime( 442): \tat java.lang.reflect.Method.invokeNative(Native Method)\r\nE/AndroidRuntime( 442): \tat java.lang.reflect.Method.invoke(Method.java:507)\r\nE/AndroidRuntime( 442): \tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)\r\nE/AndroidRuntime( 442): \tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)\r\nE/AndroidRuntime( 442): \tat dalvik.system.NativeStart.main(Native Method)\r\n{noformat}\r\n", "attachment": [], "flagged": false, "summary": "Opening/closing the same windows sometimes causes a NullPointerException in Android", "creator": { "name": "aleix", "key": "aleix", "displayName": "Aleix Casagolda", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "aleix", "key": "aleix", "displayName": "Aleix Casagolda", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Titanium mobile SDK 1.6.2, 1.7RC1 and 1.7 (06/06/11 build) with Android SDK 2.3.x", "comment": { "comments": [ { "id": "156563", "author": { "name": "pdowsett", "key": "pdowsett", "displayName": "Paul Dowsett", "active": true, "timeZone": "Europe/London" }, "body": "Aleix\r\n\r\nYour code contains a lot of errors. Please correct them, in order to progress this ticket.\r\n\r\nAlso provide the link to the Q&A question that you raised regarding this issue, which is a pre-requisite of opening tickets.\r\n\r\nPlease read [Submitting Bug Reports|http://wiki.appcelerator.org/display/guides/Contributing+to+Titanium#ContributingtoTitanium-SubmittingBugReports] before raising any further tickets.\r\n\r\nThanks", "updateAuthor": { "name": "pdowsett", "key": "pdowsett", "displayName": "Paul Dowsett", "active": true, "timeZone": "Europe/London" }, "created": "2011-06-13T01:53:43.000+0000", "updated": "2011-06-13T01:53:43.000+0000" }, { "id": "157778", "author": { "name": "pdowsett", "key": "pdowsett", "displayName": "Paul Dowsett", "active": true, "timeZone": "Europe/London" }, "body": "No response from user", "updateAuthor": { "name": "pdowsett", "key": "pdowsett", "displayName": "Paul Dowsett", "active": true, "timeZone": "Europe/London" }, "created": "2011-06-25T03:57:01.000+0000", "updated": "2011-06-25T03:57:01.000+0000" }, { "id": "163106", "author": { "name": "pdowsett", "key": "pdowsett", "displayName": "Paul Dowsett", "active": true, "timeZone": "Europe/London" }, "body": "/sigh", "updateAuthor": { "name": "pdowsett", "key": "pdowsett", "displayName": "Paul Dowsett", "active": true, "timeZone": "Europe/London" }, "created": "2011-08-16T16:57:35.000+0000", "updated": "2011-08-16T16:57:35.000+0000" }, { "id": "163109", "author": { "name": "pdowsett", "key": "pdowsett", "displayName": "Paul Dowsett", "active": true, "timeZone": "Europe/London" }, "body": "Closing after 30 days of inactivity. Apologies for the copy/paste error! :/", "updateAuthor": { "name": "pdowsett", "key": "pdowsett", "displayName": "Paul Dowsett", "active": true, "timeZone": "Europe/London" }, "created": "2011-08-16T17:01:46.000+0000", "updated": "2011-08-16T17:01:46.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }