[TIMOB-1970] Android: calling TableView.setData while table is being rendered can cause crash
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Medium |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2011-04-17T01:57:41.000+0000 |
Affected Version/s | n/a |
Fix Version/s | Release 1.5.0 |
Components | Android |
Labels | android, defect |
Reporter | Bill Dawson |
Assignee | Bill Dawson |
Created | 2011-04-15T03:06:54.000+0000 |
Updated | 2011-04-17T01:57:41.000+0000 |
Description
Similar to #1945 but not exactly the same.
The failcase for this is from a customer. I can re-create it
easily with their application, but because it's a timing issue I
haven't been able to make it happen with a simplified
application.
Here is the trace of the crash, which is caused by an
ArrayIndexOutOfBoundsException
.
java.lang.ArrayIndexOutOfBoundsException
at android.widget.AbsListView$RecycleBin.addScrapView(AbsListView.java:4078)
at android.widget.ListView.layoutChildren(ListView.java:1514)
at android.widget.AbsListView.onLayout(AbsListView.java:1147)
at android.view.View.layout(View.java:7034)
at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
at android.view.View.layout(View.java:7034)
at org.appcelerator.titanium.view.TiCompositeLayout.onLayout(TiCompositeLayout.java:314)
at android.view.View.layout(View.java:7034)
at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
at android.view.View.layout(View.java:7034)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1249)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1125)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1042)
at android.view.View.layout(View.java:7034)
at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
at android.view.View.layout(View.java:7034)
at android.view.ViewRoot.performTraversals(ViewRoot.java:1049)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1744)
(from [bc0ae2a7f61ffc3ce893dd5724dccf3a97122703]) [#1970 state:fixed-in-qa] Methods that add or remove rows now go to the UI thread so that they cannot affect the view model while the UI is rendering the table. http://github.com/appcelerator/titanium_mobile/commit/bc0ae2a7f61ffc3ce893dd5724dccf3a97122703"> http://github.com/appcelerator/titanium_mobile/commit/bc0ae2a7f61ff...
1.4.2 80434d G1, EVO 4.