New issue
Advanced search Search tips

Issue 905966 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug

Blocked on:
issue 893569

Blocking:
issue 841556



Sign in to add a comment

Crashing due to instantiating WebResourceResponse with empty reasonPhrase (net service only)

Project Member Reported by ntfschr@chromium.org, Nov 16

Issue description

I ran our support library tests today, and observed this crash (exception on UI thread). In particular, this is triggered by ServiceWorkerClientCompatTest#testServiceWorkerClientInterceptCallback:

--------- beginning of crash
11-16 00:24:30.590  8089  8089 E AndroidRuntime: FATAL EXCEPTION: main
11-16 00:24:30.590  8089  8089 E AndroidRuntime: Process: androidx.webkit.test, PID: 8089
11-16 00:24:30.590  8089  8089 E AndroidRuntime: java.lang.IllegalArgumentException: reasonPhrase can't be empty.
11-16 00:24:30.590  8089  8089 E AndroidRuntime:        at android.webkit.WebResourceResponse.setStatusCodeAndReasonPhrase(WebResourceResponse.java:138)
11-16 00:24:30.590  8089  8089 E AndroidRuntime:        at android.webkit.WebResourceResponse.<init>(WebResourceResponse.java:76)
11-16 00:24:30.590  8089  8089 E AndroidRuntime:        at xM.a(SourceFile:292)
11-16 00:24:30.590  8089  8089 E AndroidRuntime:        at azr.handleMessage(SourceFile:67)
11-16 00:24:30.590  8089  8089 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:106)
11-16 00:24:30.590  8089  8089 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:164)
11-16 00:24:30.590  8089  8089 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:6494)
11-16 00:24:30.590  8089  8089 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
11-16 00:24:30.590  8089  8089 E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
11-16 00:24:30.590  8089  8089 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
11-16 00:24:30.596  8089  8089 E MonitoringInstr: Exception encountered by: Thread[main,5,main]. Dumping thread state to outputs and pining for the fjords.
11-16 00:24:30.596  8089  8089 E MonitoringInstr: java.lang.IllegalArgumentException: reasonPhrase can't be empty.
11-16 00:24:30.596  8089  8089 E MonitoringInstr:       at android.webkit.WebResourceResponse.setStatusCodeAndReasonPhrase(WebResourceResponse.java:138)
11-16 00:24:30.596  8089  8089 E MonitoringInstr:       at android.webkit.WebResourceResponse.<init>(WebResourceResponse.java:76)
11-16 00:24:30.596  8089  8089 E MonitoringInstr:       at xM.a(SourceFile:292)
11-16 00:24:30.596  8089  8089 E MonitoringInstr:       at azr.handleMessage(SourceFile:67)
11-16 00:24:30.596  8089  8089 E MonitoringInstr:       at android.os.Handler.dispatchMessage(Handler.java:106)
11-16 00:24:30.596  8089  8089 E MonitoringInstr:       at android.os.Looper.loop(Looper.java:164)
11-16 00:24:30.596  8089  8089 E MonitoringInstr:       at android.app.ActivityThread.main(ActivityThread.java:6494)
11-16 00:24:30.596  8089  8089 E MonitoringInstr:       at java.lang.reflect.Method.invoke(Native Method)
11-16 00:24:30.596  8089  8089 E MonitoringInstr:       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
11-16 00:24:30.596  8089  8089 E MonitoringInstr:       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

---

^ I get the above when running support lib tests, but this problem is actually triggered in chromium. Also, this is probably a non-crashing behavior change when not using support lib. We should try to add chromium-side coverage for this.

I looked into it a bit, and I think this can only happen if AwWebResourceResponse has an empty (but not null) reasonPhrase. I deobfuscated by hand, and I think "xM.a()" is actually WebViewContentsClientAdapter.onReceivedHttpError() [1].

[1] https://cs.chromium.org/chromium/src/android_webview/glue/java/src/com/android/webview/chromium/WebViewContentsClientAdapter.java?l=628-630&rcl=46c98bcd1c7037c1588b6e9c6640423d12c5fee3
 
Labels: Proj-Servicification Hotlist-KnownIssue
(Bulk edit to add component)

Sign in to add a comment