googlesamples / googlesamples/mlkit

[Bug report] MLKit.Initialize() fails with NullPointerException on Android 11 devices

Open
#777 4 comments 1 reaction 0 assignees View on GitHub
Dominant language
Kotlin
Stars
4.3k
Forks
3.1k
PR merge metrics
No merged PRs in 30d

Description

**Describe the bug**
To optimize app startup, we disabled ContentProvider and explicitly call MLKit.Initialize(). However, we observed crashes on some devices, most commonly chromebook + Android 11. Note that we have integrated with both the bundled and unblunded library.

**To Reproduce**
Example Steps to reproduce the behavior in sample app:
1. Add dependency to mlkit lib specified in the SDK section below
2. set meta-data for unbundled models
```

```
3. Disable Content Provider as
` `
4. In the activity, before accessing any ML kit feature invoke MLKit.Initialize(context), with context value being application context. Note, care has been taken to invoke this method only once.

**Expected behavior**
MLKit is initialized successfully. However, on certain devices crashlytics captured the below error

```
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_vision_object_detection_bundled.zzar.(com.google.mlkit:object-detection@@16.2.5:1)
at com.google.android.gms.internal.mlkit_vision_object_detection_bundled.zzat.(com.google.mlkit:object-detection@@16.2.5:1)
at com.google.android.gms.internal.mlkit_vision_object_detection_bundled.zzat.zzh(com.google.mlkit:object-detection@@16.2.5:2)
at com.google.android.gms.internal.mlkit_vision_object_detection_bundled.zzat.zzj(com.google.mlkit:object-detection@@16.2.5:1)
at com.google.android.gms.internal.mlkit_vision_object_detection_bundled.zzot.(com.google.mlkit:object-detection@@16.2.5:13)
at com.google.mlkit.vision.objects.defaults.internal.DefaultObjectsRegistrar.getComponents(com.google.mlkit:object-detection@@16.2.5:17)
at com.google.firebase.components.ComponentRuntime.discoverComponents(ComponentRuntime.java:117)
at com.google.firebase.components.ComponentRuntime.(ComponentRuntime.java:99)
at com.google.firebase.components.ComponentRuntime.(ComponentRuntime.java:46)
at com.google.firebase.components.ComponentRuntime$Builder.build(ComponentRuntime.java:387)
at com.google.mlkit.common.sdkinternal.MlKitContext.zza(com.google.mlkit:common@@17.3.0:9)
at com.google.mlkit.common.MlKit.initialize(com.google.mlkit:common@@17.3.0:1)
```

**SDK Info:**
- `com.google.mlkit:object-detection:16.2.5`
- `com.google.android.gms:play-services-mlkit-barcode-scanning:16.2.1`
- `com.google.android.gms:play-services-mlkit-image-labeling:16.0.5`
- `com.google.android.gms:play-services-mlkit-text-recognition:16.1.1`

**Smartphone:**
Mostly Chromebook

100% on Android 11 devices

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.