Skip to content

App crashes on specific device caused by okhttp when test network #2297

@DitFranXX

Description

@DitFranXX

Please read contributing guidelines. Thanks.

Describe the bug
Null point exception when test network in proxy mode.

To Reproduce
Steps to reproduce the behavior:

  1. Set to proxy mode.
  2. Touch any server
  3. Connect to server
  4. Touch status bar which can test network
  5. App crashes

Expected behavior
Show ping toast

Screenshots
SmartSelect_20190901-125232_Google Play services

Smartphone (please complete the following information):

  • Android/Chrome OS version: Android Pie (9)
  • Device: Samsung Galaxy Note10 5G Exynos
  • Version: 4.8.4
  • Last version that did not exhibit the issue: don't know

Configuration
Put an x inside the [ ] that applies.

  • IPv4 server address
  • IPv6 server address
  • Client IPv4 availability
  • Client IPv6 availability
  • Encrypt method: chacha20-ieft-poly1305
  • Route
    • All
    • Bypass LAN
    • Bypass China
    • Bypass LAN & China
    • GFW List
    • China List
    • Custom rules
  • IPv6 route
  • Apps VPN mode
    • Bypass mode
  • Remote DNS: 8.8.8.8
  • DNS over UDP
  • Plugin configuration (if applicable):
  • Auto Connect
  • [?] TCP Fast Open (It turned on without any setting)
  • If you're not using VPN mode, please supply more details here: Proxy mode, Connected with adguard proxy mode. (SS app filtering is disabled). The proxy is working if doesn't trigger this bug.

Additional context

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.InetAddress.toString()' on a null object reference
	at com.android.okhttp.internal.Util.closeQuietly(Util.java:96)
	at com.android.okhttp.internal.http.StreamAllocation.deallocate(StreamAllocation.java:293)
	at com.android.okhttp.internal.http.StreamAllocation.noNewStreams(StreamAllocation.java:257)
	at com.android.okhttp.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:967)
	at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:759)
	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:498)
	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:434)
	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:565)
	at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:105)
	at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:26)
	at com.github.shadowsocks.net.HttpsTest$testConnection$1$1.invokeSuspend(HttpsTest.kt:101)
	at com.github.shadowsocks.net.HttpsTest$testConnection$1$1.invoke(Unknown Source:10)
	at com.github.shadowsocks.utils.UtilsKt$useCancellable$$inlined$suspendCancellableCoroutine$lambda$2.invokeSuspend(Utils.kt:89)
	at ���(Coroutine boundary.�(�)
	at com.github.shadowsocks.net.HttpsTest$testConnection$1.invokeSuspend(HttpsTest.kt:98)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.InetAddress.toString()' on a null object reference
	at com.android.okhttp.internal.Util.closeQuietly(Util.java:96)
	at com.android.okhttp.internal.http.StreamAllocation.deallocate(StreamAllocation.java:293)
	at com.android.okhttp.internal.http.StreamAllocation.noNewStreams(StreamAllocation.java:257)
	at com.android.okhttp.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:967)
	at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:759)
	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:498)
	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:434)
	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:565)
	at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:105)
	at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:26)
	at com.github.shadowsocks.net.HttpsTest$testConnection$1$1.invokeSuspend(HttpsTest.kt:101)
	at com.github.shadowsocks.net.HttpsTest$testConnection$1$1.invoke(Unknown Source:10)
	at com.github.shadowsocks.utils.UtilsKt$useCancellable$$inlined$suspendCancellableCoroutine$lambda$2.invokeSuspend(Utils.kt:89)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:241)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:740)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions