bitwarden / mobile

Retired Bitwarden mobile app for iOS and Android (MAUI/Xamarin).
https://bitwarden.com
GNU General Public License v3.0
22 stars 2 forks source link

Android app cannot connect to self hosted server over Tailscale #2599

Open SZ3RzL5bet3NeKVMOXUgLk7sNYP1InSHA8U7oDV opened 1 year ago

SZ3RzL5bet3NeKVMOXUgLk7sNYP1InSHA8U7oDV commented 1 year ago

Steps To Reproduce

  1. Setup tailscale on homelab and mobile, bitwarden.example.com points to homelab tailscale ip.
  2. Setup self hosted bitwarden server at https://bitwarden.example.com:9099.
  3. Mobile app sign in and sync works when both homelab and mobile is on the same wifi network.
  4. Disconnect mobile from wifi and use LTE.
  5. Try to sync the vault.

Expected Result

Sync should succeed.

Actual Result

Sync over tailscale when not on the same wifi network fails.

Screenshots or Videos

No response

Additional Context

No response

Operating System

Android

Operating System Version

Android 14 beta

Device

Pixel 6 pro

Build Version

2023.5.0 (6330)

Beta

atjbramley commented 12 months ago

Hi @sdht0,

I am unable to reproduce this issue, it has been escalated for further investigation. If you have more information that can help us, please add it below.

Thanks!

yegle commented 6 days ago

I've been able to reproduce this issue consistently.

The symptom is exactly the same: sync works with my home WiFi, but fails when using LTE/5G cellular connection.

I haven't tried syncing on other WiFi networks, but given I'm connecting to the server using a publicly resolvable hostname resolving to a Tailscale IP address, I think it should work on other WiFi.

I have multiple websites hosted behind multiple Tailscale IP addresses:

Version information in case it's useful:

Reverse proxy setup from Caddy:

    *.example.com {
        log
        tls fullchain.pem privkey.pem
        header {
            Strict-Transport-Security max-age=31536000;
        }
        encode zstd gzip
        @bw host bw.example.com
        handle @bw {
            reverse_proxy bitwarden {
                header_up X-Real-IP {remote_host}
            }
        }

        @wiki host wiki.example.com
        handle @wiki {
            reverse_proxy wiki:8080
        }

        handle {
            abort
        }
    }
yegle commented 6 days ago

When the issue is reproduced (connect via LTE + Tailscale on), I cannot see any request in the Caddy access log when trying to refresh it in the Android app.

Here's some logcat, hopefully this would be useful:

