{ "id": "62454", "key": "TIMOB-1822", "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": "11225", "name": "Release 1.5.0", "archived": true, "released": true, "releaseDate": "2010-12-14" } ], "resolution": { "id": "7", "description": "", "name": "Invalid" }, "resolutiondate": "2011-04-15T03:03:10.000+0000", "created": "2011-04-15T03:03:09.000+0000", "priority": { "name": "Trivial", "id": "5" }, "labels": [ "android", "crash", "defect" ], "versions": [], "issuelinks": [], "assignee": { "name": "dthorp", "key": "dthorp", "displayName": "Don Thorp", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-02T19:00:16.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": "{html}

g1 running 1.6 and 1.4.1.ec5d6d

\n

1.BaseUI>Views>TableViews>Refresh Table View
\n2.use trackball, give focus to refresh button, hit it fast like 10\ntimes (why anyone would this,
\nresults: crash

\n

output below (seemed short enough to copy paste)

\n

W/dalvikvm( 2158): threadid=3: thread exiting with uncaught\nexception (group=0x4001da28)
\nE/TiUncaughtHandler( 2158): (main) [54,58195] Sending event:\nexception on thread: main msg:java.lang.IndexOutOfBoundsException:\nInvalid location 0, size is 0
\nE/TiUncaughtHandler( 2158): java.lang.IndexOutOfBoundsException:\nInvalid location 0, size is 0
\nE/TiUncaughtHandler( 2158): at\njava.util.ArrayList.get(ArrayList.java:353)
\nE/TiUncaughtHandler( 2158): at\nti.modules.titanium.ui.widget.tableview.TiTableView$4.onItemSelected(TiTableView.java:407)
\nE/TiUncaughtHandler( 2158): at\nandroid.widget.AdapterView.fireOnSelected(AdapterView.java:864)
\nE/TiUncaughtHandler( 2158): at\nandroid.widget.AdapterView.access$200(AdapterView.java:42)
\nE/TiUncaughtHandler( 2158): at\nandroid.widget.AdapterView$SelectionNotifier.run(AdapterView.java:830)
\nE/TiUncaughtHandler( 2158): at\nandroid.os.Handler.handleCallback(Handler.java:587)
\nE/TiUncaughtHandler( 2158): at\nandroid.os.Handler.dispatchMessage(Handler.java:92)
\nE/TiUncaughtHandler( 2158): at\nandroid.os.Looper.loop(Looper.java:123)
\nE/TiUncaughtHandler( 2158): at\nandroid.app.ActivityThread.main(ActivityThread.java:4203)
\nE/TiUncaughtHandler( 2158): at\njava.lang.reflect.Method.invokeNative(Native Method)
\nE/TiUncaughtHandler( 2158): at\njava.lang.reflect.Method.invoke(Method.java:521)
\nE/TiUncaughtHandler( 2158): at\ncom.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
\nE/TiUncaughtHandler( 2158): at\ncom.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
\nE/TiUncaughtHandler( 2158): at\ndalvik.system.NativeStart.main(Native Method)
\nD/TiApplication( 2158): (main) [34,58229] Analytics Event:\ntype=ti.crash
\nD/TiApplication( 2158): event=ti.crash
\nD/TiApplication( 2158): timestamp=2010-09-13T20:41:59.834+0000
\nD/TiApplication( 2158): mid=200145da5524d59d
\nD/TiApplication( 2158):\nsid=f07c2076-892c-430f-b2bf-ce312d19c172
\nD/TiApplication( 2158): aguid=6fe33f33fd1f4e95a06d2d217170866d
\nD/TiApplication( 2158): isJSON=true
\nD/TiApplication( 2158): payload={
\nE/AndroidRuntime( 2158): Uncaught handler: thread main exiting due\nto uncaught exception
\nE/AndroidRuntime( 2158): java.lang.IndexOutOfBoundsException:\nInvalid location 0, size is 0
\nE/AndroidRuntime( 2158): at\njava.util.ArrayList.get(ArrayList.java:353)
\nE/AndroidRuntime( 2158): at\nti.modules.titanium.ui.widget.tableview.TiTableView$4.onItemSelected(TiTableView.java:407)
\nE/AndroidRuntime( 2158): at\nandroid.widget.AdapterView.fireOnSelected(AdapterView.java:864)
\nE/AndroidRuntime( 2158): at\nandroid.widget.AdapterView.access$200(AdapterView.java:42)
\nE/AndroidRuntime( 2158): at\nandroid.widget.AdapterView$SelectionNotifier.run(AdapterView.java:830)
\nE/AndroidRuntime( 2158): at\nandroid.os.Handler.handleCallback(Handler.java:587)
\nE/AndroidRuntime( 2158): at\nandroid.os.Handler.dispatchMessage(Handler.java:92)
\nE/AndroidRuntime( 2158): at\nandroid.os.Looper.loop(Looper.java:123)
\nE/AndroidRuntime( 2158): at\nandroid.app.ActivityThread.main(ActivityThread.java:4203)
\nE/AndroidRuntime( 2158): at\njava.lang.reflect.Method.invokeNative(Native Method)
\nE/AndroidRuntime( 2158): at\njava.lang.reflect.Method.invoke(Method.java:521)
\nE/AndroidRuntime( 2158): at\ncom.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
\nE/AndroidRuntime( 2158): at\ncom.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
\nE/AndroidRuntime( 2158): at dalvik.system.NativeStart.main(Native\nMethod)
\nI/Process ( 69): Sending signal. PID: 2158 SIG: 3
\nI/dalvikvm( 2158): threadid=7: reacting to signal 3
\nE/dalvikvm( 2158): Unable to open stack trace file\n'/data/anr/traces.txt': Permission denied

{html}", "attachment": [], "flagged": false, "summary": "Android: remove Rows crashes when repeatedly clicking on refresh", "creator": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "126748", "author": { "name": "dthorp", "key": "dthorp", "displayName": "Don Thorp", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

Has the test bug been fixed to catch exceptions?

{html}", "updateAuthor": { "name": "dthorp", "key": "dthorp", "displayName": "Don Thorp", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:03:09.000+0000", "updated": "2011-04-15T03:03:09.000+0000" }, { "id": "126749", "author": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

typo - should have read \"refresh table view\" (updated), though\npewrhpas its stil the same issue? The secret to getting this one to\ncrash to is to wail on the button for a bit (5 quick presses does\nit most of the time).

{html}", "updateAuthor": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:03:09.000+0000", "updated": "2011-04-15T03:03:09.000+0000" }, { "id": "126750", "author": { "name": "dthorp", "key": "dthorp", "displayName": "Don Thorp", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

This test is not really valid.

\n
\nrefresh.addEventListener('click', function()\n{\n    tv.setData([]);\n    setTimeout(function()\n    {\n        setData();\n    },1000)\n});\n
\n

That allows you to press click multiple times and then have set\ndata calls overlap. It's not really surprising that it crashes.

\n

Thoughts?

{html}", "updateAuthor": { "name": "dthorp", "key": "dthorp", "displayName": "Don Thorp", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:03:09.000+0000", "updated": "2011-04-15T03:03:09.000+0000" }, { "id": "126751", "author": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

I made note to myself (including the need to fix this test\ncase), and am marking this as invalid. Sorry for the noise!

{html}", "updateAuthor": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:03:10.000+0000", "updated": "2011-04-15T03:03:10.000+0000" }, { "id": "126752", "author": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

errr, now anyway

{html}", "updateAuthor": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:03:10.000+0000", "updated": "2011-04-15T03:03:10.000+0000" }, { "id": "408398", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing as invalid.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-02T19:00:16.000+0000", "updated": "2017-03-02T19:00:16.000+0000" } ], "maxResults": 6, "total": 6, "startAt": 0 } } }