Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Intent to Ship: Call stacks in crash reports from unresponsive web pages

328 views
Skip to first unread message

Chromestatus

unread,
Mar 14, 2025, 4:32:38 PMMar 14
to blin...@chromium.org, icle...@google.com, issac...@microsoft.com, seth.b...@microsoft.com

Contact emails

issac...@microsoft.com, seth.b...@microsoft.com, icle...@google.com

Explainer

https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/CrashReporting/AddStackToCrashReports.md
https://github.com/WICG/crash-reporting/issues/12

Specification

https://wicg.github.io/crash-reporting

Design docs


https://docs.google.com/document/d/19DpvHIiYbmB9wgIP0BdI4vOnfVLcAZFmfIAml7SqRQA/edit?usp=sharing

Summary

This feature captures the JS call stack when a web page becomes unresponsive due to JavaScript code running an infinite loop or other very long computation. This helps developers to identify the cause of the unresponsiveness and fix it more easily. The JS call stack is included in the crash reporting API when the reason is unresponsive.



Blink component

Chromium > Internals > Network > ReportingAndNEL

TAG review

https://github.com/w3ctag/design-reviews/issues/981

TAG review status

Issues addressed

Origin Trial Name

Call stacks in crash reports

Chromium Trial Name

DocumentPolicyIncludeJSCallStacksInCrashReports

Origin Trial documentation link

https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/CrashReporting/AddStackToCrashReports.md

WebFeature UseCounter name

kDocumentPolicyIncludeJSCallStacksInCrashReports

Risks



Interoperability and Compatibility

"The stack trace format itself is not compatible across browsers." However, "It is already exposed throughout the web platform (via the `error.stack` getter), and there is already a lot of software, both client- and server-side, which deals with parsing the different browsers' formats."



Gecko: No signal (https://github.com/mozilla/standards-positions/issues/1057)

WebKit: No signal (https://github.com/WebKit/standards-positions/issues/380)

Web developers: Positive https://github.com/denoland/deno/issues/26919#issuecomment-2584648202 https://github.com/WICG/crash-reporting/issues/21 https://github.com/electron/electron/issues/45356#issuecomment-2635086589 https://github.com/electron/electron/pull/44204#discussion_r1845994904 https://github.com/TurboWarp/desktop/issues/1113 https://github.com/getsentry/sentry-javascript/pull/14044#issuecomment-2468480434 https://www.electronjs.org/blog/electron-34-0#unresponsive-renderer-javascript-call-stacks

Other signals: Origin trial participants have found the feature useful, and their feedback has been positive.

Security

Stack frames from cross-domain scripts that were not loaded with CORS are omitted.



WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

No, the feature does not deprecate or change the behavior of existing APIs such that it has potentially high risk for Android WebView-based applications.



Debuggability

Developers can launch DevTools, go to the "Application" Tab, then in the "Background services" section click on "Reporting API" where they can inspect reports that are queued to be sent. Application --> Reporting API



Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?

Yes

Is this feature fully tested by web-platform-tests?

No

This feature is not currently testable on WPT, since triggering it requires crashing the browser.



DevTrial instructions

https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/CrashReporting/HOWTO.md

Flag name on about://flags



Finch feature name

DocumentPolicyIncludeJSCallStacksInCrashReports

Requires code in //chrome?

False

Tracking bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1445539

Availability expectation

Initially the feature will only be available in Chromium browsers.

Non-OSS dependencies

Does the feature depend on any code or APIs outside the Chromium open source repository and its open-source dependencies to function?

No.

Estimated milestones

Shipping on desktop 136
Origin trial desktop first 127
Origin trial desktop last 132
Origin trial extension 1 end milestone 135
DevTrial on desktop 125
Shipping on Android 136
Origin trial Android first 127
Origin trial Android last 132
DevTrial on Android 125
Shipping on WebView 136
Origin trial WebView first 127
Origin trial WebView last 132


Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).

None

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/4731248572628992?gate=5150803040141312

Links to previous Intent discussions

Intent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/MW2PPF6784DDB763E2DA7BFC75AE51613ABC27B2%40MW2PPF6784DDB76.namprd00.prod.outlook.com
Ready for Trial: https://groups.google.com/a/chromium.org/g/blink-dev/c/aVpeVRO1Sy4
Intent to Experiment: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/f43b4e9f-5af8-4c4b-bcd9-342332dd57edn%40chromium.org
Intent to Extend Experiment 1: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/67819b5d.2b0a0220.275672.09ce.GAE%40google.com


This intent message was generated by Chrome Platform Status.

Alex Russell

unread,
Mar 17, 2025, 2:24:06 PMMar 17
to blink-dev, Chromestatus, icle...@google.com, issac...@microsoft.com, seth.b...@microsoft.com
I'm recused on this one, but would like to see it move forward quickly. Great work.

Dan Clark

unread,
Mar 17, 2025, 2:25:22 PMMar 17
to blink-dev, sligh...@chromium.org, Chromestatus, icle...@google.com, issac...@microsoft.com, seth.b...@microsoft.com
LGTM1

Mike Taylor

unread,
Mar 18, 2025, 8:47:30 AMMar 18
to Dan Clark, blink-dev, sligh...@chromium.org, Chromestatus, icle...@google.com, issac...@microsoft.com, seth.b...@microsoft.com

 LGTM2 - I see that Mozilla has proposed a positive position via comment.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/1f369b7c-91f2-4074-a902-1cefdeaa7dfbn%40chromium.org.

Vladimir Levin

unread,
Mar 18, 2025, 10:32:56 PMMar 18
to blink-dev, Mike Taylor, Alex Russell, Chromestatus, icle...@google.com, issac...@microsoft.com, seth.b...@microsoft.com, dan...@microsoft.com
LGTM3

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

Issack John

unread,
Mar 19, 2025, 2:10:15 PMMar 19
to blink-dev, vmp...@chromium.org, mike...@chromium.org, sligh...@chromium.org, Chromestatus, icle...@google.com, Issack John, seth.b...@microsoft.com, dan...@microsoft.com
Thank you all for the reviews! :)

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Dominic Farolino

unread,
Mar 27, 2025, 4:26:35 PMMar 27
to Issack John, blink-dev, vmp...@chromium.org, mike...@chromium.org, sligh...@chromium.org, Chromestatus, icle...@google.com, seth.b...@microsoft.com, dan...@microsoft.com
Non API OWNER here, but when looking through this feature I noticed that there are no tests for it. This line in reporting_browsertest.cc disables all tests that were once just marked as flaky.

Adam Rice pointed this out in the original review here, and it looks like we tried a follow-up with CL 5422052 to enable the tests, but this was reverted in CL 5433594 with no obvious attempts to re-enable them. I only raise this because this means there are no web platform tests, and no Chromium-specific browser tests, so the feature is not tested at all. Maybe that shouldn't block the I2S, but enabling the tests for good should be a priority, ideally before hitting stable. Please let me know if I'm missing something!

Mike Taylor

unread,
Mar 27, 2025, 4:33:35 PMMar 27
to Dominic Farolino, Issack John, blink-dev, vmp...@chromium.org, sligh...@chromium.org, Chromestatus, icle...@google.com, seth.b...@microsoft.com, dan...@microsoft.com

Thanks Dom - that's not a great scenario that I didn't understand when approving.

Issack, what is the plan for tests? Are they in progress, or should we unship/not ship the feature until they're ready?

Issack John

unread,
Mar 27, 2025, 4:57:24 PMMar 27
to blink-dev, mike...@chromium.org, blink-dev, vmp...@chromium.org, sligh...@chromium.org, Chromestatus, icle...@google.com, seth.b...@microsoft.com, dan...@microsoft.com, d...@chromium.org, Issack John
Hi Dom and Mike,

I have made multiple attempts to debug and resolve the flakiness of these tests throughout the development of this feature, and that effort is still in progress.

As pointed out, we do have tests, but landing them as enabled has been challenging due to long-standing flakiness issues. I believe Adam Rice has also attempted to solve this flakiness, as seen in the CRBug: Timeouts in ReportingBrowserTest.CrashReport* browser tests [355141780] - Chromium but later had to disable the test.

Enabling these tests for good is indeed a priority. However, I don't believe this should block the I2S. We will continue to work on stabilizing the tests and aim to have them enabled as soon as possible.

Mike Taylor

unread,
Mar 27, 2025, 5:07:40 PMMar 27
to Issack John, blink-dev, vmp...@chromium.org, sligh...@chromium.org, Chromestatus, icle...@google.com, seth.b...@microsoft.com, dan...@microsoft.com, d...@chromium.org

Thanks Issack. I appreciate you making it a priority to stabilize them. However, I would not have approved knowing what I know now - the advice would have been "please fix the tests and come back and report."

What is the downside to disabling until we're in that state?

Issack John

unread,
Mar 28, 2025, 7:15:22 PMMar 28
to blink-dev, mike...@chromium.org, vmp...@chromium.org, sligh...@chromium.org, Chromestatus, icle...@google.com, seth.b...@microsoft.com, dan...@microsoft.com, d...@chromium.org, Issack John
Hi Mike,
 
Thank you for your feedback. We've redoubled our efforts to investigate the root cause of the flakiness and are looping in more people internally to assist with this. I agree with disabling the feature for now - I will submit a CL to disable it and will keep you posted on how we plan to move this feature forward.

Best,
Issack

Mike Taylor

unread,
Mar 31, 2025, 12:04:52 PMMar 31
to Issack John, blink-dev, vmp...@chromium.org, sligh...@chromium.org, Chromestatus, icle...@google.com, seth.b...@microsoft.com, dan...@microsoft.com, d...@chromium.org

Thanks Issack, appreciate it. And good luck with the tests!

Reply all
Reply to author
Forward
0 new messages