Status Update
Comments
vi...@google.com <vi...@google.com> #2
1. Have you saw crash in real device or only in simulators?
2. Do you use dynamic feature for language ID?
do...@gmail.com <do...@gmail.com> #3
Tested on Android 12 Emulator with custom executor, but cannot repro this issue.
vi...@google.com <vi...@google.com>
kc...@google.com <kc...@google.com>
cu...@google.com <cu...@google.com>
ap...@google.com <ap...@google.com> #4
-
Second crash in the description is from a real device. Experienced it myself on two different Xiaomi phones, plus lots of crashes from users in the Google Play console.
-
Dynamic features are not used in the application.
As a wild guess, I have downgraded build tools from 31.0.0 to 30.0.3, compileSdk from 31 to 30, and moved all work with Language ID to the service in a separate process (just to be sure that crash can kill secondary process instead of main). This combination is in beta for 2 days by now and I don't see any SIGSEGV crashes.
an...@google.com <an...@google.com> #5
Hmm, I feel the crash might be something related to separate/secondary process.
I also changed compileSdk and targetSDK to 31 but still cannot repro this issue.
Description
Version used: :1.0.0-beta02
Theme used: Theme.AppCompat
Devices/Android versions reproduced on: Pixel 3 XL
Crash logs:
Caused by java.lang.NullPointerException
Attempt to invoke virtual method 'boolean android.os.Bundle.getBoolean(java.lang.String, boolean)' on a null object reference
androidx.biometric.BiometricFragment.isDeviceCredentialAllowed (BiometricFragment.java:238)
androidx.biometric.BiometricPrompt$2.onPause (BiometricPrompt.java:505)
java.lang.reflect.Method.invoke (Method.java)
androidx.lifecycle.ClassesInfoCache$MethodReference.invokeCallback (ClassesInfoCache.java:216)
androidx.lifecycle.ClassesInfoCache$CallbackInfo.invokeMethodsForEvent (ClassesInfoCache.java:194)
androidx.lifecycle.ClassesInfoCache$CallbackInfo.invokeCallbacks (ClassesInfoCache.java:185)
androidx.lifecycle.ReflectiveGenericLifecycleObserver.onStateChanged (ReflectiveGenericLifecycleObserver.java:36)
androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent (LifecycleRegistry.java:361)
androidx.lifecycle.LifecycleRegistry.backwardPass (LifecycleRegistry.java:316)
androidx.lifecycle.LifecycleRegistry.sync (LifecycleRegistry.java:334)
androidx.lifecycle.LifecycleRegistry.moveToState (LifecycleRegistry.java:145)
androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent (LifecycleRegistry.java:131)
androidx.lifecycle.ReportFragment.dispatch (ReportFragment.java:123)
androidx.lifecycle.ReportFragment.onPause (ReportFragment.java:96)
android.app.Fragment.performPause (Fragment.java:2735)
android.app.FragmentManagerImpl.moveToState (FragmentManagerImpl.java:1358)
android.app.FragmentManagerImpl.moveFragmentToExpectedState (FragmentManagerImpl.java:1581)
android.app.FragmentManagerImpl.moveToState (FragmentManagerImpl.java:1642)
android.app.FragmentManagerImpl.dispatchMoveToState (FragmentManagerImpl.java:3052)
android.app.FragmentManagerImpl.dispatchPause (FragmentManagerImpl.java:3018)
android.app.FragmentController.dispatchPause (FragmentController.java:217)
android.app.Activity.performPause (Activity.java:7976)
android.app.Instrumentation.callActivityOnPause (Instrumentation.java:1507)
android.app.ActivityThread.performPauseActivityIfNeeded (ActivityThread.java:4493)
android.app.ActivityThread.performPauseActivity (ActivityThread.java:4454)
android.app.ActivityThread.handlePauseActivity (ActivityThread.java:4406)
android.app.servertransaction.PauseActivityItem.execute (PauseActivityItem.java:46)
android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:176)
android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:97)
android.app.ActivityThread$H.handleMessage (ActivityThread.java:2016)
android.os.Handler.dispatchMessage (Handler.java:107)
android.os.Looper.loop (Looper.java:214)
android.app.ActivityThread.main (ActivityThread.java:7356)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:492)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:930)