What happened?
When initializing onesignal_flutter (v5.5.2 / Android SDK 051002) on Android (both emulators and physical devices), OneSignal fails to fetch parameters or initialize because requests to https://api.onesignal.com consistently throw UnknownHostException and SocketException: Connection reset during the TLS handshake.
Steps to reproduce?
1.
Initialize onesignal_flutter (^5.5.2) in a Flutter application on Android using a valid OneSignal App ID:
Dart
OneSignal.initialize("YOUR_ONESIGNAL_APP_ID");
2.
Run the application on an Android emulator or a physical Android device connected to a standard network/cellular network in the UAE (using local ISPs like Etisalat or du) without a VPN enabled.
3.
Inspect Logcat logs during app startup.
4.
Observe that OneSignal's background worker attempts to fetch Android parameters (GET https://api.onesignal.com/apps/.../android_params.js) and immediately fails.
5.
Notice the resulting java.net.UnknownHostException and java.net.SocketException: Connection reset errors in the logs.
What did you expect to happen?
nslookup api.onesignal.com and curl requests to https://api.onesignal.com time out both on local Wi-Fi and mobile cellular data in the UAE
OneSignal Flutter SDK version
Plugin Version: onesignal_flutter: ^5.5.2 • Android SDK Version: 051002 (Flutter wrapper 050612) • Platform: Android (Emulator & Physical Devices) • Region/Network: United Arab Emirates (UAE) - ISPs (Etisalat / du)
Which platform(s) are affected?
Relevant log output
W/OneSignal(31479): [OneSignal-IO-2] HttpClient: null Error thrown from network stack.
W/OneSignal(31479): java.net.SocketException: Connection reset
W/OneSignal(31479): at java.net.SocketInputStream.read(SocketInputStream.java:191)
W/OneSignal(31479): at java.net.SocketInputStream.read(SocketInputStream.java:143)
W/OneSignal(31479): at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readFromSocket(ConscryptEngineSocket.java:1015)
W/OneSignal(31479): at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:979)
W/OneSignal(31479): at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.-$$Nest$mprocessDataFromSocket(ConscryptEngineSocket.java:0)
W/OneSignal(31479): at com.android.org.conscrypt.ConscryptEngineSocket.doHandshake(ConscryptEngineSocket.java:244)
W/OneSignal(31479): at com.android.org.conscrypt.ConscryptEngineSocket.startHandshake(ConscryptEngineSocket.java:226)
W/OneSignal(31479): at com.android.okhttp.internal.io.RealConnection.connectTls(RealConnection.java:194)
W/OneSignal(31479): at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:151)
W/OneSignal(31479): at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:114)
W/OneSignal(31479): at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
W/OneSignal(31479): at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
W/OneSignal(31479): at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
W/OneSignal(31479): at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
W/OneSignal(31479): at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
W/OneSignal(31479): at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
W/OneSignal(31479): at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
W/OneSignal(31479): at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
W/OneSignal(31479): at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:106)
W/OneSignal(31479): at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:27)
W/OneSignal(31479): at com.onesignal.core.internal.http.impl.HttpClient$makeRequestIODispatcher$job$1.invokeSuspend(HttpClient.kt:217)
W/OneSignal(31479): at com.onesignal.core.internal.http.impl.HttpClient$makeRequestIODispatcher$job$1.invoke(HttpClient.kt:8)
W/OneSignal(31479): at com.onesignal.core.internal.http.impl.HttpClient$makeRequestIODispatcher$job$1.invoke(HttpClient.kt:2)
W/OneSignal(31479): at com.onesignal.common.threading.ThreadUtilsKt$launchOnIO$1.invokeSuspend(ThreadUtils.kt:170)
W/OneSignal(31479): at com.onesignal.common.threading.ThreadUtilsKt$launchOnIO$1.invoke(ThreadUtils.kt:8)
W/OneSignal(31479): at com.onesignal.common.threading.ThreadUtilsKt$launchOnIO$1.invoke(ThreadUtils.kt:2)
W/OneSignal(31479): at com.onesignal.common.threading.OneSignalDispatchers$launchOnIO$1.invokeSuspend(OneSignalDispatchers.kt:202)
W/OneSignal(31479): at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
W/OneSignal(31479): at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
W/OneSignal(31479): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1100)
W/OneSignal(31479): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
W/OneSignal(31479): at java.lang.Thread.run(Thread.java:1571)
I/OneSignal(31479): [OneSignal-IO-2] Failed to get Android parameters, trying again in 90 seconds.
D/OneSignal(31479): [OneSignal-IO-2] FeatureFlagsBackendService.fetchRemoteFeatureFlags(appId=XXXX)
D/OneSignal(31479): [OneSignal-IO-1] HttpClient: Request Sent = GET https://api.onesignal.com/apps/XXXX/sdk/features/android/051002 - Body: null - Headers: Accept=[application/vnd.onesignal.v1+json], OneSignal-Fid-Env=[gs=0;agp=9.0.1;flag=0;reg=0;def=0;prov=1;min=24;tgt=36;snd=-], OneSignal-Install-Id=[XXXXX], OneSignal-Subscription-Id=[XXXX], SDK-Version=[onesignal/android/051002], SDK-Wrapper=[onesignal/flutter/050612]
I/OneSignal(31479): [OneSignal-IO-1] HttpClient: Could not send last request, device is offline. Throwable: java.net.UnknownHostException
D/OneSignal(31479): [OneSignal-IO-1] FeatureFlagsBackendService: non-success status=-1 body=<empty>
Code of Conduct
What happened?
When initializing onesignal_flutter (v5.5.2 / Android SDK 051002) on Android (both emulators and physical devices), OneSignal fails to fetch parameters or initialize because requests to https://api.onesignal.com consistently throw UnknownHostException and SocketException: Connection reset during the TLS handshake.
Steps to reproduce?
What did you expect to happen?
nslookup api.onesignal.com and curl requests to https://api.onesignal.com time out both on local Wi-Fi and mobile cellular data in the UAE
OneSignal Flutter SDK version
Plugin Version: onesignal_flutter: ^5.5.2 • Android SDK Version: 051002 (Flutter wrapper 050612) • Platform: Android (Emulator & Physical Devices) • Region/Network: United Arab Emirates (UAE) - ISPs (Etisalat / du)
Which platform(s) are affected?
Relevant log output
Code of Conduct