yoomoney / yookassa-android-sdk

This library allows implementing payment acceptance into mobile apps on Android. It works as an extension to the YooMoney API.
https://yookassa.ru/developers/payment-forms/android-sdk
MIT License
39 stars 22 forks source link

Исключение UninitializedPropertyAccessException для sessionReporter #42

Closed Tetraquark closed 3 years ago

Tetraquark commented 4 years ago

Используем в проекте библиотеку с версией 3.0.0. Получили краш в Crashlytics со следующим стек-трейсом:

Fatal Exception: java.lang.RuntimeException: Unable to resume activity {*/ru.yandex.money.android.sdk.impl.CheckoutActivity}: kotlin.UninitializedPropertyAccessException: lateinit property sessionReporter has not been initialized
       at android.app.ActivityThread.performResumeActivity + 3691(ActivityThread.java:3691)
       at android.app.ActivityThread.handleResumeActivity + 3731(ActivityThread.java:3731)
       at android.app.ActivityThread.handleLaunchActivity + 2937(ActivityThread.java:2937)
       at android.app.ActivityThread.-wrap11()
       at android.app.ActivityThread$H.handleMessage + 1620(ActivityThread.java:1620)
       at android.os.Handler.dispatchMessage + 105(Handler.java:105)
       at android.os.Looper.loop + 173(Looper.java:173)
       at android.app.ActivityThread.main + 6698(ActivityThread.java:6698)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.Zygote$MethodAndArgsCaller.run + 240(Zygote.java:240)
       at com.android.internal.os.ZygoteInit.main + 782(ZygoteInit.java:782)

Caused by kotlin.UninitializedPropertyAccessException: lateinit property sessionReporter has not been initialized
       at ru.yandex.money.android.sdk.impl.d.a + 6(:6)
       at ru.yandex.money.android.sdk.impl.n.onResume + 5(:5)
       at androidx.fragment.app.Fragment.performResume + 2498(Fragment.java:2498)
       at androidx.fragment.app.FragmentManagerImpl.moveToState + 1501(FragmentManager.java:1501)
       at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState + 1784(FragmentManager.java:1784)
       at androidx.fragment.app.FragmentManagerImpl.moveToState + 1852(FragmentManager.java:1852)
       at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange + 3269(FragmentManager.java:3269)
       at androidx.fragment.app.FragmentManagerImpl.dispatchResume + 3241(FragmentManager.java:3241)
       at androidx.fragment.app.FragmentController.dispatchResume + 223(FragmentController.java:223)
       at androidx.fragment.app.FragmentActivity.onResumeFragments + 538(FragmentActivity.java:538)
       at androidx.fragment.app.FragmentActivity.onPostResume + 527(FragmentActivity.java:527)
       at androidx.appcompat.app.AppCompatActivity.onPostResume + 172(AppCompatActivity.java:172)
       at android.app.Activity.performResume + 7168(Activity.java:7168)
       at android.app.ActivityThread.performResumeActivity + 3666(ActivityThread.java:3666)
       at android.app.ActivityThread.handleResumeActivity + 3731(ActivityThread.java:3731)
       at android.app.ActivityThread.handleLaunchActivity + 2937(ActivityThread.java:2937)
       at android.app.ActivityThread.-wrap11()
       at android.app.ActivityThread$H.handleMessage + 1620(ActivityThread.java:1620)

Точный сценарий как воспроизвести пока выяснить не удалось, получили только один краш. Но есть предположение, что произошло это при попытке открыть ранее закрытое приложение.

Winner28 commented 4 years ago

Спасибо, приняли во внимание.

iskandarshabaev commented 3 years ago

Проблема должна пропасть в версии 5.1.0 Просьба переокрыть issue в случае воспроизведения проблемы.