Skip to content

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

  1. when I finish Activity call stop playback
  2. mediaplayer.detachViews()
  3. 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

Screenshot / video

Context

libvlc version 3.5.0-eap6

Android version 12

Device model SM-A528B