mlkit
mlkit copied to clipboard
[Bug report] NullPointerException crash
Describe the bug
Here's the stacktrace on Firebase Crashlytics
Fatal Exception: java.lang.ExceptionInInitializerError:
at com.google.android.gms.internal.mlkit_common.zzaq.zzg(com.google.mlkit:common@@18.10.0:2)
at com.google.android.gms.internal.mlkit_common.zzaq.zzi(com.google.mlkit:common@@18.10.0:2)
at com.google.mlkit.common.internal.CommonComponentRegistrar.getComponents(com.google.mlkit:common@@18.10.0:1)
at com.google.firebase.components.ComponentRuntime.discoverComponents(ComponentRuntime.java:118)
at com.google.firebase.components.ComponentRuntime.<init>(ComponentRuntime.java:100)
at com.google.firebase.components.ComponentRuntime.<init>(ComponentRuntime.java:46)
at com.google.firebase.components.ComponentRuntime$Builder.build(ComponentRuntime.java:407)
at com.google.mlkit.common.sdkinternal.MlKitContext.zza(MlKitContext.java:10)
at com.google.mlkit.common.internal.MlKitInitProvider.onCreate(com.google.mlkit:common@@18.10.0:3)
at android.content.ContentProvider.attachInfo(ContentProvider.java:2388)
at android.content.ContentProvider.attachInfo(ContentProvider.java:2358)
at com.google.mlkit.common.internal.MlKitInitProvider.attachInfo(com.google.mlkit:common@@18.10.0:3)
at android.app.ActivityThread.installProvider(ActivityThread.java:7268)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:6809)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6726)
at android.app.ActivityThread.access$1400(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1924)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7741)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:966)
Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'int java.util.AbstractCollection.size()' on a null object reference
at com.google.android.gms.internal.mlkit_common.zzao.<init>(com.google.mlkit:common@@18.10.0)
at com.google.android.gms.internal.mlkit_common.zzaq.<clinit>(com.google.mlkit:common@@18.10.0:1)
at com.google.android.gms.internal.mlkit_common.zzaq.zzg(com.google.mlkit:common@@18.10.0:2)
at com.google.android.gms.internal.mlkit_common.zzaq.zzi(com.google.mlkit:common@@18.10.0:2)
at com.google.mlkit.common.internal.CommonComponentRegistrar.getComponents(com.google.mlkit:common@@18.10.0:1)
at com.google.firebase.components.ComponentRuntime.discoverComponents(ComponentRuntime.java:118)
at com.google.firebase.components.ComponentRuntime.<init>(ComponentRuntime.java:100)
at com.google.firebase.components.ComponentRuntime.<init>(ComponentRuntime.java:46)
at com.google.firebase.components.ComponentRuntime$Builder.build(ComponentRuntime.java:407)
at com.google.mlkit.common.sdkinternal.MlKitContext.zza(MlKitContext.java:10)
at com.google.mlkit.common.internal.MlKitInitProvider.onCreate(com.google.mlkit:common@@18.10.0:3)
at android.content.ContentProvider.attachInfo(ContentProvider.java:2388)
at android.content.ContentProvider.attachInfo(ContentProvider.java:2358)
at com.google.mlkit.common.internal.MlKitInitProvider.attachInfo(com.google.mlkit:common@@18.10.0:3)
at android.app.ActivityThread.installProvider(ActivityThread.java:7268)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:6809)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6726)
at android.app.ActivityThread.access$1400(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1924)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7741)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:966)
To Reproduce
Seems like this happens upon app start or start in background by worker
Expected behavior There should not be crash
SDK Info:
implementation 'com.google.android.gms:play-services-mlkit-subject-segmentation:16.0.0-beta1'
implementation 'com.google.android.gms:play-services-mlkit-document-scanner:16.0.0-beta1'
implementation 'com.google.mlkit:digital-ink-recognition:18.1.0'
Smartphone:
- Device/Simulator: 95% Google, 5% Waydroid
- Device/Simulator OS: Android 11
My team is also experiencing a similar issue so I would love to know about potential fixes. This sounds like the same as this older issue https://github.com/googlesamples/mlkit/issues/777
One of our customers also has a similar problem, crash after start scanning / processing the document. He is using a Fairphone 3 with Android 13