Skip to content

[Android] A ClassCastException thrown by the ARTGroupShadowNode class #14653

@solartcc

Description

@solartcc

Description

Occasionally, it may be throw a ClassCastException.

The stack information is as follows:

06-21 17:15:21.684 32192 32192 E AndroidRuntime: FATAL EXCEPTION: main
06-21 17:15:21.684 32192 32192 E AndroidRuntime: Process: com.fengjr.mobile, PID: 32192
06-21 17:15:21.684 32192 32192 E AndroidRuntime: java.lang.ClassCastException: com.facebook.react.uimanager.LayoutShadowNode cannot be cast to com.facebook.react.views.art.ARTVirtualNode
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at com.facebook.react.views.art.ARTGroupShadowNode.draw(ARTGroupShadowNode.java:59)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at com.facebook.react.views.art.ARTSurfaceViewShadowNode.drawOutput(ARTSurfaceViewShadowNode.java:66)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at com.facebook.react.views.art.ARTSurfaceViewShadowNode.onSurfaceTextureAvailable(ARTSurfaceViewShadowNode.java:91)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.TextureView.getHardwareLayer(TextureView.java:394)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.TextureView.draw(TextureView.java:330)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.View.updateDisplayListIfDirty(View.java:16200)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.View.draw(View.java:17001)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.drawChild(ViewGroup.java:3777)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3560)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.View.updateDisplayListIfDirty(View.java:16195)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.View.draw(View.java:17001)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.drawChild(ViewGroup.java:3777)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3560)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.View.draw(View.java:17238)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.View.updateDisplayListIfDirty(View.java:16200)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.View.draw(View.java:17001)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.drawChild(ViewGroup.java:3777)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3560)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.View.draw(View.java:17238)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.View.updateDisplayListIfDirty(View.java:16200)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.View.draw(View.java:17001)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.drawChild(ViewGroup.java:3777)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3560)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.View.updateDisplayListIfDirty(View.java:16195)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3758)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3738)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.View.updateDisplayListIfDirty(View.java:16163)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3758)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3738)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.View.updateDisplayListIfDirty(View.java:16163)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3758)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3738)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.View.updateDisplayListIfDirty(View.java:16163)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3758)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3738)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.View.updateDisplayListIfDirty(View.java:16163)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3758)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3738)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.View.updateDisplayListIfDirty(View.java:16163)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3758)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3738)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.View.updateDisplayListIfDirty(View.java:16163)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3758)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3738)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.View.updateDisplayListIfDirty(View.java:16163)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3758)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3738)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.View.updateDisplayListIfDirty(View.java:16163)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:676)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:682)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:796)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewRootImpl.draw(ViewRootImpl.java:2989)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2783)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2374)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1364)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6763)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:923)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.Choreographer.doCallbacks(Choreographer.java:735)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.Choreographer.doFrame(Choreographer.java:667)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:909)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:761)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:98)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:156)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:6524)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:941)
06-21 17:15:21.684 32192 32192 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:831)

Solution

Sorry, I have no good idea yet!

Additional Information

  • React Native version: [0.41.0]
  • Platform: [Android]
  • Development Operating System: [macOS]
  • Build tools: [Android Studio 2.3, Android SDK 23]

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions