Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

random Android crashes when setting markingMode to none #123

Closed
felixkrautschuk opened this issue Jun 12, 2019 · 9 comments
Closed

random Android crashes when setting markingMode to none #123

felixkrautschuk opened this issue Jun 12, 2019 · 9 comments
Labels

Comments

@felixkrautschuk
Copy link

I see about 500 crash-reports in the Google Play console of our live-app and all of them look like this:

com.tns.NativeScriptException:
at com.tns.Runtime.getJavaObjectByID (Runtime.java:1006)
at com.tns.Runtime.callJSMethodNative (Native Method)
at com.tns.Runtime.dispatchCallJSMethodNative (Runtime.java:1203)
at com.tns.Runtime.callJSMethodImpl (Runtime.java:1083)
at com.tns.Runtime.callJSMethod (Runtime.java:1070)
at com.tns.Runtime.callJSMethod (Runtime.java:1050)
at com.tns.Runtime.callJSMethod (Runtime.java:1042)
at com.tns.gen.com.lambergar.verticalviewpager.PagerAdapter_pager_424_32_PagerStateAdapterImpl.setPrimaryItem (PagerAdapter_pager_424_32_PagerStateAdapterImpl.java:62)
at android.support.v4.view.ViewPager.populate (ViewPager.java:1234)
at android.support.v4.view.ViewPager.populate (ViewPager.java:1092)
at android.support.v4.view.ViewPager.onMeasure (ViewPager.java:1622)
at android.view.View.measure (View.java:23297)
at org.nativescript.widgets.CommonLayoutParams.measureChild (CommonLayoutParams.java:262)
at org.nativescript.widgets.MeasureHelper.measureChildFixedColumnsAndRows (GridLayout.java:1056)
at org.nativescript.widgets.MeasureHelper.measure (GridLayout.java:866)
at org.nativescript.widgets.GridLayout.onMeasure (GridLayout.java:280)
at android.view.View.measure (View.java:23297)
at org.nativescript.widgets.CommonLayoutParams.measureChild (CommonLayoutParams.java:262)
at org.nativescript.widgets.MeasureHelper.measureChildFixedColumnsAndRows (GridLayout.java:1056)
at org.nativescript.widgets.MeasureHelper.measure (GridLayout.java:866)
at org.nativescript.widgets.GridLayout.onMeasure (GridLayout.java:280)
at android.view.View.measure (View.java:23297)
at org.nativescript.widgets.CommonLayoutParams.measureChild (CommonLayoutParams.java:262)
at org.nativescript.widgets.MeasureHelper.measureChildFixedColumnsAndRows (GridLayout.java:1056)
at org.nativescript.widgets.MeasureHelper.measure (GridLayout.java:866)
at org.nativescript.widgets.GridLayout.onMeasure (GridLayout.java:280)
at android.view.View.measure (View.java:23297)
at org.nativescript.widgets.CommonLayoutParams.measureChild (CommonLayoutParams.java:262)
at org.nativescript.widgets.ContentLayout.onMeasure (ContentLayout.java:32)
at android.view.View.measure (View.java:23297)
at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6928)
at android.widget.FrameLayout.onMeasure (FrameLayout.java:185)
at android.view.View.measure (View.java:23297)
at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6928)
at android.widget.FrameLayout.onMeasure (FrameLayout.java:185)
at android.view.View.measure (View.java:23297)
at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6928)
at android.widget.FrameLayout.onMeasure (FrameLayout.java:185)
at android.support.v7.widget.ContentFrameLayout.onMeasure (ContentFrameLayout.java:143)
at android.view.View.measure (View.java:23297)
at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6928)
at android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1514)
at android.widget.LinearLayout.measureVertical (LinearLayout.java:806)
at android.widget.LinearLayout.onMeasure (LinearLayout.java:685)
at android.view.View.measure (View.java:23297)
at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6928)
at android.widget.FrameLayout.onMeasure (FrameLayout.java:185)
at android.view.View.measure (View.java:23297)
at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6928)
at android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1514)
at android.widget.LinearLayout.measureVertical (LinearLayout.java:806)
at android.widget.LinearLayout.onMeasure (LinearLayout.java:685)
at android.view.View.measure (View.java:23297)
at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6928)
at android.widget.FrameLayout.onMeasure (FrameLayout.java:185)
at com.android.internal.policy.DecorView.onMeasure (DecorView.java:899)
at android.view.View.measure (View.java:23297)
at android.view.ViewRootImpl.performMeasure (ViewRootImpl.java:2881)
at android.view.ViewRootImpl.measureHierarchy (ViewRootImpl.java:1911)
at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:2166)
at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1780)
at android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:7827)
at android.view.Choreographer$CallbackRecord.run (Choreographer.java:911)
at android.view.Choreographer.doCallbacks (Choreographer.java:723)
at android.view.Choreographer.doFrame (Choreographer.java:658)
at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:897)
at android.os.Handler.handleCallback (Handler.java:789)
at android.os.Handler.dispatchMessage (Handler.java:98)
at android.os.Looper.loop (Looper.java:164)
at android.app.ActivityThread.main (ActivityThread.java:6944)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:327)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1374)

In our app, we set the markingMode-flag is set to 'none'.
As all the logs contain 'com.tns.gen.com.lambergar.verticalviewpager...', I guess this issue is related to the nativescript-pager plugin.

Which platform(s) does your issue occur on?

  • Android
  • device

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

  • CLI: 5.4.0
  • Cross-platform modules: 5.4.2
  • Runtime(s): tns-android 5.4.0
  • Plugin(s): 9.5.4

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

Describe the steps to reproduce it.

It is really hard to reproduce this issue. Sometimes it takes 2 minutes, sometimes it does not occur while testing for about 10 minutes.

Is there any code involved?

Right now, it is pretty hard to extract this scenario in a sample app, where you can reproduce this issue.
As all of the crash reports are related to the setPrimaryItem method, I hope you can figure out what is happening here without any sample projects.

@triniwiz triniwiz added the bug label Jun 12, 2019
@felixkrautschuk
Copy link
Author

Is there any update on this?
Unfortunately, the count of crash reports in the Google Play console is about 1200 now.

@triniwiz
Copy link
Owner

@felix-idf I'm planning to do some work on this plugin b4 the next {N} major release in a couple days

@felixkrautschuk
Copy link
Author

@triniwiz Thanks for your feedback. Will the next plugin version be still compatible with NS 5.x?

@triniwiz
Copy link
Owner

Might be

@romandrahan
Copy link

@triniwiz, any progress on this?

@triniwiz
Copy link
Owner

triniwiz commented Aug 4, 2019

This should be fixed in the v11 feel free to reopen

@triniwiz triniwiz closed this as completed Aug 4, 2019
@felixkrautschuk
Copy link
Author

@triniwiz we released an update of our app using the latest pager plugin v.12.0.0.alpha-8 and we still see many crash reports in the Google Play Console, like this:

