000039414 - Application Not Responding (ANR) in logs when using Mobile SDK with RSA Adaptive Authentication (On-Premise)

Document created by RSA Customer Support Employee on Nov 5, 2020
Version 1Show Document
  • View in full screen mode

Article Content

Article Number000039414
Applies ToRSA Product Set: RSA Adaptive Authentication (OnPrem)
RSA Product/Service Type: Adaptive Authentication (OnPrem)
RSA Version/Condition: 7.x
IssueWe are also seeing an ANR in our logs that happens when we try to generate the device print. Here is the stack trace from one of the ANR's that happened on a moto z4. We have also seen it a few times on a Pixel 4 XL.

#00 pc 00000000000ce544 /apex/com.android.runtime/lib64/bionic/libc.so!libc.so (read+4)
#01 pc 0000000000031640 /apex/com.android.runtime/lib64/libjavacore.so (Linux_readBytes(_JNIEnv*, _jobject*, _jobject*, _jobject*, int, int)+268)
at libcore.io.Linux.readBytes (Linux.java)
at libcore.io.Linux.read (Linux.java:190)
at libcore.io.ForwardingOs.read (ForwardingOs.java:177)
at libcore.io.BlockGuardOs.read (BlockGuardOs.java:303)
at libcore.io.ForwardingOs.read (ForwardingOs.java:177)
at libcore.io.IoBridge.read (IoBridge.java:513)
at java.io.FileInputStream.read (FileInputStream.java:313)
at java.io.BufferedInputStream.read1 (BufferedInputStream.java:286)
at java.io.BufferedInputStream.read (BufferedInputStream.java:347)
- locked <0x0079079b> (a java.lang.UNIXProcess$ProcessPipeInputStream)
at sun.nio.cs.StreamDecoder.readBytes (StreamDecoder.java:291)
at sun.nio.cs.StreamDecoder.implRead (StreamDecoder.java:355)
at sun.nio.cs.StreamDecoder.read (StreamDecoder.java:181)
- locked <0x00bba738> (a java.io.InputStreamReader)
at java.io.InputStreamReader.read (InputStreamReader.java:184)
at java.io.Reader.read (Reader.java:100)
at java.util.Scanner.readInput (Scanner.java:817)
at java.util.Scanner.next (Scanner.java:1392)
at com.rsa.mobilesdk.sdk.RootDetect.mountReader (RootDetect.java:439)
at com.rsa.mobilesdk.sdk.RootDetect.checkForRWPaths (RootDetect.java:305)
at com.rsa.mobilesdk.sdk.RootDetect.checkSystemProperties (RootDetect.java:234)
at com.rsa.mobilesdk.sdk.RootDetect.isDeviceRooted (RootDetect.java:161)
at com.rsa.mobilesdk.sdk.RootDetect$1.run (RootDetect.java:133)
at java.lang.Thread.run (Thread.java:919)
at com.rsa.mobilesdk.sdk.RootDetect.getIsDeviceRooted (RootDetect.java:143)
at com.rsa.mobilesdk.sdk.CollectDeviceData.isRootedDevice (CollectDeviceData.java:323)
at com.rsa.mobilesdk.sdk.CollectDeviceData.collectBasicDeviceData (CollectDeviceData.java:231)
at com.rsa.mobilesdk.sdk.CollectDeviceData.collectDeviceData (CollectDeviceData.java:180)
at com.rsa.mobilesdk.sdk.CollectDeviceData.<init> (CollectDeviceData.java:157)
at com.rsa.mobilesdk.sdk.CollectDeviceData.<init> (CollectDeviceData.java:53)
at com.rsa.mobilesdk.sdk.CollectDeviceData$BasicDeviceBuilder.build (CollectDeviceData.java:988)
at com.rsa.mobilesdk.sdk.MobileAPI.initAndValidateProperties (MobileAPI.java:594)
at com.rsa.mobilesdk.sdk.MobileAPI.initSDK (MobileAPI.java:438)
ResolutionEngineering reported the above stack trace can happen if the application's main thread is blocked. As our V3.11 SDK is initialized on the Application's main thread,
it is blocking the thread for different root detection checks performed on the main thread.

This issue has been addressed in SDK version 4.2 by spawning a separate thread for root detection.

Attachments

    Outcomes