Skip to content

ListView causing app to crash  #6166

Closed
Closed

Description

@vtrifonov

From @ludcila on August 8, 2018 14:21

Please, provide the details below:

Did you verify this is a real problem by searching the NativeScript Forum and the other open issues in this repo?

Yes

Found some similar issues:

Tell us about the problem

The app crashes when:

  1. Using a ListView with multiple templates
  2. There is a model update that causes an item to switch from one template to another
  3. The app is put into background and/or navigation occurs (using slide transition)

Please provide the following version numbers that your issue occurs with:

  • CLI: 4.1.2
  • Cross-platform modules: 4.1.1
  • Runtime(s): 4.1.3

This seems to happen only on Android 8.0.

Did the error happen while the app was being constructed? (buildtime error)

No

Did the error happen while the app was executing? (runtime error)

Yes

An uncaught Exception occurred on "main" thread.
com.tns.NativeScriptException: 
Calling js method getView failed

Error: There is no entry with key 'org.nativescript.widgets.StackLayout{4b534d0 V.E...... ........ 0,-133-1080,28}' in the realized views cache for template with key'visited'.
File: "file:///data/data/org.nativescript.nsissue741/files/app/tns_modules/tns-core-modules/ui/list-view/list-view.js, line: 241, column: 20

StackTrace: 
	Frame: function:'ZoneAwareError', file:'file:///data/data/org.nativescript.nsissue741/files/app/tns_modules/nativescript-angular/zone-js/dist/zone-nativescript.js', line: 1298, column: 33
	Frame: function:'ListViewAdapter.getView', file:'file:///data/data/org.nativescript.nsissue741/files/app/tns_modules/tns-core-modules/ui/list-view/list-view.js', line: 241, column: 27


	at com.tns.Runtime.callJSMethodNative(Native Method)
	at com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1101)
	at com.tns.Runtime.callJSMethodImpl(Runtime.java:983)
	at com.tns.Runtime.callJSMethod(Runtime.java:970)
	at com.tns.Runtime.callJSMethod(Runtime.java:954)
	at com.tns.Runtime.callJSMethod(Runtime.java:946)
	at com.tns.gen.android.widget.BaseAdapter_view_195_32_ListViewAdapter.getView(BaseAdapter_view_195_32_ListViewAdapter.java:52)
	at android.widget.AbsListView.obtainView(AbsListView.java:2428)
	at android.widget.ListView.makeAndAddView(ListView.java:2083)
	at android.widget.ListView.fillUp(ListView.java:829)
	at android.widget.ListView.fillGap(ListView.java:766)
	at android.widget.AbsListView.trackMotionScroll(AbsListView.java:5520)
	at android.widget.ListView.trackMotionScroll(ListView.java:1991)
	at android.widget.AbsListView.scrollIfNeeded(AbsListView.java:3660)
	at android.widget.AbsListView.onTouchMove(AbsListView.java:4086)
	at android.widget.AbsListView.onTouchEvent(AbsListView.java:3904)
	at android.view.View.dispatchTouchEvent(View.java:11788)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2968)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2647)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2974)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2661)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2974)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2661)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2974)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2661)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2974)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2661)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2974)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2661)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2974)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2661)
	at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:549)
	at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1953)
	at android.app.Activity.dispatchTouchEvent(Activity.java:3548)
	at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:502)
	at android.view.View.dispatchPointerEvent(View.java:12027)
	at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5278)
	at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5067)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4581)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4634)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4600)
	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4727)
	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4608)
	at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4784)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4581)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4634)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4600)
	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4608)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4581)
	at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7169)
	at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7143)
	at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7104)
	at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7325)
	at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:192)
	at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
	at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:181)
	at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:7248)
	at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:7353)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:981)
	at android.view.Choreographer.doCallbacks(Choreographer.java:790)
	at android.view.Choreographer.doFrame(Choreographer.java:715)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:967)
	at android.os.Handler.handleCallback(Handler.java:808)
	at android.os.Handler.dispatchMessage(Handler.java:101)
	at android.os.Looper.loop(Looper.java:166)
	at android.app.ActivityThread.main(ActivityThread.java:7425)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)

Please tell us how to recreate the issue in as much detail as possible.

Sample project to reproduce the issue:
https://github.com/ludcila/ns-listview-issue

Copied from original issue: NativeScript/android#1145

Activity

  1. self-assigned this
    on Aug 9, 2018
  2. tsonevn commented on Aug 9, 2018

    @tsonevn
    Contributor

    Hi @ludcila,
    Thank you for the provided sample project.
    I tested it on my side and was able to recreate the problem. I will mark this as a bug. For now, I would suggest, to keep track of the issue for further info.

  3. tsonevn commented on Aug 9, 2018

    @tsonevn
    Contributor
  4. AdamAtri commented on Mar 14, 2019

    @AdamAtri
    Contributor

    I'm having the same issue, but I'm on nativescript-core (v4.2.1)

    System.err: Calling js method getView failed
    System.err: 
    System.err: Error: There is no entry with key 'org.nativescript.widgets.StackLayout{f9858cd V.E...... ........ 11,44-789,71}' in the realized views cache for template with key'thread'.
    System.err: File: "file:///data/data/com.<companyname>.app/files/app/tns_modules/tns-core-modules/ui/list-view/list-view.js, line: 247, column: 20
    System.err: 
    System.err: StackTrace: 
    System.err: 	Frame: function:'ListViewAdapter.getView', file:'file:///data/data/com.voicethread.app/files/app/tns_modules/tns-core-modules/ui/list-view/list-view.js', line: 247, column: 27
    System.err: 
    System.err: 	at com.tns.Runtime.callJSMethodNative(Native Method)
    System.err: 	at com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1116)
    System.err: 	at com.tns.Runtime.callJSMethodImpl(Runtime.java:996)
    System.err: 	at com.tns.Runtime.callJSMethod(Runtime.java:983)
    System.err: 	at com.tns.Runtime.callJSMethod(Runtime.java:967)
    System.err: 	at com.tns.Runtime.callJSMethod(Runtime.java:959)
    System.err: 	at com.tns.gen.android.widget.BaseAdapter_view_201_32_ListViewAdapter.getView(BaseAdapter_view_201_32_ListViewAdapter.java:52)
    System.err: 	at android.widget.AbsListView.obtainView(AbsListView.java:3180)
    System.err: 	at android.widget.ListView.makeAndAddView(ListView.java:2197)
    System.err: 	at android.widget.ListView.fillUp(ListView.java:858)
    System.err: 	at android.widget.ListView.fillGap(ListView.java:797)
    System.err: 	at android.widget.AbsListView.trackMotionScroll(AbsListView.java:8174)
    System.err: 	at android.widget.ListView.trackMotionScroll(ListView.java:2116)
    System.err: 	at android.widget.AbsListView.scrollIfNeeded(AbsListView.java:4820)
    System.err: 	at android.widget.AbsListView.onTouchMove(AbsListView.java:6513)
    System.err: 	at android.widget.AbsListView.onTouchEvent(AbsListView.java:6330)
    System.err: 	at android.widget.ListView.onTouchEvent(ListView.java:1700)
    System.err: 	at android.view.View.dispatchTouchEvent(View.java:12629)
    System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3166)
    System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2842)
    System.err: 	at android.widget.AbsListView.dispatchTouchEvent(AbsListView.java:6247)
    System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3172)
    System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2857)
    System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3172)
    System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2857)
    System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3172)
    System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2857)
    System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3172)
    System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2857)
    System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3172)
    System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2857)
    System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3172)
    System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2857)
    System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3172)
    System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2857)
    System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3172)
    System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2857)
    System.err: 	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3172)
    System.err: 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2857)
    System.err: 	at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:615)
    System.err: 	at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1879)
    System.err: 	at android.app.Activity.dispatchTouchEvent(Activity.java:3441)
    System.err: 	at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:577)
    System.err: 	at android.view.View.dispatchPointerEvent(View.java:12877)
    System.err: 	at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5787)
    System.err: 	at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5582)
    System.err: 	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5075)
    System.err: 	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5128)
    System.err: 	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5094)
    System.err: 	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5231)
    System.err: 	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5102)
    System.err: 	at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5288)
    System.err: 	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5075)
    System.err: 	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5128)
    System.err: 	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5094)
    System.err: 	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5102)
    System.err: 	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5075)
    System.err: 	at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7887)
    System.err: 	at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7827)
    System.err: 	at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7788)
    System.err: 	at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7998)
    System.err: 	at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:198)
    System.err: 	at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
    System.err: 	at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:187)
    System.err: 	at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:7961)
    System.err: 	at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:8025)
    System.err: 	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
    System.err: 	at android.view.Choreographer.doCallbacks(Choreographer.java:723)
    System.err: 	at android.view.Choreographer.doFrame(Choreographer.java:652)
    System.err: 	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
    System.err: 	at android.os.Handler.handleCallback(Handler.java:790)
    System.err: 	at android.os.Handler.dispatchMessage(Handler.java:99)
    System.err: 	at android.os.Looper.loop(Looper.java:164)
    System.err: 	at android.app.ActivityThread.main(ActivityThread.java:7000)
    System.err: 	at java.lang.reflect.Method.invoke(Native Method)
    System.err: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:441)
    System.err: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)
    
  5. tsonevn commented on Mar 19, 2019

    @tsonevn
    Contributor

    Hi @AdamAtri,
    Can you try upgrading your project to the latest NativeScript and check if you will be able to recreate the issue?

  6. lock commented on Mar 18, 2020

    @lock

    This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

  7. locked and limited conversation to collaborators on Mar 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions