JioSaavn Android App is facing a large number of ANRs coming from IMA when it tries to fetch the device volume on the main thread. We are attaching the detailed information and stack traces in this document. Please let us know if anything else is needed.
Note: We had a similar ANR from GMA. In their case device volume was fetched by the OMSdk that they were using. We raised it to the OMSdk and they worked with the GMA to get it resolved. The fix was rolled out by GMA in v24.2.0 and is verified by us.
We would request the IMA team to look at these ANRs and provide us with the resolution at the earliest
Stack trace 1
"main" tid=1 Native
#00 pc 0x00000000000bd240 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32)
#01 pc 0x000000000022a29c /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks+136)
#02 pc 0x0000000000993d48 /apex/com.android.art/lib64/libart.so (artJniMethodEnd+344)
#03 pc 0x00000000007865bc /apex/com.android.art/lib64/libart.so (art_jni_method_end+12)
at android.os.BinderProxy.transactNative (Native method)
at android.os.BinderProxy.transact (BinderProxy.java:655)
at android.media.IAudioService$Stub$Proxy.getStreamVolume (IAudioService.java:5528)
at android.media.AudioManager.getStreamVolume (AudioManager.java:1277)
at com.google.ads.interactivemedia.v3.impl.zzb.zzk (com.google.ads.interactivemedia.v3:interactivemedia@@3.36.0:19)
at com.google.ads.interactivemedia.v3.impl.zzb.zzf (com.google.ads.interactivemedia.v3:interactivemedia@@3.36.0:6)
at com.google.ads.interactivemedia.v3.impl.zzaz.zzf (com.google.ads.interactivemedia.v3:interactivemedia@@3.36.0:6)
at com.google.ads.interactivemedia.v3.impl.zzbj.zzh (com.google.ads.interactivemedia.v3:interactivemedia@@3.36.0:7)
at com.google.ads.interactivemedia.v3.impl.zzbf.onPostMessage (com.google.ads.interactivemedia.v3:interactivemedia@@3.36.0:2)
at androidx.webkit.internal.WebMessageListenerAdapter.onPostMessage (WebMessageListenerAdapter.java:55)
at java.lang.reflect.Method.invoke (Native method)
at org.chromium.support_lib_boundary.util.BoundaryInterfaceReflectionUtil$InvocationHandlerWithDelegateGetter.invoke (BoundaryInterfaceReflectionUtil.java:162)
at java.lang.reflect.Proxy.invoke (Proxy.java:1006)
at org.chromium.support_lib_boundary.WebMessageListenerBoundaryInterface.onPostMessage (WebMessageListenerBoundaryInterface.java)
at WV.B70.run (chromium-TrichromeWebViewGoogle6432.aab-stable-720406733:97)
at android.os.Handler.handleCallback (Handler.java:959)
at android.os.Handler.dispatchMessage (Handler.java:100)
at android.os.Looper.loopOnce (Looper.java:257)
at android.os.Looper.loop (Looper.java:342)
at android.app.ActivityThread.main (ActivityThread.java:9634)
at java.lang.reflect.Method.invoke (Native method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:619)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:929)
Stack trace 2
"main" tid=1 Native
#00 pc 0x000000000007590c /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
#01 pc 0x00000000001b067c /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148)
#02 pc 0x0000000000674128 /apex/com.android.art/lib64/libart.so (art::GoToRunnable(art::Thread*)+480)
#03 pc 0x0000000000673f04 /apex/com.android.art/lib64/libart.so (art::JniMethodEnd(unsigned int, art::Thread*)+28)
at android.os.BinderProxy.transactNative (Native method)
at android.os.BinderProxy.transact (BinderProxy.java:568)
at android.media.IAudioService$Stub$Proxy.getStreamVolume (IAudioService.java:2748)
at android.media.OppoBaseAudioManager.oppoGetStreamVolume (OppoBaseAudioManager.java:153)
at android.media.AudioManager.getStreamVolume (AudioManager.java:1092)
at com.google.ads.interactivemedia.v3.impl.zzb.zzk (com.google.ads.interactivemedia.v3:interactivemedia@@3.36.0:19)
at com.google.ads.interactivemedia.v3.impl.zzb.zzf (com.google.ads.interactivemedia.v3:interactivemedia@@3.36.0:6)
at com.google.ads.interactivemedia.v3.impl.zzaz.zzf (com.google.ads.interactivemedia.v3:interactivemedia@@3.36.0:6)
at com.google.ads.interactivemedia.v3.impl.zzbj.zzh (com.google.ads.interactivemedia.v3:interactivemedia@@3.36.0:7)
at com.google.ads.interactivemedia.v3.impl.zzbf.onPostMessage (com.google.ads.interactivemedia.v3:interactivemedia@@3.36.0:2)
at androidx.webkit.internal.WebMessageListenerAdapter.onPostMessage (WebMessageListenerAdapter.java:55)
at java.lang.reflect.Method.invoke (Native method)
at org.chromium.support_lib_boundary.util.BoundaryInterfaceReflectionUtil$InvocationHandlerWithDelegateGetter.invoke (BoundaryInterfaceReflectionUtil.java:162)
at java.lang.reflect.Proxy.invoke (Proxy.java:1006)
at org.chromium.support_lib_boundary.WebMessageListenerBoundaryInterface.onPostMessage (WebMessageListenerBoundaryInterface.java)
at WV.B70.run (chromium-TrichromeWebViewGoogle6432.aab-stable-720415733:97)
at android.os.Handler.handleCallback (Handler.java:938)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loop (Looper.java:264)
at android.app.ActivityThread.main (ActivityThread.java:8312)
at java.lang.reflect.Method.invoke (Native method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:632)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1049)
The information contained in this communication is intended solely for the use of the individual or entity to whom it is addressed and others authorized to receive it. It may contain confidential or legally privileged information. If you are not the intended recipient you are hereby notified that any disclosure, copying, distribution or taking any action on the contents of this information is strictly prohibited and may be unlawful. If you have received this communication in error, please notify us immediately by responding to this email and then delete it from your system. The firm is neither liable for the proper and complete transmission of the information contained in this communication nor for any delay in its receipt. Opinions, conclusions and other information in this e-mail and any attachments that do not relate to the official business of the firm are neither given nor endorsed by it.
JioSaavn cannot guarantee that e-mail communications are secure or error-free, as information could be intercepted, corrupted, amended, lost, destroyed, arrive late or incomplete, or contain viruses.