OkHttp version: 5.3.2
Platform: Android 13 (API 33), ARM64
Summary
On Android devices where a proxy is configured (via APN settings or MDM) but the port field is left unset, DefaultProxySelector.select() throws IllegalArgumentException: port out of
range:-1 internally before it returns. This unchecked exception propagates through RouteSelector.selectProxies() uncaught, crashing the app. This is a fatal crash on the OkHttp Dispatcher
thread.
Stack trace
Fatal Exception: java.lang.IllegalArgumentException: port out of range:-1
at java.net.InetSocketAddress.checkPort(InetSocketAddress.java:144)
at java.net.InetSocketAddress.createUnresolved(InetSocketAddress.java:269)
at sun.net.spi.DefaultProxySelector$1.run(DefaultProxySelector.java:315)
at sun.net.spi.DefaultProxySelector$1.run(DefaultProxySelector.java:219)
at java.security.AccessController.doPrivileged(AccessController.java:43)
at sun.net.spi.DefaultProxySelector.select(DefaultProxySelector.java:218)
at okhttp3.internal.connection.RouteSelector.resetNextProxy$selectProxies(RouteSelector.kt:108)
at okhttp3.internal.connection.RouteSelector.resetNextProxy(RouteSelector.kt:115)
at okhttp3.internal.connection.RouteSelector.(RouteSelector.kt:52)
at okhttp3.internal.connection.RealRoutePlanner.planConnect$okhttp(RealRoutePlanner.kt:153)
at okhttp3.internal.connection.RealRoutePlanner.plan(RealRoutePlanner.kt:75)
at okhttp3.internal.connection.FastFallbackExchangeFinder.launchTcpConnect(FastFallbackExchangeFinder.kt:119)
at okhttp3.internal.connection.FastFallbackExchangeFinder.find(FastFallbackExchangeFinder.kt:62)
at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:298)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)
...
OkHttp version: 5.3.2
Platform: Android 13 (API 33), ARM64
Summary
On Android devices where a proxy is configured (via APN settings or MDM) but the port field is left unset, DefaultProxySelector.select() throws IllegalArgumentException: port out of
range:-1 internally before it returns. This unchecked exception propagates through RouteSelector.selectProxies() uncaught, crashing the app. This is a fatal crash on the OkHttp Dispatcher
thread.
Stack trace
Fatal Exception: java.lang.IllegalArgumentException: port out of range:-1
at java.net.InetSocketAddress.checkPort(InetSocketAddress.java:144)
at java.net.InetSocketAddress.createUnresolved(InetSocketAddress.java:269)
at sun.net.spi.DefaultProxySelector$1.run(DefaultProxySelector.java:315)
at sun.net.spi.DefaultProxySelector$1.run(DefaultProxySelector.java:219)
at java.security.AccessController.doPrivileged(AccessController.java:43)
at sun.net.spi.DefaultProxySelector.select(DefaultProxySelector.java:218)
at okhttp3.internal.connection.RouteSelector.resetNextProxy$selectProxies(RouteSelector.kt:108)
at okhttp3.internal.connection.RouteSelector.resetNextProxy(RouteSelector.kt:115)
at okhttp3.internal.connection.RouteSelector.(RouteSelector.kt:52)
at okhttp3.internal.connection.RealRoutePlanner.planConnect$okhttp(RealRoutePlanner.kt:153)
at okhttp3.internal.connection.RealRoutePlanner.plan(RealRoutePlanner.kt:75)
at okhttp3.internal.connection.FastFallbackExchangeFinder.launchTcpConnect(FastFallbackExchangeFinder.kt:119)
at okhttp3.internal.connection.FastFallbackExchangeFinder.find(FastFallbackExchangeFinder.kt:62)
at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:298)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)
...