Automattic/stories-android

Crash when playing a video slide

Closed this issue · 1 comments

mzorz commented

This happens for me every time on a draft post that has a story with 3 slides, the third slide being a video, I can open it ok but tapping on the 3rd slide to play the video produces the crash.

@aforcier also observed this same crash when tapping on a notification to open a Story.

I'm on develop, specific commits for both WPAndroid and Stories library:
WPAndroid: wordpress-mobile/WordPress-Android@d8b080a
Stories: 1b8d03b

2021-05-05 09:31:49.566 631-631/? I/chatty: uid=1000(system) /system/bin/servicemanager identical 1 line
2021-05-05 09:31:49.768 631-631/? E/SELinux: avc:  denied  { find } for pid=5351 uid=10246 name=tethering scontext=u:r:secure_ui_service_app:s0:c246,c256,c512,c768 tcontext=u:object_r:tethering_service:s0 tclass=service_manager permissive=0
2021-05-05 09:31:49.886 28761-28761/org.wordpress.android D/AndroidRuntime: Shutting down VM
2021-05-05 09:31:49.887 28761-28761/org.wordpress.android E/AndroidRuntime: FATAL EXCEPTION: main
    Process: org.wordpress.android, PID: 28761
    java.lang.NullPointerException: Attempt to read from field 'int android.view.View.mViewFlags' on a null object reference
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4276)
        at android.view.View.draw(View.java:22353)
        at android.view.View.updateDisplayListIfDirty(View.java:21226)
        at android.view.View.draw(View.java:22081)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
        at androidx.constraintlayout.widget.ConstraintLayout.dispatchDraw(ConstraintLayout.java:2023)
        at android.view.View.updateDisplayListIfDirty(View.java:21217)
        at android.view.View.draw(View.java:22081)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
        at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1277)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
        at android.view.View.updateDisplayListIfDirty(View.java:21217)
        at android.view.View.draw(View.java:22081)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
        at android.view.View.updateDisplayListIfDirty(View.java:21217)
        at android.view.View.draw(View.java:22081)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
        at android.view.View.updateDisplayListIfDirty(View.java:21217)
        at android.view.View.draw(View.java:22081)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
        at android.view.View.updateDisplayListIfDirty(View.java:21217)
        at android.view.View.draw(View.java:22081)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
        at android.view.View.updateDisplayListIfDirty(View.java:21217)
        at android.view.View.draw(View.java:22081)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4516)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277)
        at android.view.View.draw(View.java:22353)
        at com.android.internal.policy.DecorView.draw(DecorView.java:806)
        at android.view.View.updateDisplayListIfDirty(View.java:21226)
        at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:559)
        at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:565)
        at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:642)
        at android.view.ViewRootImpl.draw(ViewRootImpl.java:4106)
        at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3833)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3104)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1948)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8177)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:972)
        at android.view.Choreographer.doCallbacks(Choreographer.java:796)
        at android.view.Choreographer.doFrame(Choreographer.java:731)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:957)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:223)
        at android.app.ActivityThread.main(ActivityThread.java:7660)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
2021-05-05 09:31:49.902 981-3315/? D/audio_hw_primary: adev_create_audio_patch: enter: num sources 1, num_sinks 1, handle 19
2021-05-05 09:31:49.902 981-3315/? D/audio_hw_primary: adev_create_audio_patch: Playback patch from mix handle 21 to device 2
mzorz commented

I've been able to narrow this one down to this commit c710bfd, introduced in #655

The commit right before that one does not present a problem with my test Post.