XFA - R406 closing app and don't play videos

Hi @dan and @natasha

I’ve recently been experiencing a lot of strange behavior with the XFA R406:

The app keeps closing while videos are playing. Sometimes I notice that the videos don’t play either.

My XFA runs on a rooted Android 11 Amlogic S905X4 | 4GB RAM .

This is one of the logs I managed to capture

Application Not Responding detected. E: Application Not Responding for at least 5000 ms., StackTrace: com.github.anrwatchdog.ANRError: Application Not Responding for at least 5000 ms. Caused by: com.github.anrwatchdog.ANRError$$$_Thread: main (state = RUNNABLE) at android.media.MediaPlayer._release(Native Method) at android.media.MediaPlayer.release(MediaPlayer.java:2115) at android.widget.VideoView.stopPlayback(VideoView.java:365) at h5.j0.F(VideoMedia.java:72) at h5.j0.D(VideoMedia.java:36) at com.google.android.exoplayer2.ui.p.run(Unknown Source:20) 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:7664) 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:952) Caused by: com.github.anrwatchdog.ANRError$$$_Thread: Chrome_ProcessLauncherThread (state = RUNNABLE) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:335) at android.os.Looper.loop(Looper.java:183) at android.os.HandlerThread.run(HandlerThread.java:67) Caused by: com.github.anrwatchdog.ANRError$$$_Thread: CleanupReference (state = WAITING) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:442) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:190) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:211) at W20.run(chromium-Monochrome.aab-stable-636705420:3) Caused by: com.github.anrwatchdog.ANRError$$$_Thread: FinalizerDaemon (state = WAITING) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:442) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:190) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:211) at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:273) at java.lang.Daemons$Daemon.run(Daemons.java:139) at java.lang.Thread.run(Thread.java:923) Caused by: com.github.anrwatchdog.ANRError$$$_Thread: FinalizerWatchdogDaemon (state = TIMED_WAITING) at java.lang.Thread.sleep(Native Method) at java.lang.Thread.sleep(Thread.java:442) at java.lang.Thread.sleep(Thread.java:358) at java.lang.Daemons$FinalizerWatchdogDaemon.sleepForNanos(Daemons.java:390) at java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization(Daemons.java:419) at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal(Daemons.java:325) ... 2 more Caused by: com.github.anrwatchdog.ANRError$$$_Thread: GoogleApiHandler (state = RUNNABLE) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:335) at android.os.Looper.loop(Looper.java:183) at android.os.HandlerThread.run(HandlerThread.java:67) Caused by: com.github.anrwatchdog.ANRError$$$_Thread: NanoHttpd Main Listener (state = RUNNABLE) at libcore.io.Linux.poll(Native Method) at libcore.io.ForwardingOs.poll(ForwardingOs.java:168) at libcore.io.BlockGuardOs.poll(BlockGuardOs.java:263) at libcore.io.ForwardingOs.poll(ForwardingOs.java:168) at android.system.Os.poll(Os.java:430) at libcore.io.IoBridge.poll(IoBridge.java:676) at java.net.PlainSocketImpl.socketAccept(PlainSocketImpl.java:194) at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:451) at java.net.ServerSocket.implAccept(ServerSocket.java:547) at java.net.ServerSocket.accept(ServerSocket.java:515) at d3.a$o.run(NanoHTTPD.java:42) at java.lang.Thread.run(Thread.java:923) Caused by: com.github.anrwatchdog.ANRError$$$_Thread: OkHttp ConnectionPool (state = TIMED_WAITING) at java.lang.Object.wait(Native Method) at okhttp3.ConnectionPool$1.run(ConnectionPool.java:37) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) ... 1 more Caused by: com.github.anrwatchdog.ANRError$$$_Thread: OkHttp Dispatcher (state = TIMED_WAITING) at sun.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1091) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) ... 2 more Caused by: com.github.anrwatchdog.ANRError$$$_Thread: Okio Watchdog (state = TIMED_WAITING) at java.lang.Object.wait(Native Method) at y3.b$a.a(AsyncTimeout.kt:83) at y3.b$b.run(AsyncTimeout.kt:9) Caused by: com.github.anrwatchdog.ANRError$$$_Thread: PlatformServiceBridgeHandlerThread (state = RUNNABLE) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:335) at android.os.Looper.loop(Looper.java:183) at android.os.HandlerThread.run(HandlerThread.java:67) Caused by: com.github.anrwatchdog.ANRError$$$_Thread: ReferenceQueueDaemon (state = WAITING) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:442) at java.lang.Object.wait(Object.java:568) at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:217) at java.lang.Daemons$Daemon.run(Daemons.java:139) at java.lang.Thread.run(Thread.java:923) Caused by: com.github.anrwatchdog.ANRError$$$_Thread: WifiManagerThread (state = RUNNABLE) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:335) at android.os.Looper.loop(Looper.java:183) at android.os.HandlerThread.run(HandlerThread.java:67) Caused by: com.github.anrwatchdog.ANRError$$$_Thread: db-mgr-0 (state = WAITING) at sun.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:923) Caused by: com.github.anrwatchdog.ANRError$$$_Thread: db-mgr-1 (state = WAITING) ... 8 more Caused by: com.github.anrwatchdog.ANRError$$$_Thread: pool-2-thread-7 (state = TIMED_WAITING) at sun.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1091) ... 3 more Caused by: com.github.anrwatchdog.ANRError$$$_Thread: pool-2-thread-9 (state = TIMED_WAITING) ... 9 more Caused by: com.github.anrwatchdog.ANRError$$$_Thread: queued-work-looper (state = RUNNABLE) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:335) at android.os.Looper.loop(Looper.java:183) at android.os.HandlerThread.run(HandlerThread.java:67) Caused by: com.github.anrwatchdog.ANRError$$$_Thread: xmds-mgr-0 (state = WAITING) at sun.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:923) Caused by: com.github.anrwatchdog.ANRError$$$_Thread: xmds-mgr-1 (state = WAITING) ... 8 more Caused by: com.github.anrwatchdog.ANRError$$$_Thread: |ANR-WatchDog| (state = RUNNABLE) at dalvik.system.VMStack.getThreadStackTrace(Native Method) at java.lang.Thread.getStackTrace(Thread.java:1736) at java.lang.Thread.getAllStackTraces(Thread.java:1812) at [com.github.anrwatchdog.ANRError.New](http://com.github.anrwatchdog.ANRError.New)(ANRError.java:19) at com.github.anrwatchdog.ANRWatchDog.run(ANRWatchDog.java:103)

And another LOG rigth after: onTrimMemory: level 20

Can you give me some insight into what might be happening or causing this behavior?

Update 1: Correction its R404 XFA
Update 2: I just updated the XFA version to R406 and waiting to see if the error persists.