$ adb logcat --pid 19623
--------- beginning of main
06-29 12:31:02.815 19623 19623 D VRI[MainActivity]: visibilityChanged oldVisibility=true newVisibility=false
06-29 12:31:07.789 19623 19678 D TrafficStats: tagSocket(131) with statsTag=0xffffffff, statsUid=-1
06-29 12:31:07.789 19623 19867 D TrafficStats: tagSocket(130) with statsTag=0xffffffff, statsUid=-1
06-29 12:31:07.789 19623 19679 D TrafficStats: tagSocket(134) with statsTag=0xffffffff, statsUid=-1
06-29 12:31:09.221 19623 20247 D TrafficStats: tagSocket(150) with statsTag=0xffffffff, statsUid=-1
06-29 12:31:15.901 19623 19623 W WindowOnBackDispatcher: OnBackInvokedCallback is not enabled for the application.
06-29 12:31:15.901 19623 19623 W WindowOnBackDispatcher: Set 'android:enableOnBackInvokedCallback="true"' in the application manifest.
06-29 12:31:15.969 19623 19623 D AutofillManager: notifyViewReadyInner:1073741846
06-29 12:31:16.728 19623 19623 W WindowOnBackDispatcher: OnBackInvokedCallback is not enabled for the application.
06-29 12:31:16.728 19623 19623 W WindowOnBackDispatcher: Set 'android:enableOnBackInvokedCallback="true"' in the application manifest.
06-29 12:31:17.527 19623 19623 W WindowOnBackDispatcher: OnBackInvokedCallback is not enabled for the application.
06-29 12:31:17.527 19623 19623 W WindowOnBackDispatcher: Set 'android:enableOnBackInvokedCallback="true"' in the application manifest.
06-29 12:31:17.542 19623 19623 W MaterialButton: MaterialButton manages its own background to control elevation, shape, color and states. Consider using backgroundTint, shapeAppearance and other attributes where available. A custom background will ignore these attributes and you should consider handling interaction states such as pressed, focused and disabled
06-29 12:31:17.560 19623 19623 D AutofillManager: notifyViewReadyInner:1073741847
06-29 12:31:17.564 19623 19623 D AutofillManager: notifyViewReadyInner:1073741848
06-29 12:31:35.549 19623 19867 D TrafficStats: tagSocket(158) with statsTag=0xffffffff, statsUid=-1
06-29 12:31:39.101 19623 19679 W monodroid-assembly: Shared library 'liblog' not loaded, p/invoke '__android_log_print' may fail
06-29 12:31:39.102 19623 19679 I monodroid-net: Exception caught while cancelling connection: Java.Net.SocketException: Socket closed
06-29 12:31:39.102 19623 19679 I monodroid-net:    at Java.Interop.JniEnvironment.InstanceMethods.CallVoidMethod(JniObjectReference , JniMethodInfo , JniArgumentValue* )
06-29 12:31:39.102 19623 19679 I monodroid-net:    at Java.Interop.JniPeerMembers.JniInstanceMethods.InvokeAbstractVoidMethod(String , IJavaPeerable , JniArgumentValue* )
06-29 12:31:39.102 19623 19679 I monodroid-net:    at Javax.Net.Ssl.HttpsURLConnectionInvoker.Connect()
06-29 12:31:39.102 19623 19679 I monodroid-net:    at Xamarin.Android.Net.AndroidMessageHandler.<>c__DisplayClass137_0.<ConnectAsync>b__0()
06-29 12:31:39.102 19623 19679 I monodroid-net:   --- End of managed Java.Net.SocketException stack trace ---
06-29 12:31:39.102 19623 19679 I monodroid-net: java.net.SocketException: Socket closed
06-29 12:31:39.102 19623 19679 I monodroid-net:         at java.net.SocketInputStream.read(SocketInputStream.java:188)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at java.net.SocketInputStream.read(SocketInputStream.java:143)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readFromSocket(ConscryptEngineSocket.java:983)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:947)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.-$$Nest$mprocessDataFromSocket(Unknown Source:0)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.org.conscrypt.ConscryptEngineSocket.doHandshake(ConscryptEngineSocket.java:236)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.org.conscrypt.ConscryptEngineSocket.startHandshake(ConscryptEngineSocket.java:218)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.okhttp.internal.io.RealConnection.connectTls(RealConnection.java:196)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:153)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:90)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:30)
06-29 12:31:39.102 19623 19679 I monodroid-net: 
06-29 12:31:39.102 19623 19679 I monodroid-net:   --- End of managed Java.Net.SocketException stack trace ---
06-29 12:31:39.102 19623 19679 I monodroid-net: java.net.SocketException: Socket closed
06-29 12:31:39.102 19623 19679 I monodroid-net:         at java.net.SocketInputStream.read(SocketInputStream.java:188)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at java.net.SocketInputStream.read(SocketInputStream.java:143)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readFromSocket(ConscryptEngineSocket.java:983)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:947)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.-$$Nest$mprocessDataFromSocket(Unknown Source:0)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.org.conscrypt.ConscryptEngineSocket.doHandshake(ConscryptEngineSocket.java:236)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.org.conscrypt.ConscryptEngineSocket.startHandshake(ConscryptEngineSocket.java:218)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.okhttp.internal.io.RealConnection.connectTls(RealConnection.java:196)
06-29 12:31:39.102 19623 19679 I monodroid-net:         at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:153)
06-29 12:31:39.103 19623 19679 I monodroid-net:         at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
06-29 12:31:39.103 19623 19679 I monodroid-net:         at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
06-29 12:31:39.103 19623 19679 I monodroid-net:         at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
06-29 12:31:39.103 19623 19679 I monodroid-net:         at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
06-29 12:31:39.103 19623 19679 I monodroid-net:         at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
06-29 12:31:39.103 19623 19679 I monodroid-net:         at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
06-29 12:31:39.103 19623 19679 I monodroid-net:         at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
06-29 12:31:39.103 19623 19679 I monodroid-net:         at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131)
06-29 12:31:39.103 19623 19679 I monodroid-net:         at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:90)
06-29 12:31:39.103 19623 19679 I monodroid-net:         at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:30)
06-29 12:31:39.103 19623 19679 I monodroid-net: 
06-29 12:31:39.127 19623 20526 D TrafficStats: tagSocket(134) with statsTag=0xffffffff, statsUid=-1
yegle commented 6 days ago

A slightly different logcat, captured between when I tap the "sync now" button and when the UI showing "syncing failed":

06-29 12:33:39.617 19623 20698 D TrafficStats: tagSocket(134) with statsTag=0xffffffff, statsUid=-1
06-29 12:35:07.502 19623 20858 I monodroid-net: Exception caught while cancelling connection: Java.Net.SocketException: Socket closed
06-29 12:35:07.503 19623 20858 I monodroid-net:    at Java.Interop.JniEnvironment.InstanceMethods.CallVoidMethod(JniObjectReference , JniMethodInfo , JniArgumentValue* )
06-29 12:35:07.503 19623 20858 I monodroid-net:    at Java.Interop.JniPeerMembers.JniInstanceMethods.InvokeAbstractVoidMethod(String , IJavaPeerable , JniArgumentValue* )
06-29 12:35:07.503 19623 20858 I monodroid-net:    at Javax.Net.Ssl.HttpsURLConnectionInvoker.Connect()
06-29 12:35:07.503 19623 20858 I monodroid-net:    at Xamarin.Android.Net.AndroidMessageHandler.<>c__DisplayClass137_0.<ConnectAsync>b__0()
06-29 12:35:07.503 19623 20858 I monodroid-net:   --- End of managed Java.Net.SocketException stack trace ---
06-29 12:35:07.503 19623 20858 I monodroid-net: java.net.SocketException: Socket closed
06-29 12:35:07.503 19623 20858 I monodroid-net:         at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:394)
06-29 12:35:07.503 19623 20858 I monodroid-net:         at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
06-29 12:35:07.503 19623 20858 I monodroid-net:         at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
06-29 12:35:07.503 19623 20858 I monodroid-net:         at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
06-29 12:35:07.503 19623 20858 I monodroid-net:         at java.net.Socket.connect(Socket.java:646)
06-29 12:35:07.503 19623 20858 I monodroid-net:         at com.android.okhttp.internal.Platform.connectSocket(Platform.java:182)
06-29 12:35:07.503 19623 20858 I monodroid-net:         at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:145)
06-29 12:35:07.503 19623 20858 I monodroid-net:         at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
06-29 12:35:07.503 19623 20858 I monodroid-net:         at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
06-29 12:35:07.503 19623 20858 I monodroid-net:         at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
06-29 12:35:07.503 19623 20858 I monodroid-net:         at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
06-29 12:35:07.503 19623 20858 I monodroid-net:         at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
06-29 12:35:07.503 19623 20858 I monodroid-net:         at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
06-29 12:35:07.503 19623 20858 I monodroid-net:         at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
06-29 12:35:07.503 19623 20858 I monodroid-net:         at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131)
06-29 12:35:07.503 19623 20858 I monodroid-net:         at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:90)
06-29 12:35:07.503 19623 20858 I monodroid-net:         at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:30)
06-29 12:35:07.503 19623 20858 I monodroid-net: 
06-29 12:35:07.503 19623 20858 I monodroid-net:   --- End of managed Java.Net.SocketException stack trace ---
06-29 12:35:07.503 19623 20858 I monodroid-net: java.net.SocketException: Socket closed
06-29 12:35:07.503 19623 20858 I monodroid-net:         at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:394)
06-29 12:35:07.503 19623 20858 I monodroid-net:         at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
06-29 12:35:07.503 19623 20858 I monodroid-net:         at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
06-29 12:35:07.504 19623 20858 I monodroid-net:         at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
06-29 12:35:07.504 19623 20858 I monodroid-net:         at java.net.Socket.connect(Socket.java:646)
06-29 12:35:07.504 19623 20858 I monodroid-net:         at com.android.okhttp.internal.Platform.connectSocket(Platform.java:182)
06-29 12:35:07.504 19623 20858 I monodroid-net:         at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:145)
06-29 12:35:07.504 19623 20858 I monodroid-net:         at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
06-29 12:35:07.504 19623 20858 I monodroid-net:         at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
06-29 12:35:07.504 19623 20858 I monodroid-net:         at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
06-29 12:35:07.504 19623 20858 I monodroid-net:         at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
06-29 12:35:07.504 19623 20858 I monodroid-net:         at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
06-29 12:35:07.504 19623 20858 I monodroid-net:         at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
06-29 12:35:07.504 19623 20858 I monodroid-net:         at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
06-29 12:35:07.504 19623 20858 I monodroid-net:         at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131)
06-29 12:35:07.504 19623 20858 I monodroid-net:         at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:90)
06-29 12:35:07.504 19623 20858 I monodroid-net:         at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:30)
06-29 12:35:07.504 19623 20858 I monodroid-net: 
06-29 12:35:19.616 19623 20698 I monodroid-net: Exception caught while cancelling connection: Java.Net.SocketException: Socket closed
06-29 12:35:19.617 19623 20698 I monodroid-net:    at Java.Interop.JniEnvironment.InstanceMethods.CallVoidMethod(JniObjectReference , JniMethodInfo , JniArgumentValue* )
06-29 12:35:19.617 19623 20698 I monodroid-net:    at Java.Interop.JniPeerMembers.JniInstanceMethods.InvokeAbstractVoidMethod(String , IJavaPeerable , JniArgumentValue* )
06-29 12:35:19.617 19623 20698 I monodroid-net:    at Javax.Net.Ssl.HttpsURLConnectionInvoker.Connect()
06-29 12:35:19.617 19623 20698 I monodroid-net:    at Xamarin.Android.Net.AndroidMessageHandler.<>c__DisplayClass137_0.<ConnectAsync>b__0()
06-29 12:35:19.617 19623 20698 I monodroid-net:   --- End of managed Java.Net.SocketException stack trace ---
06-29 12:35:19.617 19623 20698 I monodroid-net: java.net.SocketException: Socket closed
06-29 12:35:19.617 19623 20698 I monodroid-net:         at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:394)
06-29 12:35:19.617 19623 20698 I monodroid-net:         at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
06-29 12:35:19.617 19623 20698 I monodroid-net:         at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
06-29 12:35:19.617 19623 20698 I monodroid-net:         at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
06-29 12:35:19.617 19623 20698 I monodroid-net:         at java.net.Socket.connect(Socket.java:646)
06-29 12:35:19.617 19623 20698 I monodroid-net:         at com.android.okhttp.internal.Platform.connectSocket(Platform.java:182)
06-29 12:35:19.617 19623 20698 I monodroid-net:         at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:145)
06-29 12:35:19.617 19623 20698 I monodroid-net:         at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
06-29 12:35:19.617 19623 20698 I monodroid-net:         at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:90)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:30)
06-29 12:35:19.618 19623 20698 I monodroid-net: 
06-29 12:35:19.618 19623 20698 I monodroid-net:   --- End of managed Java.Net.SocketException stack trace ---
06-29 12:35:19.618 19623 20698 I monodroid-net: java.net.SocketException: Socket closed
06-29 12:35:19.618 19623 20698 I monodroid-net:         at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:394)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at java.net.Socket.connect(Socket.java:646)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at com.android.okhttp.internal.Platform.connectSocket(Platform.java:182)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:145)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:90)
06-29 12:35:19.618 19623 20698 I monodroid-net:         at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:30)
06-29 12:35:19.619 19623 20698 I monodroid-net: 
06-29 12:35:19.624 19623 19623 W WindowOnBackDispatcher: sendCancelIfRunning: isInProgress=false callback=android.view.ViewRootImpl$$ExternalSyntheticLambda11@d84cfae