Status Update
Comments
tr...@gmail.com <tr...@gmail.com> #2
So far we are seeing these ANRs only in Android 11, 12, 13 and across a range of devices (Samsung, Vivo, Xiaomi, Alcatel, etc.).
iv...@google.com <iv...@google.com> #3
It was also mentioned in the bug you have linked (
Our monitoring indicates this ANR is mitigated with Google Play services 23.14.17
Can you please confirm if the devices that's experiencing these crashes have Google Play Services lower than these? If so, please make sure that your apps is up to date in the end users.
tr...@gmail.com <tr...@gmail.com> #4
We are seeing the ANR so far only with Google Play API version 12451000
.
The version is determined via:
int version = GoogleApiAvailability.getInstance().getClientVersion(context);
How can we map that version code to its corresponding semantic version x.y.z
, to relate it to version 23.14.17
that you've mentioned?
Below a ANR stack trace for API version 12451000
:
main (native):tid=1 systid=16292
#00 pc 0x86b8c libc.so (syscall + 28)
#01 pc 0x1b092c libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*) + 148)
#02 pc 0x67361c libart.so (art::GoToRunnable(art::Thread*) + 460)
#03 pc 0x67340c libart.so (art::JniMethodEnd(unsigned int, art::Thread*) + 28)
at android.content.res.ApkAssets.nativeLoad(Native method)
at android.content.res.ApkAssets.<init>(ApkAssets.java:291)
at android.content.res.ApkAssets.loadFromPath(ApkAssets.java:140)
at android.app.ResourcesManager.loadApkAssets(ResourcesManager.java:458)
at android.app.ResourcesManager.loadApkAssets(ResourcesManager.java:423)
at android.app.ResourcesManager.createAssetManager(ResourcesManager.java:494)
at android.app.ResourcesManager.createResourcesImpl(ResourcesManager.java:812)
at android.app.ResourcesManager.findOrCreateResourcesImplForKeyLocked(ResourcesManager.java:871)
at android.app.ResourcesManager.createResources(ResourcesManager.java:1199)
at android.app.ResourcesManager.getResources(ResourcesManager.java:1340)
at android.app.ActivityThread.getTopLevelResources(ActivityThread.java:2495)
at android.app.ApplicationPackageManager.getResourcesForApplication(ApplicationPackageManager.java:2031)
at m.ba.b(:com.google.android.gms.dynamite_dynamiteloader@233918037@23.39.18 (150400-0):11)
at m.bi.e(:com.google.android.gms.dynamite_dynamiteloader@233918037@23.39.18 (150400-0):9)
at m.bi.a(:com.google.android.gms.dynamite_dynamiteloader@233918037@23.39.18 (150400-0):106)
at com.google.android.gms.dynamiteloader.DynamiteLoaderV2.loadModule2NoCrashUtils(:com.google.android.gms.dynamite_dynamiteloader@233918037@23.39.18 (150400-0):92)
at m.dg.a(:com.google.android.gms.dynamite_dynamiteloader@233918037@23.39.18 (150400-0):69)
at m.aj.onTransact(:com.google.android.gms.dynamite_dynamiteloader@233918037@23.39.18 (150400-0):21)
at android.os.Binder.transact(Binder.java:1079)
at com.google.android.gms.internal.common.zza.zzB(com.google.android.gms:play-services-basement@@18.2.0:2)
at com.google.android.gms.dynamite.zzr.zzf(com.google.android.gms:play-services-basement@@18.2.0:6)
at com.google.android.gms.dynamite.DynamiteModule.load(com.google.android.gms:play-services-basement@@18.2.0:46)
at com.google.android.gms.maps.internal.zzcb.zzc(com.google.android.gms:play-services-maps@@18.1.0:4)
at com.google.android.gms.maps.internal.zzcb.zza(com.google.android.gms:play-services-maps@@18.1.0:5)
at com.google.android.gms.maps.MapsInitializer.initialize(com.google.android.gms:play-services-maps@@18.1.0:4)
at com.<redacted>.<redacted>.App.onCreate(App.java:105)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7565)
at android.app.ActivityThread.access$1400(ActivityThread.java:301)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2158)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8625)
at java.lang.reflect.Method.invoke(Native method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
iv...@google.com <iv...@google.com> #5
To check the Google Play Version of the device where this issue is happening, go to Settings > Apps > See all apps > Google Play services
. Scroll to the bottom, where the version is listed.
And please let us know if this issue is still apparent with updated versions of Google Play Services. Thank you
is...@google.com <is...@google.com>
md...@gmail.com <md...@gmail.com> #6
Example:
#00 pc 0x000000000003b1e4 /system/lib/libandroidfw.so (android::ChunkIterator::Next()+100)
#01 pc 0x000000000003edf3 /system/lib/libandroidfw.so (android::LoadedPackage::Load(android::Chunk const&, unsigned int)+598)
#02 pc 0x0000000000040c07 /system/lib/libandroidfw.so (android::LoadedArsc::LoadTable(android::Chunk const&, android::LoadedIdmap const*, unsigned int)+298)
#03 pc 0x0000000000040fe9 /system/lib/libandroidfw.so (android::LoadedArsc::Load(android::incfs::map_ptr<void, false>, unsigned int, android::LoadedIdmap const*, unsigned int)+156)
#04 pc 0x00000000000293cd /system/lib/libandroidfw.so (android::ApkAssets::LoadImpl(std::__1::unique_ptr<android::Asset, std::__1::default_delete<android::Asset> >, std::__1::unique_ptr<android::AssetsProvider, std::__1::default_delete<android::AssetsProvider> >, unsigned int, std::__1::unique_ptr<android::Asset, std::__1::default_delete<android::Asset> >, std::__1::unique_ptr<android::LoadedIdmap, std::__1::default_delete<android::LoadedIdmap> >)+252)
#05 pc 0x000000000002910f /system/lib/libandroidfw.so (android::ApkAssets::LoadImpl(std::__1::unique_ptr<android::AssetsProvider, std::__1::default_delete<android::AssetsProvider> >, unsigned int, std::__1::unique_ptr<android::Asset, std::__1::default_delete<android::Asset> >, std::__1::unique_ptr<android::LoadedIdmap, std::__1::default_delete<android::LoadedIdmap> >)+190)
#06 pc 0x0000000000028eaf /system/lib/libandroidfw.so (android::ApkAssets::Load(std::__1::unique_ptr<android::AssetsProvider, std::__1::default_delete<android::AssetsProvider> >, unsigned int)+34)
#07 pc 0x000000000012f63b /system/lib/libandroid_runtime.so (android::NativeLoad(_JNIEnv*, _jclass*, int, _jstring*, int, _jobject*)+890)
at android.content.res.ApkAssets.nativeLoad (Native method)
at android.content.res.ApkAssets.<init> (ApkAssets.java:296)
at android.content.res.ApkAssets.loadFromPath (ApkAssets.java:145)
at android.app.ResourcesManager.loadApkAssets (ResourcesManager.java:472)
at android.app.ResourcesManager.-$$Nest$mloadApkAssets (unavailable)
at android.app.ResourcesManager$ApkAssetsSupplier.load (ResourcesManager.java:167)
at android.app.ResourcesManager.createApkAssetsSupplierNotLocked (ResourcesManager.java:997)
at android.app.ResourcesManager.getResources (ResourcesManager.java:1118)
at android.app.ActivityThread.getTopLevelResources (ActivityThread.java:2488)
at android.app.ApplicationPackageManager.getResourcesForApplication (ApplicationPackageManager.java:2045)
at android.app.ApplicationPackageManager.getResourcesForApplication (ApplicationPackageManager.java:2031)
at android.app.ApplicationPackageManager.getResourcesForApplication (ApplicationPackageManager.java:2059)
at m.v.b (:com.google.android.gms.dynamite_dynamiteloader@243137090@24.31.37 (240300-0):9)
at m.ac.c (:com.google.android.gms.dynamite_dynamiteloader@243137090@24.31.37 (240300-0):9)
at m.ac.b (:com.google.android.gms.dynamite_dynamiteloader@243137090@24.31.37 (240300-0):67)
at com.google.android.gms.dynamiteloader.DynamiteLoaderV2.loadModule2NoCrashUtils (:com.google.android.gms.dynamite_dynamiteloader@243137090@24.31.37 (240300-0):80)
at m.ce.a (:com.google.android.gms.dynamite_dynamiteloader@243137090@24.31.37 (240300-0):73)
at m.i.onTransact (:com.google.android.gms.dynamite_dynamiteloader@243137090@24.31.37 (240300-0):21)
at android.os.Binder.transact (Binder.java:1164)
at com.google.android.gms.internal.common.zza.zzB (com.google.android.gms:play-services-basement@@18.3.0:2)
at com.google.android.gms.dynamite.zzr.zzf (com.google.android.gms:play-services-basement@@18.3.0:6)
at com.google.android.gms.dynamite.DynamiteModule.load (com.google.android.gms:play-services-basement@@18.3.0:46)
at com.google.android.gms.maps.internal.zzcc.zzc (com.google.android.gms:play-services-maps@@19.0.0:5)
at com.google.android.gms.maps.internal.zzcc.zzd (com.google.android.gms:play-services-maps@@19.0.0:2)
at com.google.android.gms.maps.internal.zzcc.zza (com.google.android.gms:play-services-maps@@19.0.0:4)
at com.google.android.gms.maps.MapsInitializer.initialize (com.google.android.gms:play-services-maps@@19.0.0:4)
at myapp.MapRendererOptInApplication.onCreate (MapRendererOptInApplication.java:20)
Also seems similar to this bug
Description
Since setting the map renderer to
LATEST
, we are seeing a high amount of ANR in apponCreate
.Related: https://issuetracker.google.com/issues/243324822
This comment says:
But trying to call
MapsInitializer.initialize()
on a background thread logs this error:Apparently it must be called on the UI thread and the docs still suggest that as well - so we are stuck.
We were initially forced to use the https://issuetracker.google.com/issues/304316847 . Essentially we just changed the high number of crashes for a high number of ANRs.
LATEST
renderer due to a sudden high number of app crashes, seeHere are some stack trace variations for the ANR: