Release ANR
Description
Expected behavior
ANR Info:
--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
anr traces:
generate begin time: 2022-05-19 00:47:54
[DEBUG] dump art internal: 184
[DEBUG] VMExt: 0xb400007388bdef10, i: 65, str: 0
[DEBUG] aborting: 0x0, 0
[DEBUG] Dump: 0x0, State: 0x72b68f9a00, JavaStack: 0x72b6601944
[DEBUG] current: 0xb400007428be77b0, pid: 5212
[DEBUG] List: 0xb400007438bdf640
[DEBUG] Each: 0x72b645d36c
[DEBUG] err: 0x75591bbc60
[DEBUG] begin each
[DEBUG] dumping 0xb400007428be77b0 ...
"main" prio=5 tid=1 Native
| group="main" sCount=0 ucsCount=0 flags=0 obj=0x73238318 self=0xb400007428be77b0
| sysTid=31560 nice=-10 cgrp=default sched=0/0 handle=0x757206f500
| state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
| stack=0x7fe0005000-0x7fe0007000 stackSize=8188KB
| held mutexes=
at org.videolan.libvlc.MediaPlayer.nativeSetVideoTrack(Native method)
at org.videolan.libvlc.MediaPlayer.setVideoTrack(:-1)
at org.videolan.libvlc.MediaPlayer.setVideoTrackEnabled(:-1)
at org.videolan.libvlc.VideoHelper.detachViews(:-1)
at org.videolan.libvlc.VideoHelper.release(:-1)
at org.videolan.libvlc.MediaPlayer.detachViews(:-1)
at u6.d.u(:5)
at com.github.imovie.ui.activities.DetailActivity$b.invokeSuspend(:1)
at wc.a.resumeWith(:-1)
at md.l0.run(:-1)
at androidx.lifecycle.g.b(:-1)
at androidx.lifecycle.g.c(:-1)
at androidx.lifecycle.f.run(:1)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8663)
at java.lang.reflect.Method.invoke(Native method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
"Signal Catcher" daemon prio=10 tid=6 WaitingInMainSignalCatcherLoop
| group="system" sCount=0 ucsCount=0 flags=0 obj=0x141cd0f0 self=0xb400007428bfe140
| sysTid=31566 nice=-20 cgrp=default sched=0/0 handle=0x729b5cbcb0
| state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
| stack=0x729b4d4000-0x729b4d6000 stackSize=991KB
| held mutexes=
(no managed stack frames)
Actual behavior
Steps to reproduce
- when I finish Activity call stop playback
- mediaplayer.detachViews()
- sometimes anr in detachViews()
Code you used
first call stop
launch {
mediaPlayer.media?.setEventListener(null)
mediaPlayer.media?.release()
mediaPlayer.setEventListener(null)
mediaPlayer.stop()
}
second call release
mediaPlayer.detachViews()
mDisplayManager?.release()
mDisplayManager = null