mlkit icon indicating copy to clipboard operation
mlkit copied to clipboard

[Bug report] NullPointerException crash

Open fanwgwg opened this issue 1 year ago • 2 comments

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

Image Image

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

fanwgwg avatar Jan 17 '25 09:01 fanwgwg

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

darobarts avatar Jan 28 '25 06:01 darobarts

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

luckycloud-GmbH avatar Apr 05 '25 02:04 luckycloud-GmbH