com.tns.NativeScriptException: Attempt to use cleared object reference id=55817
FATAL EXCEPTION: ControllerMessenger
Process: net.fanfiktion.mobile, PID: 15540
com.tns.NativeScriptException: Attempt to use cleared object reference id=55817
  at com.tns.Runtime.getJavaObjectByID(Runtime.java:1019)
  at com.tns.Runtime.callJSMethodNative(Native Method)
  at com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1209)
  at com.tns.Runtime.callJSMethodImpl(Runtime.java:1096)
  at com.tns.Runtime.callJSMethod(Runtime.java:1083)
  at com.tns.Runtime.callJSMethod(Runtime.java:1063)
  at com.tns.Runtime.callJSMethod(Runtime.java:1055)
  at com.tns.gen.androidx.viewpager.widget.PagerAdapter_vendor_32453_32_FragmentPagerAdapter.setPrimaryItem(PagerAdapter_vendor_32453_32_FragmentPagerAdapter.java:54)
  at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1234)
  at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1092)
  at androidx.viewpager.widget.ViewPager.onMeasure(ViewPager.java:1622)
  at android.view.View.measure(View.java:22002)
  at org.nativescript.widgets.CommonLayoutParams.measureChild(CommonLayoutParams.java:262)
  at org.nativescript.widgets.MeasureHelper.measureChildFixedColumnsAndRows(GridLayout.java:1056)
  at org.nativescript.widgets.MeasureHelper.measure(GridLayout.java:866)
  at org.nativescript.widgets.GridLayout.onMeasure(GridLayout.java:280)
  at android.view.View.measure(View.java:22002)
  at org.nativescript.widgets.CommonLayoutParams.measureChild(CommonLayoutParams.java:262)
  at org.nativescript.widgets.MeasureHelper.measureChildFixedColumnsAndRows(GridLayout.java:1056)
  at org.nativescript.widgets.MeasureHelper.measure(GridLayout.java:866)
  at org.nativescript.widgets.GridLayout.onMeasure(GridLayout.java:280)
  at android.view.View.measure(View.java:22002)
  at org.nativescript.widgets.CommonLayoutParams.measureChild(CommonLayoutParams.java:262)
  at org.nativescript.widgets.MeasureHelper.measureChildFixedColumnsAndRows(GridLayout.java:1056)
  at org.nativescript.widgets.MeasureHelper.measure(GridLayout.java:866)
  at org.nativescript.widgets.GridLayout.onMeasure(GridLayout.java:280)
  at android.view.View.measure(View.java:22002)
  at org.nativescript.widgets.CommonLayoutParams.measureChild(CommonLayoutParams.java:262)
  at org.nativescript.widgets.ContentLayout.onMeasure(ContentLayout.java:32)
  at android.view.View.measure(View.java:22002)
  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580)
  at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
  at android.view.View.measure(View.java:22002)
  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580)
  at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
  at android.view.View.measure(View.java:22002)
  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580)
  at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
  at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143)
  at android.view.View.measure(View.java:22002)
  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580)
  at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1514)
  at android.widget.LinearLayout.measureVertical(LinearLayout.java:806)
  at android.widget.LinearLayout.onMeasure(LinearLayout.java:685)
  at android.view.View.measure(View.java:22002)
  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580)
  at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
  at android.view.View.measure(View.java:22002)
  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580)
  at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1514)
  at android.widget.LinearLayout.measureVertical(LinearLayout.java:806)
  at android.widget.LinearLayout.onMeasure(LinearLayout.java:685)
  at android.view.View.measure(View.java:22002)
  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580)
  at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
  at com.android.internal.policy.DecorView.onMeasure(DecorView.java:731)
  at android.view.View.measure(View.java:22002)
  at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2414)
  at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1502)
  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1755)
  at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1390)
  at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6754)
  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:966)
  at android.view.Choreographer.doCallbacks(Choreographer.java:778)
  at android.view.Choreographer.doFrame(Choreographer.java:713)
  at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:952)
  at android.os.Handler.handleCallback(Handler.java:789)
  at android.os.Handler.dispatchMessage(Handler.java:98)
  at androidx.test.espresso.base.Interrogator.a(Interrogator.java:19)
  at androidx.test.espresso.base.UiControllerImpl.a(UiControllerImpl.java:169)
  at androidx.test.espresso.base.UiControllerImpl.a(UiControllerImpl.java:161)
  at androidx.test.espresso.base.UiControllerImpl.a(UiControllerImpl.java:34)
  at androidx.test.espresso.action.MotionEvents.a(MotionEvents.java:77)
  at androidx.test.espresso.action.MotionEvents.a(MotionEvents.java:52)
  at androidx.test.espresso.action.Tap.c(Tap.java:8)
  at androidx.test.espresso.action.Tap.b(Tap.java:19)
  at androidx.test.espresso.action.Tap$1.a(Tap.java:3)
  at androidx.test.espresso.action.GeneralClickAction.perform(GeneralClickAction.java:20)
  at androidx.test.espresso.ViewInteraction$SingleExecutionViewAction.perform(ViewInteraction.java:9)
  at androidx.test.espresso.ViewInteraction.a(ViewInteraction.java:79)
  at androidx.test.espresso.ViewInteraction.a(ViewInteraction.java:97)
  at androidx.test.espresso.ViewInteraction$1.call(ViewInteraction.java:3)
  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  at android.os.Handler.handleCallback(Handler.java:789)
  at android.os.Handler.dispatchMessage(Handler.java:98)
  at android.os.Looper.loop(Looper.java:251)
  at android.app.ActivityThread.main(ActivityThread.java:6572)
  at java.lang.reflect.Method.invoke(Native Method)
  at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

We also see some newer crash reports (that we did not see using pager plugin v. 10.0.0), that also seem to occur randomly (not reproducable on our side).

Fatal Exception: java.lang.RuntimeException: Unable to stop activity {net.fanfiktion.mobile/com.tns.NativeScriptActivity}: com.tns.NativeScriptException: Calling js method finishUpdate failed
Error: java.lang.IllegalArgumentException: parameter must be a descendant of this view
       at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:4241)
       at android.app.ActivityThread.handleStopActivity(ActivityThread.java:4290)
       at android.app.ActivityThread.-wrap25()
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1730)
       at android.os.Handler.dispatchMessage(Handler.java:105)
       at android.os.Looper.loop(Looper.java:164)
       at android.app.ActivityThread.main(ActivityThread.java:6944)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

Caused by com.tns.NativeScriptException: Calling js method finishUpdate failed
Error: java.lang.IllegalArgumentException: parameter must be a descendant of this view
       at com.tns.Runtime.callJSMethodNative(Runtime.java)
       at com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1286)
       at com.tns.Runtime.callJSMethodImpl(Runtime.java:1173)
       at com.tns.Runtime.callJSMethod(Runtime.java:1160)
       at com.tns.Runtime.callJSMethod(Runtime.java:1138)
       at com.tns.Runtime.callJSMethod(Runtime.java:1134)
       at com.tns.gen.androidx.viewpager.widget.PagerAdapter_vendor_39645_32_FragmentPagerAdapter.finishUpdate(PagerAdapter_vendor_39645_32_FragmentPagerAdapter.java:60)
       at androidx.viewpager.widget.ViewPager.dataSetChanged(ViewPager.java:1070)
       at androidx.viewpager.widget.ViewPager$PagerObserver.onChanged(ViewPager.java:3097)
       at androidx.viewpager.widget.PagerAdapter.notifyDataSetChanged(PagerAdapter.java:291)
       at com.tns.Runtime.callJSMethodNative(Runtime.java)
       at com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1286)
       at com.tns.Runtime.callJSMethodImpl(Runtime.java:1173)
       at com.tns.Runtime.callJSMethod(Runtime.java:1160)
       at com.tns.Runtime.callJSMethod(Runtime.java:1138)
       at com.tns.Runtime.callJSMethod(Runtime.java:1134)
       at com.tns.NativeScriptActivity.onStop(NativeScriptActivity.java:39)
       at android.app.Instrumentation.callActivityOnStop(Instrumentation.java:1381)
       at android.app.Activity.performStop(Activity.java:7495)
       at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:4238)
       at android.app.ActivityThread.handleStopActivity(ActivityThread.java:4290)
       at android.app.ActivityThread.-wrap25()
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1730)
       at android.os.Handler.dispatchMessage(Handler.java:105)
       at android.os.Looper.loop(Looper.java:164)
       at android.app.ActivityThread.main(ActivityThread.java:6944)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

Caused by java.lang.IllegalArgumentException: parameter must be a descendant of this view
       at android.view.ViewGroup.offsetRectBetweenParentAndChild(ViewGroup.java:6153)
       at android.view.ViewGroup.offsetDescendantRectToMyCoords(ViewGroup.java:6075)
       at android.view.ViewGroup$ViewLocationHolder.init(ViewGroup.java:8800)
       at android.view.ViewGroup$ViewLocationHolder.obtain(ViewGroup.java:8734)
       at android.view.ViewGroup$ChildListForAccessibility.init(ViewGroup.java:8669)
       at android.view.ViewGroup$ChildListForAccessibility.obtain(ViewGroup.java:8641)
       at android.view.ViewGroup.addChildrenForAccessibility(ViewGroup.java:2344)
       at android.view.ViewGroup.onInitializeAccessibilityNodeInfoInternal(ViewGroup.java:3749)
       at android.view.View$AccessibilityDelegate.onInitializeAccessibilityNodeInfo(View.java:27317)
       at androidx.core.view.AccessibilityDelegateCompat.onInitializeAccessibilityNodeInfo(AccessibilityDelegateCompat.java:275)
       at androidx.viewpager.widget.ViewPager$MyAccessibilityDelegate.onInitializeAccessibilityNodeInfo(ViewPager.java:3053)
       at androidx.core.view.AccessibilityDelegateCompat$AccessibilityDelegateAdapter.onInitializeAccessibilityNodeInfo(AccessibilityDelegateCompat.java:86)
       at android.view.View.onInitializeAccessibilityNodeInfo(View.java:7957)
       at android.view.View.createAccessibilityNodeInfoInternal(View.java:7918)
       at android.view.View$AccessibilityDelegate.createAccessibilityNodeInfo(View.java:27415)
       at android.view.View.createAccessibilityNodeInfo(View.java:7901)
       at android.view.accessibility.AccessibilityRecord.setSource(AccessibilityRecord.java:146)
       at android.view.accessibility.AccessibilityRecord.setSource(AccessibilityRecord.java:119)
       at android.view.View.onInitializeAccessibilityEventInternal(View.java:7855)
       at android.view.View$AccessibilityDelegate.onInitializeAccessibilityEvent(View.java:27298)
       at androidx.core.view.AccessibilityDelegateCompat.onInitializeAccessibilityEvent(AccessibilityDelegateCompat.java:256)
       at androidx.viewpager.widget.ViewPager$MyAccessibilityDelegate.onInitializeAccessibilityEvent(ViewPager.java:3041)
       at androidx.core.view.AccessibilityDelegateCompat$AccessibilityDelegateAdapter.onInitializeAccessibilityEvent(AccessibilityDelegateCompat.java:76)
       at android.view.View.onInitializeAccessibilityEvent(View.java:7841)
       at android.view.View.sendAccessibilityEventUncheckedInternal(View.java:7705)
       at android.view.View$AccessibilityDelegate.sendAccessibilityEventUnchecked(View.java:27237)
       at androidx.core.view.AccessibilityDelegateCompat.sendAccessibilityEventUnchecked(AccessibilityDelegateCompat.java:195)
       at androidx.core.view.AccessibilityDelegateCompat$AccessibilityDelegateAdapter.sendAccessibilityEventUnchecked(AccessibilityDelegateCompat.java:112)
       at android.view.View.sendAccessibilityEventUnchecked(View.java:7688)
       at android.view.ViewRootImpl$SendWindowContentChangedAccessibilityEvent.run(ViewRootImpl.java:9304)
       at android.view.ViewRootImpl$SendWindowContentChangedAccessibilityEvent.runOrPost(ViewRootImpl.java:9330)
       at android.view.ViewRootImpl.postSendWindowContentChangedCallback(ViewRootImpl.java:8267)
       at android.view.ViewRootImpl.notifySubtreeAccessibilityStateChanged(ViewRootImpl.java:8442)
       at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3776)
       at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3776)
       at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3776)
       at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3776)
       at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3776)
       at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3776)
       at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3776)
       at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3776)
       at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3776)
       at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3776)
       at android.view.ViewGroup.notifySubtreeAccessibilityStateChanged(ViewGroup.java:3776)
       at android.view.View.notifySubtreeAccessibilityStateChangedIfNeeded(View.java:11898)
       at android.view.ViewGroup.notifySubtreeAccessibilityStateChangedIfNeeded(ViewGroup.java:3800)
       at android.view.ViewGroup.removeViewInternal(ViewGroup.java:5456)
       at android.view.ViewGroup.removeViewInternal(ViewGroup.java:5403)
       at android.view.ViewGroup.removeView(ViewGroup.java:5334)
       at androidx.viewpager.widget.ViewPager.removeView(ViewPager.java:1507)
       at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:973)
       at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
       at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:434)
       at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManagerImpl.java:2079)
       at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1869)
       at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1824)
       at androidx.fragment.app.FragmentManagerImpl.execSingleAction(FragmentManagerImpl.java:1696)
       at androidx.fragment.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:299)
       at com.tns.Runtime.callJSMethodNative(Runtime.java)
       at com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1286)
       at com.tns.Runtime.callJSMethodImpl(Runtime.java:1173)
       at com.tns.Runtime.callJSMethod(Runtime.java:1160)
       at com.tns.Runtime.callJSMethod(Runtime.java:1138)
       at com.tns.Runtime.callJSMethod(Runtime.java:1134)
       at com.tns.gen.androidx.viewpager.widget.PagerAdapter_vendor_39645_32_FragmentPagerAdapter.finishUpdate(PagerAdapter_vendor_39645_32_FragmentPagerAdapter.java:60)
       at androidx.viewpager.widget.ViewPager.dataSetChanged(ViewPager.java:1070)
       at androidx.viewpager.widget.ViewPager$PagerObserver.onChanged(ViewPager.java:3097)
       at androidx.viewpager.widget.PagerAdapter.notifyDataSetChanged(PagerAdapter.java:291)
       at com.tns.Runtime.callJSMethodNative(Runtime.java)
       at com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1286)
       at com.tns.Runtime.callJSMethodImpl(Runtime.java:1173)
       at com.tns.Runtime.callJSMethod(Runtime.java:1160)
       at com.tns.Runtime.callJSMethod(Runtime.java:1138)
       at com.tns.Runtime.callJSMethod(Runtime.java:1134)
       at com.tns.NativeScriptActivity.onStop(NativeScriptActivity.java:39)
       at android.app.Instrumentation.callActivityOnStop(Instrumentation.java:1381)
       at android.app.Activity.performStop(Activity.java:7495)
       at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:4238)
       at android.app.ActivityThread.handleStopActivity(ActivityThread.java:4290)
       at android.app.ActivityThread.-wrap25()
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1730)
       at android.os.Handler.dispatchMessage(Handler.java:105)
       at android.os.Looper.loop(Looper.java:164)
       at android.app.ActivityThread.main(ActivityThread.java:6944)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

As I already mentioned, we cannot reproduce this ourselves on our test devices and we do not know if one of those crashes occur when changing the page within the pager or if it occurs only when the users navigate away from the page containing the pager component and then navigate back to it or navigates forward to the page with completely different data (different amount of pages, different content,...).

Do you see any chance that this might be fixed soon?

@triniwiz
Copy link
Owner

triniwiz commented Apr 6, 2020

I don't use FragmentPagerAdapter also this is mentions the v1 of the pager which is used by {N} tabs androidx.viewpager.widget.ViewPager.dataSetChanged(ViewPager.java:1070) my guess is you are using one of the tabs component .... related issue NativeScript/NativeScript#7904

@felixkrautschuk
Copy link
Author

@triniwiz thanks for your reply. I double checked those crash reports in Firebase Crashlytics and indeed, during most of those crashes, the user was not active on the page containing the Pager component, in addition Firebase was showing me some older crash reports, even when filtering only the latest ones... and also the crash logs looked very similar.. very confusing :D

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants