Closed lo-g closed 1 year ago
What are you trying to do in your flow? Are you using the NSS engine?
Closing (obsolete)
We are seeing this in our app too. It is the single biggest source of crashes. Looks like the Gigya NSS code is not correctly handling if an engine is in the cache or not. Could this bug be reopened?
@tal-mi Same here. We are facing the same crash on some devices. Also the Google Review is failing because this crash happens on a x86-64 testing device.
We are not using the NssEngine, we use Nss.Builder only for loading the proper nss as follow:
private val nss by lazy {
if (GigyaNss.getInstance().isSupported){
GigyaNss.getInstance()
.load(BuildConfig.GIGYA_NSS_SCREEN_ID)
} else null
}
...
nss?.initialRoute(screenId)
?.eventsFor(
screenId = screenId,
handler = OneNssScreenEvents(
screenId = screenId,
onSubmit = onSubmit,
onScreenDidLoad = { isLoading = false }
)
)
?.eventsFor(screenId = "account-update", handler = AccountUpdateScreenEvents())
?.events(events = OneNssEvents(onError = onError, onSuccess = onSuccess))
?.show(launcherContext = context)
Here the logs of the crash
Exception java.lang.RuntimeException: Unable to start activity ComponentInfo{it.android.gedi.onepodcast/com.gigya.android.sdk.nss.NssActivity}: java.lang.IllegalStateException: The requested cached FlutterEngine did not exist in the FlutterEngineCache: 'nss_engine_id'
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3707)
at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3864)
at android.app.ActivityThread.handleRelaunchActivityInner (ActivityThread.java:5811)
at android.app.ActivityThread.handleRelaunchActivity (ActivityThread.java:5703)
at android.app.servertransaction.ActivityRelaunchItem.execute (ActivityRelaunchItem.java:71)
at android.app.servertransaction.ActivityTransactionItem.execute (ActivityTransactionItem.java:45)
at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2253)
at android.os.Handler.dispatchMessage (Handler.java:106)
at androidx.test.espresso.base.Interrogator.loopAndInterrogate (Interrogator.java:10)
at androidx.test.espresso.base.UiControllerImpl.loopUntil (UiControllerImpl.java:7)
at androidx.test.espresso.base.UiControllerImpl.loopUntil (UiControllerImpl.java:1)
at androidx.test.espresso.base.UiControllerImpl.injectMotionEvent (UiControllerImpl.java:5)
at androidx.test.espresso.action.MotionEvents.sendUp (MotionEvents.java:6)
at androidx.test.espresso.action.MotionEvents.sendUp (MotionEvents.java:1)
at androidx.test.espresso.action.Tap.sendSingleTap (Tap.java:5)
at androidx.test.espresso.action.Tap.-$$Nest$smsendSingleTap
at androidx.test.espresso.action.Tap$1.sendTap (Tap.java:1)
at androidx.test.espresso.action.GeneralClickAction.perform (GeneralClickAction.java:4)
at androidx.test.espresso.ViewInteraction$SingleExecutionViewAction.perform (ViewInteraction.java:2)
at androidx.test.espresso.ViewInteraction.doPerform (ViewInteraction.java:23)
at androidx.test.espresso.ViewInteraction.-$$Nest$mdoPerform
at androidx.test.espresso.ViewInteraction$1.call (ViewInteraction.java:6)
at androidx.test.espresso.ViewInteraction$1.call (ViewInteraction.java:1)
at java.util.concurrent.FutureTask.run (FutureTask.java:266)
at android.os.Handler.handleCallback (Handler.java:938)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loopOnce (Looper.java:201)
at android.os.Looper.loop (Looper.java:288)
at android.app.ActivityThread.main (ActivityThread.java:7870)
at java.lang.reflect.Method.invoke
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1003)
Caused by java.lang.IllegalStateException: The requested cached FlutterEngine did not exist in the FlutterEngineCache: 'nss_engine_id'
at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.setupFlutterEngine (FlutterActivityAndFragmentDelegate.java:66)
at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onAttach (FlutterActivityAndFragmentDelegate.java:66)
at io.flutter.embedding.android.FlutterFragment.onAttach (FlutterFragment.java:66)
at androidx.fragment.app.Fragment.performAttach (Fragment.java:48)
at androidx.fragment.app.FragmentStateManager.attach (FragmentStateManager.java:153)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState (FragmentStateManager.java:189)
at androidx.fragment.app.FragmentStore.moveToExpectedState (FragmentStore.java:58)
at androidx.fragment.app.FragmentManager.moveToState (FragmentManager.java:58)
at androidx.fragment.app.FragmentManager.dispatchStateChange (FragmentManager.java:34)
at androidx.fragment.app.FragmentManager.dispatchCreate (FragmentManager.java:27)
at androidx.fragment.app.FragmentController.dispatchCreate (FragmentController.java:27)
at androidx.fragment.app.FragmentActivity.onCreate (FragmentActivity.java:27)
at com.gigya.android.sdk.nss.NssActivity.onCreate (NssActivity.kt:1)
at android.app.Activity.performCreate (Activity.java:8074)
at android.app.Activity.performCreate (Activity.java:8054)
at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1341)
at androidx.test.runner.MonitoringInstrumentation.callActivityOnCreate (MonitoringInstrumentation.java:2)
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3688)
Hi, from my crashlytics board I've noticed a certain number of this crash:
Searching on internet I found this issue: https://github.com/flutter/flutter/issues/51353, maybe moving this block before
super.onCreate(savedInstanceState)
will fix this crash? :Unfortunately I'm not able to reproduce it directly...
Other info: