vegidio / flutter-appodeal

A Flutter plugin to display ads from Appodeal; it supports consent dialog to track users.
https://pub.dev/packages/appodeal_flutter
MIT License
31 stars 19 forks source link

[CRASH] Android app crashes if app launched without internet connection #13

Open alectogeek opened 3 years ago

alectogeek commented 3 years ago

I tried to catch it with standard try-catch in the dart, but it doesn't work. I'm receiving many crash reports from my users in production. I don't know if the problem is valid for iOS as well.

Can I help somehow to fix the problem ASAP?

D/libc-netbsd( 7179): getaddrinfo: a.appbaqend.com get result from proxy gai_error = 7
W/System.err( 7179): java.net.UnknownHostException: Unable to resolve host "a.appbaqend.com": No address associated with hostname
W/System.err( 7179):    at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:125)
W/System.err( 7179):    at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:74)
W/System.err( 7179):    at java.net.InetAddress.getAllByName(InetAddress.java:757)
W/System.err( 7179):    at com.android.okhttp.internal.Network$1.resolveInetAddresses(Network.java:29)
W/System.err( 7179):    at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:187)
W/System.err( 7179):    at com.android.okhttp.internal.http.RouteSelector.nextProxy(RouteSelector.java:156)
W/System.err( 7179):    at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:98)
W/System.err( 7179):    at com.android.okhttp.internal.http.HttpEngine.createNextConnection(HttpEngine.java:372)
W/System.err( 7179):    at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:355)
W/System.err( 7179):    at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:273)
W/System.err( 7179):    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:474)
W/System.err( 7179):    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:126)
W/System.err( 7179):    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:257)
W/System.err( 7179):    at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getOutputStream(DelegatingHttpsURLConnection.java:218)
W/System.err( 7179):    at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java)
W/System.err( 7179):    at com.explorestack.consent.task.b.a(Unknown Source)
W/System.err( 7179):    at com.explorestack.consent.task.b.doInBackground(Unknown Source)
W/System.err( 7179):    at android.os.AsyncTask$2.call(AsyncTask.java:305)
W/System.err( 7179):    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
W/System.err( 7179):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
W/System.err( 7179):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
W/System.err( 7179):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
W/System.err( 7179):    at java.lang.Thread.run(Thread.java:761)
W/System.err( 7179): Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)
W/System.err( 7179):    at libcore.io.Posix.android_getaddrinfo(Native Method)
W/System.err( 7179):    at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:55)
W/System.err( 7179):    at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:106)
W/System.err( 7179):    ... 22 more
D/Consent Manager [IO]( 7179): Network Error: java.net.UnknownHostException: Unable to resolve host "a.appbaqend.com": No address associated with hostname(com.android.okhttp.internal.huc.HttpURLConnectionImpl:https://a.appbaqend.com/consent/check)
D/AndroidRuntime( 7179): Shutting down VM
I/AppMetrica( 7179): [com.my.app] : [ecdacfea-xxxx-xxxx-xxxx-xxxxxxxx7ecc] Unhandled exception received: UnhandledException{errorName='java.lang.IllegalArgumentException', exception=java.lang.IllegalArgumentException: Unsupported value: com.explorestack.consent.exception.ConsentManagerNetworkException@8dd04b8
I/AppMetrica( 7179): at io.flutter.plugin.common.StandardMessageCodec.writeValue(StandardMessageCodec.java:278)
I/AppMetrica( 7179): at io.flutter.plugin.common.StandardMethodCodec.encodeErrorEnvelope(StandardMethodCodec.java:75)
I/AppMetrica( 7179): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.error(MethodChannel.java:243)
I/AppMetrica( 7179): at io.vinicius.appodeal_flutter.AppodealFlutterPlugin$fetchConsentInfo$1.onFailedToUpdateConsentInfo(AppodealFlutterPlugin.kt:264)
I/AppMetrica( 7179): at com.explorestack.consent.ConsentManager$2.a(null:-1)
I/AppMetrica( 7179): at com.explorestack.consent.task.b.onPostExecute(null:-1)
I/AppMetrica( 7179): at android.os.AsyncTask.finish(AsyncTask.java:667)
I/AppMetrica( 7179): at android.os.AsyncTask.-wrap1(AsyncTask.java:-1)
I/AppMetrica( 7179): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:684)
I/AppMetrica( 7179): at android.os.Handler.dispatchMessage(Handler.java:110)
I/AppMetrica( 7179): at android.os.Looper.loop(Looper.java:203)
I/AppMetrica( 7179): at android.app.ActivityThread.main(ActivityThread.java:6608)
I/AppMetrica( 7179): at java.lang.reflect.Method.invoke(Method.java:-2)
I/AppMetrica( 7179): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1134)
I/AppMetrica( 7179): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:995)
I/AppMetrica( 7179): }
I/art     ( 7179): Do partial code cache collection, code=62KB, data=55KB
I/art     ( 7179): After code cache collection, code=56KB, data=51KB
I/art     ( 7179): Increasing code cache capacity to 256KB
E/AndroidRuntime( 7179): FATAL EXCEPTION: main
E/AndroidRuntime( 7179): Process: com.my.app, PID: 7179
E/AndroidRuntime( 7179): java.lang.IllegalArgumentException: Unsupported value: com.explorestack.consent.exception.ConsentManagerNetworkException@8dd04b8
E/AndroidRuntime( 7179):    at io.flutter.plugin.common.StandardMessageCodec.writeValue(StandardMessageCodec.java:278)
E/AndroidRuntime( 7179):    at io.flutter.plugin.common.StandardMethodCodec.encodeErrorEnvelope(StandardMethodCodec.java:75)
E/AndroidRuntime( 7179):    at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.error(MethodChannel.java:243)
E/AndroidRuntime( 7179):    at io.vinicius.appodeal_flutter.AppodealFlutterPlugin$fetchConsentInfo$1.onFailedToUpdateConsentInfo(AppodealFlutterPlugin.kt:264)
E/AndroidRuntime( 7179):    at com.explorestack.consent.ConsentManager$2.a(Unknown Source)
E/AndroidRuntime( 7179):    at com.explorestack.consent.task.b.onPostExecute(Unknown Source)
E/AndroidRuntime( 7179):    at android.os.AsyncTask.finish(AsyncTask.java:667)
E/AndroidRuntime( 7179):    at android.os.AsyncTask.-wrap1(AsyncTask.java)
E/AndroidRuntime( 7179):    at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:684)
E/AndroidRuntime( 7179):    at android.os.Handler.dispatchMessage(Handler.java:110)
E/AndroidRuntime( 7179):    at android.os.Looper.loop(Looper.java:203)
E/AndroidRuntime( 7179):    at android.app.ActivityThread.main(ActivityThread.java:6608)
E/AndroidRuntime( 7179):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime( 7179):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1134)
E/AndroidRuntime( 7179):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:995)
Lost connection to device.

Flutter doctor:

[✓] Flutter (Channel stable, 1.22.4, on Mac OS X 10.15.7 19H15 darwin-x64, locale en-RU)
    • Flutter version 1.22.4 at /Users/user/flutter
    • Framework revision 1aafb3a8b9 (2 weeks ago), 2020-11-13 09:59:28 -0800
    • Engine revision 2c956a31c0
    • Dart version 2.10.4

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/user/Library/Android/sdk
    • Platform android-30, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.
oliverbytes commented 3 years ago

I get the error too. But doesn't crash the app. Hoping for a fix too. Thanks

Hakim-Allaoui commented 3 years ago

I got the Error even there is a Network connection.

Exception has occurred.
PlatformException (PlatformException(CONSENT_INFO_ERROR, Failed to fetch the consent info, Consent Manager [Network]: Response Error 422, null))
vegidio commented 3 years ago

Is this problem still relevant on version 0.6.0? I just did a test and it seems to be working but I want to get some feedback here.