Android Crash in expo.modules.av

Libs:
“expo”: “~44.0.4”,
“expo-av”: “~10.2.0”,

Platforms: Android 11 SDK 30

My application in production has just had a cash report. Here is the following stack trace:

java.lang.ArithmeticException: 
  at expo.modules.av.progress.ProgressLooper.calculateNextInterval (ProgressLooper.kt:68)
  at expo.modules.av.progress.ProgressLooper.scheduleNextTick (ProgressLooper.kt:54)
  at expo.modules.av.progress.ProgressLooper.access$scheduleNextTick (ProgressLooper.kt:12)
  at expo.modules.av.progress.ProgressLooper$scheduleNextTick$1.invoke (ProgressLooper.kt:59)
  at expo.modules.av.progress.ProgressLooper$scheduleNextTick$1.invoke (ProgressLooper.kt:12)
  at expo.modules.av.progress.AndroidLooperTimeMachine$sam$java_lang_Runnable$0.run (Unknown Source:2)
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loop (Looper.java:246)
  at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run (MessageQueueThreadImpl.java:226)
  at java.lang.Thread.run (Thread.java:923)

My application loads a single audio file and uses the playAsync() method to play the track. This can get played multiple times throughout the application.

I am getting quite a few crashes in the av module. The latest stack trace is:

java.lang.RuntimeException: 
  at android.app.ActivityThread.performDestroyActivity (ActivityThread.java:5149)
  at android.app.ActivityThread.handleDestroyActivity (ActivityThread.java:5179)
  at android.app.servertransaction.DestroyActivityItem.execute (DestroyActivityItem.java:44)
  at android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:176)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:97)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2080)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loop (Looper.java:223)
  at android.app.ActivityThread.main (ActivityThread.java:7791)
  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: java.lang.reflect.InvocationTargetException: 
  at java.lang.reflect.Method.invoke (Native Method)
  at expo.modules.ReactActivityDelegateWrapper.invokeDelegateMethod (ReactActivityDelegateWrapper.kt:166)
  at expo.modules.ReactActivityDelegateWrapper.onDestroy (ReactActivityDelegateWrapper.kt:99)
  at com.facebook.react.ReactActivity.onDestroy (ReactActivity.java:64)
  at android.app.Activity.performDestroy (Activity.java:8358)
  at android.app.Instrumentation.callActivityOnDestroy (Instrumentation.java:1345)
  at android.app.ActivityThread.performDestroyActivity (ActivityThread.java:5134)
Caused by: java.util.ConcurrentModificationException: 
  at java.util.HashMap$HashIterator.nextNode (HashMap.java:1441)
  at java.util.HashMap$ValueIterator.next (HashMap.java:1470)
  at expo.modules.av.AVManager.onHostDestroy (AVManager.java:196)
  at expo.modules.adapters.react.services.UIManagerModuleWrapper$3.onHostDestroy (UIManagerModuleWrapper.java:143)
  at com.facebook.react.bridge.ReactContext.onHostDestroy (ReactContext.java:282)
  at com.facebook.react.ReactInstanceManager.moveToBeforeCreateLifecycleState (ReactInstanceManager.java:746)
  at com.facebook.react.ReactInstanceManager.onHostDestroy (ReactInstanceManager.java:640)
  at com.facebook.react.ReactInstanceManager.onHostDestroy (ReactInstanceManager.java:654)
  at com.facebook.react.ReactDelegate.onHostDestroy (ReactDelegate.java:73)
  at com.facebook.react.ReactActivityDelegate.onDestroy (ReactActivityDelegate.java:109)

Is this caused by not clearing up the audio correctly when the app is closing / background?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.