microsoft / appcenter-sdk-android

Development repository for the App Center SDK for Android
Other
277 stars 134 forks source link

Don't crash when RemoteException with NetworkInfo #1593

Closed drakeet closed 2 years ago

drakeet commented 2 years ago
Android: 9
Android Build: WW_Phone-202011271133
Manufacturer: asus
Model: ASUS_X01AD
CrashReporter Key: ***
Start Date: 2021-12-20T08:00:43.4Z
Date: 2021-12-20T08:00:46.518Z

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.NetworkInfo$State.name()' on a null object reference
  at android.os.Parcel.createException(Parcel.java:1956)
  at android.os.Parcel.readException(Parcel.java:1918)
  at android.os.Parcel.readException(Parcel.java:1868)
  at android.net.IConnectivityManager$Stub$Proxy.getNetworkInfoForUid(IConnectivityManager.java:1285)
  at android.net.ConnectivityManager.getNetworkInfoForUid(ConnectivityManager.java:1078)
  at android.net.ConnectivityManager.getNetworkInfo(ConnectivityManager.java:1072)
  at com.microsoft.appcenter.utils.NetworkStateHelper.isAnyNetworkConnected(NetworkStateHelper.java:146)
  at com.microsoft.appcenter.utils.NetworkStateHelper.isNetworkConnected(NetworkStateHelper.java:132)
  at com.microsoft.appcenter.http.HttpClientNetworkStateHandler.callAsync(HttpClientNetworkStateHandler.java:48)
  at com.microsoft.appcenter.http.HttpClientCallDecorator.run(HttpClientCallDecorator.java:54)
  at com.microsoft.appcenter.http.HttpClientRetryer.callAsync(HttpClientRetryer.java:73)
  at com.microsoft.appcenter.ingestion.AbstractAppCenterIngestion.getServiceCall(AbstractAppCenterIngestion.java:81)
  at com.microsoft.appcenter.ingestion.AppCenterIngestion.sendAsync(AppCenterIngestion.java:74)
  at com.microsoft.appcenter.channel.DefaultChannel.sendLogs(DefaultChannel.java:517)
  at com.microsoft.appcenter.channel.DefaultChannel.triggerIngestion(DefaultChannel.java:500)
  at com.microsoft.appcenter.channel.DefaultChannel.access$400(DefaultChannel.java:50)
  at com.microsoft.appcenter.channel.DefaultChannel$GroupState$1.run(DefaultChannel.java:890)
  at android.os.Handler.handleCallback(Handler.java:873)
  at android.os.Handler.dispatchMessage(Handler.java:99)
  at android.os.Looper.loop(Looper.java:193)
  at android.os.HandlerThread.run(HandlerThread.java:65)
  Caused by: android.os.RemoteException: Remote stack trace:
    at android.net.NetworkInfo.writeToParcel(NetworkInfo.java:498)
    at android.net.IConnectivityManager$Stub.onTransact(IConnectivityManager.java:148)
    at android.os.Binder.execTransact(Binder.java:731)

    at android.net.NetworkInfo.writeToParcel(NetworkInfo.java:498)
    at android.net.IConnectivityManager$Stub.onTransact(IConnectivityManager.java:148)
    at android.os.Binder.execTransact(Binder.java:731)

Description

See the above stack trace, it makes the app crash, which is unnecessary.

Please catch it and ensure don't crash when RemoteException with NetworkInfo. Thanks.

Details

  1. Which SDK version are you using?
    • 4.3.1
aleksandr-dorofeev commented 2 years ago

Hi @drakeet Thank you for getting in touch with us! Could you please share verbose logs, repro steps and on which devices it happens?

AnastasiaKubova commented 2 years ago

We haven’t heard from you in a while so I’m closing this issue but feel free to reopen this issue if you have additional questions.