devhyper / open-video-editor

Open source Android video editor, built with Media3 and Jetpack Compose.
GNU General Public License v3.0
284 stars 12 forks source link

[Bug] Handling intent causes crash on GrapheneOS #74

Closed RadiatorImplosion closed 2 months ago

RadiatorImplosion commented 2 months ago

Pressing edit on an external image app and invoking intent to use video editor causes a crash.

Pixel 7+GrapheneOS Occurs with and without hardened malloc

osVersion: google/panther/panther:14/AP1A.240405.002.B1/2024042100:user/release-keys
package: io.github.devhyper.openvideoeditor:5
process: io.github.devhyper.openvideoeditor
processUptime: 2062 + 273 ms
installer: dev.imranr.obtainium

java.lang.SecurityException: No persistable permission grants found for UID 10166 and Uri content://media/...
    at android.os.Parcel.createExceptionOrNull(Parcel.java:3191)
    at android.os.Parcel.createException(Parcel.java:3175)
    at android.os.Parcel.readException(Parcel.java:3151)
    at android.os.Parcel.readException(Parcel.java:3093)
    at android.app.IUriGrantsManager$Stub$Proxy.takePersistableUriPermission(IUriGrantsManager.java:272)
    at android.content.ContentResolver.takePersistableUriPermission(ContentResolver.java:3029)
    at B2.k.F(Unknown Source:443)
    at o.S.b(Unknown Source:158)
    at o.S.n(Unknown Source:19)
    at O.c.n(Unknown Source:53)
    at n0.r0.a(Unknown Source:24)
    at q.m0.a(Unknown Source:178)
    at q.m0.n(Unknown Source:176)
    at O.c.n(Unknown Source:53)
    at o2.e.d(Unknown Source:4)
    at x.Z.c(Unknown Source:147)
    at n0.s0.a(Unknown Source:284)
    at s.h.a(Unknown Source:58)
    at s.h.n(Unknown Source:15)
    at O.c.n(Unknown Source:53)
    at o2.e.d(Unknown Source:4)
    at x.Z.c(Unknown Source:147)
    at n0.a0.a(Unknown Source:486)
    at n0.t1.a(Unknown Source:170)
    at n0.t1.n(Unknown Source:27)
    at O.c.n(Unknown Source:53)
    at o2.e.d(Unknown Source:4)
    at x.Z.b(Unknown Source:215)
    at n0.t1.a(Unknown Source:144)
    at n0.t1.n(Unknown Source:15)
    at O.c.n(Unknown Source:53)
    at x.Z.L(Unknown Source:14)
    at G.s.r(Unknown Source:117)
    at G.s.k(Unknown Source:10)
    at G.z.n(Unknown Source:33)
    at G.J0.a(Unknown Source:34)
    at G.z.o(Unknown Source:8)
    at G.z.f(Unknown Source:2)
    at n.u.c(Unknown Source:1506)
    at n0.x.setOnViewTreeOwnersAvailable(Unknown Source:6)
    at n0.u1.f(Unknown Source:9)
    at n0.u1.c(Unknown Source:18)
    at androidx.lifecycle.u.a(Unknown Source:22)
    at androidx.lifecycle.v.a(Unknown Source:250)
    at n.u.c(Unknown Source:1476)
    at n0.x.onAttachedToWindow(Unknown Source:102)
    at android.view.View.dispatchAttachedToWindow(View.java:22257)
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3494)
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3501)
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3501)
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3501)
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3501)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3207)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2659)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9789)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1399)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1408)
    at android.view.Choreographer.doCallbacks(Choreographer.java:1008)
    at android.view.Choreographer.doFrame(Choreographer.java:938)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1382)
    at android.os.Handler.handleCallback(Handler.java:959)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loopOnce(Looper.java:232)
    at android.os.Looper.loop(Looper.java:317)
    at android.app.ActivityThread.main(ActivityThread.java:8532)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
    at com.android.internal.os.ExecInit.main(ExecInit.java:50)
    at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
    at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:359)
Caused by: android.os.RemoteException: Remote stack trace:
    at com.android.server.uri.UriGrantsManagerService.takePersistableUriPermission(UriGrantsManagerService.java:399)
    at android.app.IUriGrantsManager$Stub.onTransact(IUriGrantsManager.java:144)
    at android.os.Binder.execTransactInternal(Binder.java:1525)
    at android.os.Binder.execTransact(Binder.java:1464)
devhyper commented 2 months ago

70