Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-1822] Android: remove Rows crashes when repeatedly clicking on refresh

GitHub Issuen/a
TypeBug
PriorityTrivial
StatusClosed
ResolutionInvalid
Resolution Date2011-04-15T03:03:10.000+0000
Affected Version/sn/a
Fix Version/sRelease 1.5.0
ComponentsAndroid
Labelsandroid, crash, defect
ReporterThomas Huelbert
AssigneeDon Thorp
Created2011-04-15T03:03:09.000+0000
Updated2017-03-02T19:00:16.000+0000

Description

g1 running 1.6 and 1.4.1.ec5d6d

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

output below (seemed short enough to copy paste)

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

Comments

  1. Don Thorp 2011-04-15

    Has the test bug been fixed to catch exceptions?

  2. Thomas Huelbert 2011-04-15

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

  3. Don Thorp 2011-04-15

    This test is not really valid.

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

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

    Thoughts?

  4. Thomas Huelbert 2011-04-15

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

  5. Thomas Huelbert 2011-04-15

    errr, now anyway

  6. Lee Morris 2017-03-02

    Closing as invalid.

JSON Source