Skip to content

Gutenberg editor crash while selecting media and rotating #10700

@hypest

Description

@hypest

Expected behavior

Should be able to select media (image or video) and rotate the device while in the process.

Actual behavior

App crashes if a rotation has occurred while picking an image/video.

Steps to reproduce the behavior

  1. Start a new Gutenberg post or open an existing one
  2. Add an image block or "edit" (pencil toolbar button) an existing one
  3. Select "Choose from device" or "WordPress Media Library". A media picker comes up.
  4. Rotate the device
  5. Select an image from the picker
  6. 💥 the app crashes

Stacktrace:

2019-10-25 13:02:49.032 7940-7940/? E/WindowManager: android.view.WindowLeaked: Activity org.wordpress.android.ui.posts.EditPostActivity has leaked window DecorView@515a25a[EditPostActivity] that was originally added here
        at android.view.ViewRootImpl.<init>(ViewRootImpl.java:511)
        at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:346)
        at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:93)
        at android.app.Dialog.show(Dialog.java:329)
        at com.facebook.react.views.modal.ReactModalHostView.showOrUpdate(ReactModalHostView.java:266)
        at com.facebook.react.views.modal.ReactModalHostManager.onAfterUpdateTransaction(ReactModalHostManager.java:108)
        at com.facebook.react.views.modal.ReactModalHostManager.onAfterUpdateTransaction(ReactModalHostManager.java:29)
        at com.facebook.react.uimanager.ViewManager.updateProperties(ViewManager.java:47)
        at com.facebook.react.uimanager.NativeViewHierarchyManager.createView(NativeViewHierarchyManager.java:268)
        at com.facebook.react.uimanager.UIViewOperationQueue$CreateViewOperation.execute(UIViewOperationQueue.java:198)
        at com.facebook.react.uimanager.UIViewOperationQueue$1.run(UIViewOperationQueue.java:838)
        at com.facebook.react.uimanager.UIViewOperationQueue.flushPendingBatches(UIViewOperationQueue.java:952)
        at com.facebook.react.uimanager.UIViewOperationQueue.access$2200(UIViewOperationQueue.java:44)
        at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded(UIViewOperationQueue.java:1012)
        at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29)
        at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:172)
        at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:84)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:947)
        at android.view.Choreographer.doCallbacks(Choreographer.java:761)
        at android.view.Choreographer.doFrame(Choreographer.java:693)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6718)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
2019-10-25 13:02:49.210 632-1187/? D/SurfaceFlinger: duplicate layer name: changing org.wordpress.android/org.wordpress.android.ui.posts.EditPostActivity to org.wordpress.android/org.wordpress.android.ui.posts.EditPostActivity#1
2019-10-25 13:02:49.362 7940-7940/? D/AndroidRuntime: Shutting down VM
    
    
    --------- beginning of crash
2019-10-25 13:02:49.362 7940-7940/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: org.wordpress.android, PID: 7940
    java.lang.IllegalArgumentException: View=DecorView@515a25a[EditPostActivity] not attached to window manager
        at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:485)
        at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:394)
        at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:124)
        at android.app.Dialog.dismissDialog(Dialog.java:375)
        at android.app.Dialog.dismiss(Dialog.java:358)
        at com.facebook.react.views.modal.ReactModalHostView.dismiss(ReactModalHostView.java:138)
        at com.facebook.react.views.modal.ReactModalHostView.onDropInstance(ReactModalHostView.java:130)
        at com.facebook.react.views.modal.ReactModalHostManager.onDropViewInstance(ReactModalHostManager.java:57)
        at com.facebook.react.views.modal.ReactModalHostManager.onDropViewInstance(ReactModalHostManager.java:29)
        at com.facebook.react.uimanager.NativeViewHierarchyManager.dropView(NativeViewHierarchyManager.java:622)
        at com.facebook.react.uimanager.NativeViewHierarchyManager.manageChildren(NativeViewHierarchyManager.java:491)
        at com.facebook.react.uimanager.UIViewOperationQueue$ManageChildrenOperation.execute(UIViewOperationQueue.java:228)
        at com.facebook.react.uimanager.UIViewOperationQueue$1.run(UIViewOperationQueue.java:844)
        at com.facebook.react.uimanager.UIViewOperationQueue.flushPendingBatches(UIViewOperationQueue.java:952)
        at com.facebook.react.uimanager.UIViewOperationQueue.access$2200(UIViewOperationQueue.java:44)
        at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded(UIViewOperationQueue.java:1012)
        at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29)
        at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:172)
        at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:84)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:947)
        at android.view.Choreographer.doCallbacks(Choreographer.java:761)
        at android.view.Choreographer.doFrame(Choreographer.java:693)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6718)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Tested on [device], Android [version], WPAndroid [version]

Tested on Pixel 2XL, Android 9, WPAndroid v13.4

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions