Skip to content

Crash in Adyen 3DS2 SDK on Android 13 (NullPointerException in getMessageVersion during ChallengeActivity launch) #2297

@ukatore

Description

@ukatore

Description

A crash was observed in the production environment with the following details:

  1. Caused by java.lang.NullPointerException: null receiver
    at java.lang.reflect.Method.invoke(Method.java)
    at atd.e.getMessageVersion.(getMessageVersion.java:4000)
    at atd.e.getMessageVersion.AuthenticationRequestParameters(getMessageVersion.java:65352)
    at com.adyen.threeds2.internal.ui.activity.ChallengeActivity.b(SourceFile:195)
    at com.adyen.threeds2.internal.ui.activity.ChallengeActivity.(SourceFile:65)
    at java.lang.Class.newInstance(Class.java)
    at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:95)
    at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:44)
    at android.app.Instrumentation.newActivity(Instrumentation.java:1339)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3538)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3782)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
    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:2307)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7872)
    at java.lang.reflect.Method.invoke(Method.java)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)

  2. Fatal Exception: java.lang.ExceptionInInitializerError:
    at java.lang.Class.newInstance(Class.java)
    at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:95)
    at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:44)
    at android.app.Instrumentation.newActivity(Instrumentation.java:1339)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3538)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3782)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
    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:2307)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7872)
    at java.lang.reflect.Method.invoke(Method.java)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)

  3. Caused by java.lang.RuntimeException: java.lang.NullPointerException: null receiver
    at atd.e.getMessageVersion.(getMessageVersion.java:48)
    at atd.e.getMessageVersion.AuthenticationRequestParameters(getMessageVersion.java:65352)
    at com.adyen.threeds2.internal.ui.activity.ChallengeActivity.b(SourceFile:195)
    at com.adyen.threeds2.internal.ui.activity.ChallengeActivity.(SourceFile:65)
    at java.lang.Class.newInstance(Class.java)
    at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:95)
    at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:44)
    at android.app.Instrumentation.newActivity(Instrumentation.java:1339)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3538)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3782)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
    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:2307)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7872)
    at java.lang.reflect.Method.invoke(Method.java)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)

Additional Information

Device Information :
Android Device - Nexus 5X
Android OS - 13

Do we need to apply any specific ProGuard / R8 rules for the Adyen SDK?

If yes, could you please provide the recommended rules?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Needs more infoIndicates that issue requires more info from its creatorQuestionIndicates issue only requires an answer to a questionStale

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions