Skip to content

Update to SpiderMonkey 137. #37077

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 8 commits into
base: main
Choose a base branch
from
Draft

Update to SpiderMonkey 137. #37077

wants to merge 8 commits into from

Conversation

jdm
Copy link
Member

@jdm jdm commented May 22, 2025

Incorporates the updates from servo/mozjs#584.

Testing: Existing WPT coverage is enough.
Fixes: Part of #36258

@jdm jdm added the T-linux-wpt Do a try run of the WPT label May 22, 2025
@github-actions github-actions bot removed the T-linux-wpt Do a try run of the WPT label May 22, 2025
Copy link

🔨 Triggering try run (#15178398665) for Linux (WPT)

Copy link

⚠️ Try run (#15178398665) failed.

@jdm
Copy link
Member Author

jdm commented May 22, 2025

I am.very pleased about the WPT results: https://github.com/jdm/servo/actions/runs/15178679132

jdm added 3 commits June 19, 2025 00:27
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
@jdm jdm added the T-full Do a full try run label Jun 19, 2025
@github-actions github-actions bot removed the T-full Do a full try run label Jun 19, 2025
Copy link

🔨 Triggering try run (#15749464530) for Linux (Unit Tests, WPT, Bencher), MacOS (Unit Tests), Windows (Unit Tests), Android, OpenHarmony, Lint

Copy link

github-actions bot commented Jun 19, 2025

🐰 Bencher Report

Branchmain
TestbedHUAWEI Mate 60 Pro

⚠️ WARNING: No Threshold found!

Without a Threshold, no Alerts will ever be generated.

Click here to create a new Threshold
For more information, see the Threshold documentation.
To only post results if a Threshold exists, set the --ci-only-thresholds flag.

Click to view all benchmark results
BenchmarkLatencymilliseconds (ms)MemoryBytes
E2E/https://www.google.com/JS/gc-heap/admin📈 view plot
⚠️ NO THRESHOLD
24,224.00
E2E/https://www.google.com/JS/gc-heap/decommitted📈 view plot
⚠️ NO THRESHOLD
552,960.00
E2E/https://www.google.com/JS/gc-heap/unused📈 view plot
⚠️ NO THRESHOLD
63,616.00
E2E/https://www.google.com/JS/gc-heap/used📈 view plot
⚠️ NO THRESHOLD
407,776.00
E2E/https://www.google.com/JS/malloc-heap📈 view plot
⚠️ NO THRESHOLD
3,939,659.00
E2E/https://www.google.com/JS/non-heap📈 view plot
⚠️ NO THRESHOLD
262,144.00
E2E/https://www.google.com/LayoutThread/box-tree📈 view plot
⚠️ NO THRESHOLD
101,488.00
E2E/https://www.google.com/LayoutThread/display-list📈 view plot
⚠️ NO THRESHOLD
0.00
E2E/https://www.google.com/LayoutThread/font-context📈 view plot
⚠️ NO THRESHOLD
4,040.00
E2E/https://www.google.com/LayoutThread/fragment-tree📈 view plot
⚠️ NO THRESHOLD
112.00
E2E/https://www.google.com/LayoutThread/stylist📈 view plot
⚠️ NO THRESHOLD
5,264.00
E2E/https://www.google.com/Load📈 view plot
⚠️ NO THRESHOLD
475.79 ms
E2E/https://www.google.com/Resident📈 view plot
⚠️ NO THRESHOLD
187,431,321.00
E2E/https://www.google.com/image-cache📈 view plot
⚠️ NO THRESHOLD
35,328.00
E2E/https://www.servo.org/Load📈 view plot
⚠️ NO THRESHOLD
718.37 ms
E2E/https://www.servo.org/Resident📈 view plot
⚠️ NO THRESHOLD
266,475,929.00
🐰 View full continuous benchmarking report in Bencher

Copy link

github-actions bot commented Jun 19, 2025

🐰 Bencher Report

Branch37077/PR
Testbedubuntu-22.04

⚠️ WARNING: No Threshold found!

Without a Threshold, no Alerts will ever be generated.

Click here to create a new Threshold
For more information, see the Threshold documentation.
To only post results if a Threshold exists, set the --ci-only-thresholds flag.

Click to view all benchmark results
BenchmarkFile Sizemegabytes (MB)Latencymicroseconds (µs)Throughputoperations / second (ops/s)scoreMeasure (units)
Dromaeo/dom📈 view plot
⚠️ NO THRESHOLD
646.97 ops/s
Dromaeo/dom-attr📈 view plot
⚠️ NO THRESHOLD
4,365.05 ops/s
Dromaeo/dom-attr/element_expando📈 view plot
⚠️ NO THRESHOLD
75,797.80 ops/s
Dromaeo/dom-attr/element_expando = value📈 view plot
⚠️ NO THRESHOLD
20,421.00 ops/s
Dromaeo/dom-attr/element_property📈 view plot
⚠️ NO THRESHOLD
19,385.60 ops/s
Dromaeo/dom-attr/element_property = value📈 view plot
⚠️ NO THRESHOLD
83.86 ops/s
Dromaeo/dom-attr/getAttribute📈 view plot
⚠️ NO THRESHOLD
34,289.20 ops/s
Dromaeo/dom-attr/setAttribute📈 view plot
⚠️ NO THRESHOLD
80.17 ops/s
Dromaeo/dom-modify📈 view plot
⚠️ NO THRESHOLD
62.44 ops/s
Dromaeo/dom-modify/appendChild📈 view plot
⚠️ NO THRESHOLD
36.51 ops/s
Dromaeo/dom-modify/cloneNode📈 view plot
⚠️ NO THRESHOLD
28.83 ops/s
Dromaeo/dom-modify/createElement📈 view plot
⚠️ NO THRESHOLD
435.90 ops/s
Dromaeo/dom-modify/createTextNode📈 view plot
⚠️ NO THRESHOLD
144.38 ops/s
Dromaeo/dom-modify/innerHTML📈 view plot
⚠️ NO THRESHOLD
9.89 ops/s
Dromaeo/dom-modify/insertBefore📈 view plot
⚠️ NO THRESHOLD
90.42 ops/s
Dromaeo/dom-query📈 view plot
⚠️ NO THRESHOLD
1,455.87 ops/s
Dromaeo/dom-query/getElementById📈 view plot
⚠️ NO THRESHOLD
592.88 ops/s
Dromaeo/dom-query/getElementById (not in document)📈 view plot
⚠️ NO THRESHOLD
852.80 ops/s
Dromaeo/dom-query/getElementsByName📈 view plot
⚠️ NO THRESHOLD
0.12 ops/s
Dromaeo/dom-query/getElementsByName (not in document)📈 view plot
⚠️ NO THRESHOLD
0.19 ops/s
Dromaeo/dom-query/getElementsByTagName (not in document)📈 view plot
⚠️ NO THRESHOLD
94,620.80 ops/s
Dromaeo/dom-query/getElementsByTagName(*)📈 view plot
⚠️ NO THRESHOLD
72,545.80 ops/s
Dromaeo/dom-query/getElementsByTagName(a)📈 view plot
⚠️ NO THRESHOLD
72,541.00 ops/s
Dromaeo/dom-query/getElementsByTagName(div)📈 view plot
⚠️ NO THRESHOLD
71,683.40 ops/s
Dromaeo/dom-query/getElementsByTagName(p)📈 view plot
⚠️ NO THRESHOLD
72,083.20 ops/s
Dromaeo/dom-traverse📈 view plot
⚠️ NO THRESHOLD
251.45 ops/s
Dromaeo/dom-traverse/childNodes📈 view plot
⚠️ NO THRESHOLD
245.50 ops/s
Dromaeo/dom-traverse/firstChild📈 view plot
⚠️ NO THRESHOLD
221.29 ops/s
Dromaeo/dom-traverse/lastChild📈 view plot
⚠️ NO THRESHOLD
139.29 ops/s
Dromaeo/dom-traverse/nextSibling📈 view plot
⚠️ NO THRESHOLD
361.91 ops/s
Dromaeo/dom-traverse/previousSibling📈 view plot
⚠️ NO THRESHOLD
367.07 ops/s
Speedometer/Charts-observable-plot📈 view plot
⚠️ NO THRESHOLD
143.72 µs
Speedometer/Charts-observable-plot/Dotted📈 view plot
⚠️ NO THRESHOLD
30.59 µs
Speedometer/Charts-observable-plot/Dotted/Async📈 view plot
⚠️ NO THRESHOLD
1.46 µs
Speedometer/Charts-observable-plot/Dotted/Sync📈 view plot
⚠️ NO THRESHOLD
29.13 µs
Speedometer/Charts-observable-plot/Stacked by 20📈 view plot
⚠️ NO THRESHOLD
57.36 µs
Speedometer/Charts-observable-plot/Stacked by 20/Async📈 view plot
⚠️ NO THRESHOLD
2.04 µs
Speedometer/Charts-observable-plot/Stacked by 20/Sync📈 view plot
⚠️ NO THRESHOLD
55.32 µs
Speedometer/Charts-observable-plot/Stacked by 6📈 view plot
⚠️ NO THRESHOLD
55.77 µs
Speedometer/Charts-observable-plot/Stacked by 6/Async📈 view plot
⚠️ NO THRESHOLD
1.33 µs
Speedometer/Charts-observable-plot/Stacked by 6/Sync📈 view plot
⚠️ NO THRESHOLD
54.43 µs
Speedometer/Geomean📈 view plot
⚠️ NO THRESHOLD
201.16 µs
Speedometer/Iteration-0-Total📈 view plot
⚠️ NO THRESHOLD
361.48 µs
Speedometer/Iteration-1-Total📈 view plot
⚠️ NO THRESHOLD
311.90 µs
Speedometer/Iteration-2-Total📈 view plot
⚠️ NO THRESHOLD
310.89 µs
Speedometer/Iteration-3-Total📈 view plot
⚠️ NO THRESHOLD
307.59 µs
Speedometer/Iteration-4-Total📈 view plot
⚠️ NO THRESHOLD
307.05 µs
Speedometer/Iteration-5-Total📈 view plot
⚠️ NO THRESHOLD
305.39 µs
Speedometer/Iteration-6-Total📈 view plot
⚠️ NO THRESHOLD
303.53 µs
Speedometer/Iteration-7-Total📈 view plot
⚠️ NO THRESHOLD
312.99 µs
Speedometer/Iteration-8-Total📈 view plot
⚠️ NO THRESHOLD
310.86 µs
Speedometer/Iteration-9-Total📈 view plot
⚠️ NO THRESHOLD
317.07 µs
Speedometer/Score📈 view plot
⚠️ NO THRESHOLD
4.99 units
Speedometer/TodoMVC-Angular📈 view plot
⚠️ NO THRESHOLD
178.79 µs
Speedometer/TodoMVC-Angular/Adding100Items📈 view plot
⚠️ NO THRESHOLD
101.59 µs
Speedometer/TodoMVC-Angular/Adding100Items/Async📈 view plot
⚠️ NO THRESHOLD
9.65 µs
Speedometer/TodoMVC-Angular/Adding100Items/Sync📈 view plot
⚠️ NO THRESHOLD
91.94 µs
Speedometer/TodoMVC-Angular/CompletingAllItems📈 view plot
⚠️ NO THRESHOLD
44.23 µs
Speedometer/TodoMVC-Angular/CompletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
9.54 µs
Speedometer/TodoMVC-Angular/CompletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
34.69 µs
Speedometer/TodoMVC-Angular/DeletingAllItems📈 view plot
⚠️ NO THRESHOLD
32.98 µs
Speedometer/TodoMVC-Angular/DeletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
3.04 µs
Speedometer/TodoMVC-Angular/DeletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
29.94 µs
Speedometer/TodoMVC-JavaScript-ES5📈 view plot
⚠️ NO THRESHOLD
675.21 µs
Speedometer/TodoMVC-JavaScript-ES5/Adding100Items📈 view plot
⚠️ NO THRESHOLD
515.32 µs
Speedometer/TodoMVC-JavaScript-ES5/Adding100Items/Async📈 view plot
⚠️ NO THRESHOLD
17.36 µs
Speedometer/TodoMVC-JavaScript-ES5/Adding100Items/Sync📈 view plot
⚠️ NO THRESHOLD
497.97 µs
Speedometer/TodoMVC-JavaScript-ES5/CompletingAllItems📈 view plot
⚠️ NO THRESHOLD
103.39 µs
Speedometer/TodoMVC-JavaScript-ES5/CompletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
22.00 µs
Speedometer/TodoMVC-JavaScript-ES5/CompletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
81.39 µs
Speedometer/TodoMVC-JavaScript-ES5/DeletingAllItems📈 view plot
⚠️ NO THRESHOLD
56.50 µs
Speedometer/TodoMVC-JavaScript-ES5/DeletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
3.19 µs
Speedometer/TodoMVC-JavaScript-ES5/DeletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
53.31 µs
Speedometer/TodoMVC-JavaScript-ES6-Webpack📈 view plot
⚠️ NO THRESHOLD
1,033.39 µs
Speedometer/TodoMVC-JavaScript-ES6-Webpack/Adding100Items📈 view plot
⚠️ NO THRESHOLD
825.28 µs
Speedometer/TodoMVC-JavaScript-ES6-Webpack/Adding100Items/Async📈 view plot
⚠️ NO THRESHOLD
17.52 µs
Speedometer/TodoMVC-JavaScript-ES6-Webpack/Adding100Items/Sync📈 view plot
⚠️ NO THRESHOLD
807.76 µs
Speedometer/TodoMVC-JavaScript-ES6-Webpack/CompletingAllItems📈 view plot
⚠️ NO THRESHOLD
127.15 µs
Speedometer/TodoMVC-JavaScript-ES6-Webpack/CompletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
10.14 µs
Speedometer/TodoMVC-JavaScript-ES6-Webpack/CompletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
117.01 µs
Speedometer/TodoMVC-JavaScript-ES6-Webpack/DeletingAllItems📈 view plot
⚠️ NO THRESHOLD
80.96 µs
Speedometer/TodoMVC-JavaScript-ES6-Webpack/DeletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
3.30 µs
Speedometer/TodoMVC-JavaScript-ES6-Webpack/DeletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
77.66 µs
Speedometer/TodoMVC-Preact📈 view plot
⚠️ NO THRESHOLD
73.48 µs
Speedometer/TodoMVC-Preact/Adding100Items📈 view plot
⚠️ NO THRESHOLD
36.13 µs
Speedometer/TodoMVC-Preact/Adding100Items/Async📈 view plot
⚠️ NO THRESHOLD
31.35 µs
Speedometer/TodoMVC-Preact/Adding100Items/Sync📈 view plot
⚠️ NO THRESHOLD
4.78 µs
Speedometer/TodoMVC-Preact/CompletingAllItems📈 view plot
⚠️ NO THRESHOLD
27.92 µs
Speedometer/TodoMVC-Preact/CompletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
20.38 µs
Speedometer/TodoMVC-Preact/CompletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
7.54 µs
Speedometer/TodoMVC-Preact/DeletingAllItems📈 view plot
⚠️ NO THRESHOLD
9.43 µs
Speedometer/TodoMVC-Preact/DeletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
6.37 µs
Speedometer/TodoMVC-Preact/DeletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
3.06 µs
Speedometer/TodoMVC-React📈 view plot
⚠️ NO THRESHOLD
166.84 µs
Speedometer/TodoMVC-React-Redux📈 view plot
⚠️ NO THRESHOLD
177.34 µs
Speedometer/TodoMVC-React-Redux/Adding100Items📈 view plot
⚠️ NO THRESHOLD
77.93 µs
Speedometer/TodoMVC-React-Redux/Adding100Items/Async📈 view plot
⚠️ NO THRESHOLD
8.99 µs
Speedometer/TodoMVC-React-Redux/Adding100Items/Sync📈 view plot
⚠️ NO THRESHOLD
68.95 µs
Speedometer/TodoMVC-React-Redux/CompletingAllItems📈 view plot
⚠️ NO THRESHOLD
63.11 µs
Speedometer/TodoMVC-React-Redux/CompletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
8.46 µs
Speedometer/TodoMVC-React-Redux/CompletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
54.65 µs
Speedometer/TodoMVC-React-Redux/DeletingAllItems📈 view plot
⚠️ NO THRESHOLD
36.29 µs
Speedometer/TodoMVC-React-Redux/DeletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
2.89 µs
Speedometer/TodoMVC-React-Redux/DeletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
33.40 µs
Speedometer/TodoMVC-React/Adding100Items📈 view plot
⚠️ NO THRESHOLD
81.83 µs
Speedometer/TodoMVC-React/Adding100Items/Async📈 view plot
⚠️ NO THRESHOLD
13.31 µs
Speedometer/TodoMVC-React/Adding100Items/Sync📈 view plot
⚠️ NO THRESHOLD
68.52 µs
Speedometer/TodoMVC-React/CompletingAllItems📈 view plot
⚠️ NO THRESHOLD
53.77 µs
Speedometer/TodoMVC-React/CompletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
8.96 µs
Speedometer/TodoMVC-React/CompletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
44.81 µs
Speedometer/TodoMVC-React/DeletingAllItems📈 view plot
⚠️ NO THRESHOLD
31.23 µs
Speedometer/TodoMVC-React/DeletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
3.06 µs
Speedometer/TodoMVC-React/DeletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
28.17 µs
Speedometer/TodoMVC-Svelte📈 view plot
⚠️ NO THRESHOLD
70.23 µs
Speedometer/TodoMVC-Svelte/Adding100Items📈 view plot
⚠️ NO THRESHOLD
33.39 µs
Speedometer/TodoMVC-Svelte/Adding100Items/Async📈 view plot
⚠️ NO THRESHOLD
25.46 µs
Speedometer/TodoMVC-Svelte/Adding100Items/Sync📈 view plot
⚠️ NO THRESHOLD
7.93 µs
Speedometer/TodoMVC-Svelte/CompletingAllItems📈 view plot
⚠️ NO THRESHOLD
25.66 µs
Speedometer/TodoMVC-Svelte/CompletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
18.50 µs
Speedometer/TodoMVC-Svelte/CompletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
7.16 µs
Speedometer/TodoMVC-Svelte/DeletingAllItems📈 view plot
⚠️ NO THRESHOLD
11.18 µs
Speedometer/TodoMVC-Svelte/DeletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
7.75 µs
Speedometer/TodoMVC-Svelte/DeletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
3.44 µs
linux-release📈 view plot
⚠️ NO THRESHOLD
167.27 MB
🐰 View full continuous benchmarking report in Bencher

jdm added 2 commits June 19, 2025 00:57
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
Copy link

Test results for linux-wpt from try job (#15749464530):

Flaky unexpected result (16)
  • FAIL [expected PASS] /_mozilla/css/dirty_viewport.html (#13731)
  • TIMEOUT [expected OK] /_mozilla/mozilla/window_resizeTo.html (#36741)
    • TIMEOUT [expected PASS] subtest: Popup onresize event fires after resizeTo

      Test timed out
      

  • OK /content-security-policy/frame-ancestors/frame-ancestors-path-ignored.window.html (#36468)
    • PASS [expected FAIL] subtest: A 'frame-ancestors' CSP directive with a URL that includes a path should be ignored.
  • OK /css/css-fonts/generic-family-keywords-001.html (#37467)
    • PASS [expected FAIL] subtest: @font-face matching for quoted and unquoted generic(fangsong)
    • PASS [expected FAIL] subtest: @font-face matching for quoted and unquoted generic(kai)
    • PASS [expected FAIL] subtest: @font-face matching for quoted and unquoted generic(khmer-mul)
    • PASS [expected FAIL] subtest: @font-face matching for quoted and unquoted generic(nastaliq)
  • TIMEOUT /fetch/metadata/generated/css-images.sub.tentative.html (#29047)
    • TIMEOUT [expected PASS] subtest: background-image sec-fetch-user - Not sent to non-trustworthy same-origin destination

      Test timed out
      

  • ERROR /fetch/metadata/generated/serviceworker.https.sub.html (#36247)
    • PASS [expected FAIL] subtest: sec-fetch-site - Same origin, no options - registration
  • OK /html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.html (#29056)
    • PASS [expected FAIL] subtest: Cross-origin navigation started from unload handler must be ignored
  • OK /html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html (#28697)
    • FAIL [expected PASS] subtest: aElement.click() before the load event must NOT replace

      assert_equals: expected "http://web-platform.test:8000/common/blank.html?thereplacement" but got "http://web-platform.test:8000/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/resources/code-injector.html?pipe=sub(none)&amp;code=%0A%20%20%20%20const%20a%20%3D%20document.createElement(%22a%22)%3B%0A%20%20%20%20a.href%20%3D%20%22%2Fcommon%2Fblank.html%3Fthereplacement%22%3B%0A%20%20%20%20document.currentScript.before(a)%3B%0A%20%20%20%20a.click()%3B%0A%20%20"
      

  • OK /html/browsers/history/the-history-interface/traverse_the_history_3.html (#21383)
    • PASS [expected FAIL] subtest: Multiple history traversals, last would be aborted
  • CRASH [expected OK] /html/canvas/element/manual/imagebitmap/createImageBitmap-premultiplyAlpha.html
  • TIMEOUT [expected OK] /html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.html (#30970)
  • TIMEOUT [expected OK] /html/interaction/focus/the-autofocus-attribute/update-the-rendering.html (#24145)
    • TIMEOUT [expected FAIL] subtest: "Flush autofocus candidates" should be happen before a scroll event and animation frame callbacks

      Test timed out
      

  • CRASH [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html (#22154)
  • CRASH [expected OK] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html (#24066)
  • TIMEOUT [expected OK] /resource-timing/nested-context-navigations-iframe.html (#24311)
    • TIMEOUT [expected PASS] subtest: Test that cross-site iframe navigations are not observable by the parent, even after history navigations by the parent

      Test timed out
      

    • NOTRUN [expected PASS] subtest: Test that iframe navigations are not observable by the parent
    • NOTRUN [expected PASS] subtest: Test that crossorigin iframe navigations are not observable by the parent
    • NOTRUN [expected PASS] subtest: Test that cross-site iframe navigations are not observable by the parent
    • NOTRUN [expected PASS] subtest: Test that iframe refreshes are not observable by the parent
    • NOTRUN [expected PASS] subtest: Test that crossorigin iframe refreshes are not observable by the parent
    • NOTRUN [expected PASS] subtest: Test that cross-site iframe refreshes are not observable by the parent
  • OK [expected ERROR] /workers/constructors/Worker/Worker-constructor.html (#22991)
Stable unexpected results that are known to be intermittent (22)
  • OK /FileAPI/url/url-with-fetch.any.worker.html (#21517)
    • FAIL [expected PASS] subtest: Revoke blob URL after calling fetch, fetch should succeed

      promise_test: Unhandled rejection with value: object "TypeError: Network error occurred"
      

  • FAIL [expected PASS] /_mozilla/mozilla/sslfail.html (#10760)
  • OK /_webgl/conformance/textures/misc/texture-upload-size.html (#21770)
    • FAIL [expected PASS] subtest: WebGL test #61

      assert_true: Texture was smaller than the expected size 2x2 expected true got false
      

    • FAIL [expected PASS] subtest: WebGL test #63

      assert_true: getError expected: INVALID_VALUE. Was NO_ERROR : when calling texSubImage2D with the same texture upload with offset 1, 1 expected true got false
      

    • FAIL [expected PASS] subtest: WebGL test #65

      assert_true: Texture was smaller than the expected size 2x2 expected true got false
      

    • FAIL [expected PASS] subtest: WebGL test #67

      assert_true: getError expected: INVALID_VALUE. Was NO_ERROR : when calling texSubImage2D with the same texture upload with offset 1, 1 expected true got false
      

  • OK /css/css-align/blocks/align-content-block-002.html (#37361)
    • PASS [expected FAIL] subtest: .test 1: start
    • PASS [expected FAIL] subtest: .test 4: baseline
    • PASS [expected FAIL] subtest: .test 6: flex-start
    • PASS [expected FAIL] subtest: .test 8: unsafe start
    • PASS [expected FAIL] subtest: .test 11: safe start
    • PASS [expected FAIL] subtest: .test 15: space-between
    • PASS [expected FAIL] subtest: .test 17: normal
  • OK /css/css-fonts/variations/at-font-face-font-matching.html (#20684)
    • FAIL [expected PASS] subtest: Matching font-style: 'oblique 0deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg'

      assert_equals: Unexpected font on test element expected 487 but got 532
      

  • FAIL [expected PASS] /css/css-grid/grid-items/grid-auto-margin-and-replaced-item-001.html (#37162)
  • OK /fetch/metadata/generated/css-font-face.https.sub.tentative.html (#32732)
    • PASS [expected FAIL] subtest: sec-fetch-user
    • PASS [expected FAIL] subtest: sec-fetch-storage-access - Cross-site
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-nosrc.html (#34819)
    • PASS [expected FAIL] subtest: form submission
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html (#29048)
    • PASS [expected FAIL] subtest: Navigating to a different document with link click
    • PASS [expected FAIL] subtest: Navigating to a different document with form submission
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html (#28681)
    • PASS [expected FAIL] subtest: load &amp; pageshow events do not fire on contentWindow of &lt;iframe&gt; element created with src=''
    • PASS [expected FAIL] subtest: load &amp; pageshow events do not fire on contentWindow of &lt;iframe&gt; element created with src='about:blank'
  • OK /html/browsers/history/the-history-interface/traverse_the_history_5.html (#21383)
    • PASS [expected FAIL] subtest: Multiple history traversals, last would be aborted
  • OK /html/browsers/windows/browsing-context-names/duplicate-name-order.html (#34623)
    • FAIL [expected PASS] subtest: Duplicate name lookup order

      assert_equals: subtree first expected "ChildA" but got "SiblingA"
      

  • OK [expected TIMEOUT] /html/interaction/focus/the-autofocus-attribute/supported-elements.html (#24145)
    • FAIL [expected NOTRUN] subtest: Host element with delegatesFocus should support autofocus

      assert_equals: expected Element node &lt;div autofocus=""&gt;&lt;/div&gt; but got Element node &lt;body&gt;&lt;/body&gt;
      

    • FAIL [expected NOTRUN] subtest: Host element with delegatesFocus including no focusable descendants should be skipped

      assert_equals: expected Element node &lt;input autofocus=""&gt;&lt;/input&gt; but got Element node &lt;body&gt;&lt;/body&gt;
      

    • FAIL [expected NOTRUN] subtest: Area element should support autofocus

      assert_equals: expected Element node &lt;area autofocus="" href="/common/blank.html"&gt;&lt;/area&gt; but got Element node &lt;body&gt;
      &lt;img src="/media/poster.png" usemap="#map"&gt;
      &lt;map n...
      

  • OK /html/semantics/embedded-content/the-video-element/intrinsic_sizes.htm (#37173)
    • FAIL [expected PASS] subtest: default object size after src is removed

      assert_equals: expected "300px" but got "320px"
      

  • OK /navigation-timing/test-navigation-type-reload.html (#33334)
    • FAIL [expected PASS] subtest: Reload domComplete &gt; Original domComplete

      assert_true: Reload domComplete &gt; Original domComplete expected true got false
      

    • PASS [expected FAIL] subtest: Reload domContentLoadedEventStart &gt; Original domContentLoadedEventStart
    • PASS [expected FAIL] subtest: Reload domInteractive &gt; Original domInteractive
    • PASS [expected FAIL] subtest: Reload fetchStart &gt; Original fetchStart
    • FAIL [expected PASS] subtest: Reload loadEventEnd &gt; Original loadEventEnd

      assert_true: Reload loadEventEnd &gt; Original loadEventEnd expected true got false
      

    • FAIL [expected PASS] subtest: Reload loadEventStart &gt; Original loadEventStart

      assert_true: Reload loadEventStart &gt; Original loadEventStart expected true got false
      

  • OK [expected TIMEOUT] /performance-timeline/navigation-id-detached-frame.tentative.html (#34773)
    • PASS [expected TIMEOUT] subtest: The navigation_id getter does not crash a window of detached frame
  • OK /preload/preload-error.sub.html (#37177)
    • PASS [expected FAIL] subtest: success (script): main
    • PASS [expected FAIL] subtest: 404 (script): main
    • FAIL [expected PASS] subtest: CORS (script): main

      assert_greater_than: http://not-web-platform.test:8000/preload/resources/dummy.js?pipe=header%28Access-Control-Allow-Origin%2C*%29&amp;label=script should be loaded expected a number greater than 0 but got 0
      

    • FAIL [expected PASS] subtest: success (xhr): main

      assert_greater_than: http://web-platform.test:8000/preload/resources/dummy.xml?label=xhr should be loaded expected a number greater than 0 but got 0
      

    • PASS [expected FAIL] subtest: CORS (xhr): main
    • FAIL [expected PASS] subtest: MIME-error (script): main

      assert_greater_than: http://web-platform.test:8000/preload/resources/dummy.css?pipe=header%28Content-Type%2Ctext%2Fnotjavascript%29&amp;label=script should be loaded expected a number greater than 0 but got 0
      

  • OK /webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html (#22849)
    • FAIL [expected PASS] subtest: X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}. Index Actual Expected AbsError RelError Test threshold [14741] -6.2911736367285420e-13 4.5811137557029724e-1 4.5811137557092635e-1 1.0000000000013733e+0 3.8985999999999999e-3 [14742] 3.7735444307327271e-1 5.1289927959442139e-1 1.3554483652114868e-1 2.6427184032765982e-1 3.8985999999999999e-3 Max AbsError of 4.5811137557092635e-1 at index of 14741. Max RelError of 1.0000000000013733e+0 at index of 14741.

      assert_true: expected true got false
      

    • FAIL [expected PASS] subtest: X SNR (49.74066048758399 dB) is not greater than or equal to 65.737. Got 49.74066048758399.

      assert_true: expected true got false
      

  • TIMEOUT [expected OK] /webmessaging/with-ports/017.html (#24486)
    • TIMEOUT [expected PASS] subtest: origin of the script that invoked the method, about:blank

      Test timed out
      

  • TIMEOUT [expected OK] /webmessaging/without-ports/017.html (#24486)
    • TIMEOUT [expected PASS] subtest: origin of the script that invoked the method, about:blank

      Test timed out
      

  • TIMEOUT [expected OK] /webmessaging/without-ports/018.html (#24485)
    • TIMEOUT [expected PASS] subtest: origin of the script that invoked the method, javascript:

      Test timed out
      

  • OK [expected ERROR] /webxr/render_state_update.https.html (#27535)
Stable unexpected results (29)
  • OK /FileAPI/blob/Blob-constructor.any.html
    • PASS [expected FAIL] subtest: Passing a Float16Array as element of the blobParts array should work.
  • OK /FileAPI/blob/Blob-constructor.any.worker.html
    • PASS [expected FAIL] subtest: Passing a Float16Array as element of the blobParts array should work.
  • OK /WebCryptoAPI/getRandomValues.any.html
    • PASS [expected FAIL] subtest: Float16 arrays
  • OK /WebCryptoAPI/getRandomValues.any.worker.html
    • PASS [expected FAIL] subtest: Float16 arrays
  • OK /encoding/encodeInto.any.html
    • PASS [expected FAIL] subtest: Invalid encodeInto() destination: Float16Array, backed by: ArrayBuffer
  • OK /encoding/encodeInto.any.worker.html
    • PASS [expected FAIL] subtest: Invalid encodeInto() destination: Float16Array, backed by: ArrayBuffer
  • OK /fetch/api/basic/request-headers.any.html
    • PASS [expected FAIL] subtest: Fetch with POST with Float16Array body
  • OK /fetch/api/basic/request-headers.any.worker.html
    • PASS [expected FAIL] subtest: Fetch with POST with Float16Array body
  • OK /fetch/api/basic/request-upload.any.html
    • PASS [expected FAIL] subtest: Fetch with POST with Float16Array body
  • OK /fetch/api/basic/request-upload.any.worker.html
    • PASS [expected FAIL] subtest: Fetch with POST with Float16Array body
  • CRASH [expected OK] /html/canvas/element/manual/imagebitmap/canvas-createImageBitmap-resize.html
  • OK [expected CRASH] /streams/piping/then-interception.any.html
    • FAIL [expected PASS] subtest: piping should not be observable

      assert_array_equals: nothing should have been intercepted lengths differ, expected array [] length 0, got ["a"] length 1
      

    • FAIL [expected PASS] subtest: tee should not be observable

      assert_array_equals: nothing should have been intercepted lengths differ, expected array [] length 0, got ["a"] length 1
      

  • OK [expected CRASH] /streams/piping/then-interception.any.worker.html
    • FAIL [expected PASS] subtest: piping should not be observable

      assert_array_equals: nothing should have been intercepted lengths differ, expected array [] length 0, got ["a"] length 1
      

    • FAIL [expected PASS] subtest: tee should not be observable

      assert_array_equals: nothing should have been intercepted lengths differ, expected array [] length 0, got ["a"] length 1
      

  • OK /trusted-types/script-enforcement-008.https.html
    • PASS [expected FAIL] subtest: script-src CSP directive is properly set.
  • OK /trusted-types/script-enforcement-009.https.html
    • PASS [expected FAIL] subtest: script-src CSP directive is properly set.
  • OK /wasm/core/utf8-custom-section-id.wast.js.html
    • PASS [expected FAIL] subtest: #2 Test that WebAssembly compilation fails
    • PASS [expected FAIL] subtest: #3 Test that WebAssembly compilation fails
    • PASS [expected FAIL] subtest: #4 Test that WebAssembly compilation fails
    • PASS [expected FAIL] subtest: #5 Test that WebAssembly compilation fails
    • PASS [expected FAIL] subtest: #6 Test that WebAssembly compilation fails
    • PASS [expected FAIL] subtest: #7 Test that WebAssembly compilation fails
    • PASS [expected FAIL] subtest: #8 Test that WebAssembly compilation fails
    • PASS [expected FAIL] subtest: #9 Test that WebAssembly compilation fails
    • PASS [expected FAIL] subtest: #10 Test that WebAssembly compilation fails
    • PASS [expected FAIL] subtest: #11 Test that WebAssembly compilation fails
    • And 342 more unexpected results...
  • OK [expected ERROR] /wasm/jsapi/js-string/basic.any.html
  • OK [expected ERROR] /wasm/jsapi/js-string/basic.any.worker.html
  • OK /wasm/jsapi/js-string/constants.any.html
    • PASS [expected FAIL] subtest: constants
    • PASS [expected FAIL] subtest: constants 1
    • PASS [expected FAIL] subtest: constants 2
    • PASS [expected FAIL] subtest: constants 3
    • PASS [expected FAIL] subtest: constants 4
    • PASS [expected FAIL] subtest: constants 5
    • PASS [expected FAIL] subtest: constants 6
    • PASS [expected FAIL] subtest: constants 7
    • PASS [expected FAIL] subtest: constants 8
    • PASS [expected FAIL] subtest: constants 9
    • And 30 more unexpected results...
  • OK /wasm/jsapi/js-string/constants.any.worker.html
    • PASS [expected FAIL] subtest: constants
    • PASS [expected FAIL] subtest: constants 1
    • PASS [expected FAIL] subtest: constants 2
    • PASS [expected FAIL] subtest: constants 3
    • PASS [expected FAIL] subtest: constants 4
    • PASS [expected FAIL] subtest: constants 5
    • PASS [expected FAIL] subtest: constants 6
    • PASS [expected FAIL] subtest: constants 7
    • PASS [expected FAIL] subtest: constants 8
    • PASS [expected FAIL] subtest: constants 9
    • And 30 more unexpected results...
  • OK /wasm/jsapi/js-string/imports.any.html
    • PASS [expected FAIL] subtest: imports
  • OK /wasm/jsapi/js-string/imports.any.worker.html
    • PASS [expected FAIL] subtest: imports
  • OK /webidl/ecmascript-binding/es-exceptions/DOMException-is-error.any.html
    • PASS [expected FAIL] subtest: DOMException-is-error
  • OK /webidl/ecmascript-binding/es-exceptions/DOMException-is-error.any.worker.html
    • PASS [expected FAIL] subtest: DOMException-is-error
  • OK /websockets/Send-binary-arraybufferview-float16.any.html?default
    • PASS [expected FAIL] subtest: Send binary data on a WebSocket - ArrayBufferView - Float16Array - Connection should be closed
  • OK /websockets/Send-binary-arraybufferview-float16.any.html?wss
    • PASS [expected FAIL] subtest: Send binary data on a WebSocket - ArrayBufferView - Float16Array - Connection should be closed
  • OK /websockets/Send-binary-arraybufferview-float16.any.worker.html?default
    • PASS [expected FAIL] subtest: Send binary data on a WebSocket - ArrayBufferView - Float16Array - Connection should be closed
  • OK /websockets/Send-binary-arraybufferview-float16.any.worker.html?wss
    • PASS [expected FAIL] subtest: Send binary data on a WebSocket - ArrayBufferView - Float16Array - Connection should be closed
  • OK /workers/semantics/interface-objects/001.worker.html
    • PASS [expected FAIL] subtest: The Float16Array interface object should be exposed.

Copy link

⚠️ Try run (#15749464530) failed.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
@jdm jdm added the T-full Do a full try run label Jun 19, 2025
@github-actions github-actions bot removed the T-full Do a full try run label Jun 19, 2025
Copy link

🔨 Triggering try run (#15749931750) for Linux (Unit Tests, WPT, Bencher), MacOS (Unit Tests), Windows (Unit Tests), Android, OpenHarmony, Lint

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
Copy link

Test results for linux-wpt from try job (#15749931750):

Flaky unexpected result (17)
  • OK /FileAPI/url/url-with-fetch.any.html (#21517)
    • FAIL [expected PASS] subtest: Revoke blob URL after calling fetch, fetch should succeed

      promise_test: Unhandled rejection with value: object "TypeError: Network error occurred"
      

  • OK /FileAPI/url/url-with-fetch.any.worker.html (#21517)
    • FAIL [expected PASS] subtest: Revoke blob URL after calling fetch, fetch should succeed

      promise_test: Unhandled rejection with value: object "TypeError: Network error occurred"
      

  • OK /_mozilla/mozilla/getBoundingClientRect.html
    • FAIL [expected PASS] subtest: getBoundingClientRect 1

      assert_equals: expected 62 but got 60.35
      

  • OK /content-security-policy/frame-ancestors/frame-ancestors-path-ignored.window.html (#36468)
    • PASS [expected FAIL] subtest: A 'frame-ancestors' CSP directive with a URL that includes a path should be ignored.
  • OK /css/css-fonts/generic-family-keywords-001.html (#37467)
    • PASS [expected FAIL] subtest: @font-face matching for quoted and unquoted generic(kai)
    • PASS [expected FAIL] subtest: @font-face matching for quoted and unquoted generic(khmer-mul)
  • FAIL [expected PASS] /css/css-sizing/dynamic-available-size-iframe.html (#31559)
  • TIMEOUT [expected OK] /html/browsers/browsing-the-web/navigating-across-documents/005.html (#27062)
  • OK /html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html (#29066)
    • FAIL [expected PASS] subtest: Check execution order from nested timeout

      assert_equals: Expected nested setTimeout to run second expected true but got false
      

    • FAIL [expected PASS] subtest: Check execution order on load handler

      assert_equals: Expected onload to run first expected false but got true
      

  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-nosrc.html (#34819)
    • PASS [expected FAIL] subtest: link click
    • PASS [expected FAIL] subtest: form submission
  • OK /html/browsers/history/the-history-interface/traverse_the_history_2.html (#21383)
    • PASS [expected FAIL] subtest: Multiple history traversals, last would be aborted
  • TIMEOUT [expected OK] /html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.html (#30970)
  • OK [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html (#22667)
    • FAIL [expected TIMEOUT] subtest: Check that popups from a sandboxed iframe escape the sandbox if allow-popups-to-escape-sandbox is used

      assert_equals: It came from a sandboxed iframe expected "null" but got "http://web-platform.test:8000"
      

  • OK [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html (#24066)
    • FAIL [expected NOTRUN] subtest: Check that popups from a sandboxed iframe do not escape the sandbox

      assert_equals: It came from a sandboxed iframe expected "null" but got "http://web-platform.test:8000"
      

  • OK /html/semantics/embedded-content/the-video-element/intrinsic_sizes.htm (#37173)
    • FAIL [expected PASS] subtest: default object size after src is removed

      assert_equals: expected "300px" but got "320px"
      

  • ERROR /service-workers/idlharness.https.any.html (#36250)
    • PASS [expected TIMEOUT] subtest: ServiceWorkerContainer interface: operation register((TrustedScriptURL or USVString), optional RegistrationOptions)
    • PASS [expected TIMEOUT] subtest: NavigationPreloadManager interface: operation enable()
    • PASS [expected TIMEOUT] subtest: NavigationPreloadManager interface: operation disable()
    • PASS [expected TIMEOUT] subtest: NavigationPreloadManager interface: operation setHeaderValue(ByteString)
    • PASS [expected TIMEOUT] subtest: NavigationPreloadManager interface: operation getState()
  • TIMEOUT [expected OK] /webmessaging/with-ports/018.html (#24485)
    • TIMEOUT [expected PASS] subtest: origin of the script that invoked the method, javascript:

      Test timed out
      

  • ERROR [expected OK] /workers/semantics/run-a-worker/003.html (#22765)
Stable unexpected results that are known to be intermittent (23)
  • FAIL [expected PASS] /_mozilla/mozilla/sslfail.html (#10760)
  • TIMEOUT [expected OK] /_mozilla/mozilla/window_resizeTo.html (#36741)
    • TIMEOUT [expected PASS] subtest: Popup onresize event fires after resizeTo

      Test timed out
      

  • OK /_webgl/conformance/textures/misc/texture-upload-size.html (#21770)
    • FAIL [expected PASS] subtest: WebGL test #61

      assert_true: Texture was smaller than the expected size 2x2 expected true got false
      

    • FAIL [expected PASS] subtest: WebGL test #63

      assert_true: getError expected: INVALID_VALUE. Was NO_ERROR : when calling texSubImage2D with the same texture upload with offset 1, 1 expected true got false
      

    • FAIL [expected PASS] subtest: WebGL test #65

      assert_true: Texture was smaller than the expected size 2x2 expected true got false
      

    • FAIL [expected PASS] subtest: WebGL test #67

      assert_true: getError expected: INVALID_VALUE. Was NO_ERROR : when calling texSubImage2D with the same texture upload with offset 1, 1 expected true got false
      

  • OK /css/css-align/blocks/align-content-block-002.html (#37361)
    • FAIL [expected PASS] subtest: .test 1: start

      assert_equals: 
      &lt;div class="test" style="align-content: start" title="start"&gt;
          &lt;div class="in-flow" data-offset-y="15"&gt;&lt;/div&gt;
          &lt;div class="in-flow"&gt;
            &lt;span class="label"&gt;START&lt;/span&gt;
            &lt;span class="abspos" data-offset-y="0"&gt;ABS&lt;/span&gt;
            &lt;span class="relpos" data-offset-y="0"&gt;REL&lt;/span&gt;
            &lt;div class="overflow"&gt;OVERFLOW&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      offsetTop expected 0 but got -1
      

    • FAIL [expected PASS] subtest: .test 4: baseline

      assert_equals: 
      &lt;div class="test" style="align-content: baseline" title="baseline"&gt;
          &lt;div class="in-flow" data-offset-y="15"&gt;&lt;/div&gt;
          &lt;div class="in-flow"&gt;
            &lt;span class="label"&gt;BASELINE&lt;/span&gt;
            &lt;span class="abspos" data-offset-y="0"&gt;ABS&lt;/span&gt;
            &lt;span class="relpos" data-offset-y="0"&gt;REL&lt;/span&gt;
            &lt;div class="overflow"&gt;OVERFLOW&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      offsetTop expected 0 but got -1
      

    • FAIL [expected PASS] subtest: .test 6: flex-start

      assert_equals: 
      &lt;div class="test" style="align-content: flex-start" title="flex-start"&gt;
          &lt;div class="in-flow" data-offset-y="15"&gt;&lt;/div&gt;
          &lt;div class="in-flow"&gt;
            &lt;span class="label"&gt;FLEX-START&lt;/span&gt;
            &lt;span class="abspos" data-offset-y="0"&gt;ABS&lt;/span&gt;
            &lt;span class="relpos" data-offset-y="0"&gt;REL&lt;/span&gt;
            &lt;div class="overflow"&gt;OVERFLOW&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      offsetTop expected 0 but got -1
      

    • FAIL [expected PASS] subtest: .test 8: unsafe start

      assert_equals: 
      &lt;div class="test" style="align-content: unsafe start" title="unsafe start"&gt;
          &lt;div class="in-flow" data-offset-y="15"&gt;&lt;/div&gt;
          &lt;div class="in-flow"&gt;
            &lt;span class="label"&gt;UNSAFE START&lt;/span&gt;
            &lt;span class="abspos" data-offset-y="0"&gt;ABS&lt;/span&gt;
            &lt;span class="relpos" data-offset-y="0"&gt;REL&lt;/span&gt;
            &lt;div class="overflow"&gt;OVERFLOW&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      offsetTop expected 0 but got -1
      

    • FAIL [expected PASS] subtest: .test 11: safe start

      assert_equals: 
      &lt;div class="test" style="align-content: safe start" title="safe start"&gt;
          &lt;div class="in-flow" data-offset-y="15"&gt;&lt;/div&gt;
          &lt;div class="in-flow"&gt;
            &lt;span class="label"&gt;SAFE START&lt;/span&gt;
            &lt;span class="abspos" data-offset-y="0"&gt;ABS&lt;/span&gt;
            &lt;span class="relpos" data-offset-y="0"&gt;REL&lt;/span&gt;
            &lt;div class="overflow"&gt;OVERFLOW&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      offsetTop expected 0 but got -1
      

    • FAIL [expected PASS] subtest: .test 15: space-between

      assert_equals: 
      &lt;div class="test" style="align-content: space-between" title="space-between"&gt;
          &lt;div class="in-flow" data-offset-y="15"&gt;&lt;/div&gt;
          &lt;div class="in-flow"&gt;
            &lt;span class="label"&gt;SPACE-BETWEEN&lt;/span&gt;
            &lt;span class="abspos" data-offset-y="0"&gt;ABS&lt;/span&gt;
            &lt;span class="relpos" data-offset-y="0"&gt;REL&lt;/span&gt;
            &lt;div class="overflow"&gt;OVERFLOW&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      offsetTop expected 0 but got -1
      

    • FAIL [expected PASS] subtest: .test 17: normal

      assert_equals: 
      &lt;div class="test" style="align-content: normal" title="normal"&gt;
          &lt;div class="in-flow" data-offset-y="10"&gt;&lt;/div&gt;
          &lt;div class="in-flow"&gt;
            &lt;span class="label"&gt;NORMAL&lt;/span&gt;
            &lt;span class="abspos" data-offset-y="-5"&gt;ABS&lt;/span&gt;
            &lt;span class="relpos" data-offset-y="-5"&gt;REL&lt;/span&gt;
            &lt;div class="overflow"&gt;OVERFLOW&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      offsetTop expected -5 but got -6
      

  • OK /css/css-align/blocks/align-content-block-003.html (#37360)
    • FAIL [expected PASS] subtest: .test 1: start

      assert_equals: 
      &lt;div class="test" style="align-content: start" title="start"&gt;
          &lt;div class="in-flow" data-offset-y="35"&gt;&lt;/div&gt;
          &lt;div class="in-flow"&gt;
            &lt;span class="label"&gt;START&lt;/span&gt;
            &lt;span class="abspos" data-offset-y="20"&gt;ABS&lt;/span&gt;
            &lt;span class="relpos" data-offset-y="20"&gt;REL&lt;/span&gt;
            &lt;div class="overflow"&gt;OVERFLOW&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      offsetTop expected 20 but got 19
      

    • FAIL [expected PASS] subtest: .test 2: center

      assert_equals: 
      &lt;div class="test" style="align-content: center" title="center"&gt;
          &lt;div class="in-flow" data-offset-y="35"&gt;&lt;/div&gt;
          &lt;div class="in-flow"&gt;
            &lt;span class="label"&gt;CENTER&lt;/span&gt;
            &lt;span class="abspos" data-offset-y="20"&gt;ABS&lt;/span&gt;
            &lt;span class="relpos" data-offset-y="20"&gt;REL&lt;/span&gt;
            &lt;div class="overflow"&gt;OVERFLOW&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      offsetTop expected 20 but got 19
      

    • FAIL [expected PASS] subtest: .test 3: end

      assert_equals: 
      &lt;div class="test" style="align-content: end" title="end"&gt;
          &lt;div class="in-flow" data-offset-y="35"&gt;&lt;/div&gt;
          &lt;div class="in-flow"&gt;
            &lt;span class="label"&gt;END&lt;/span&gt;
            &lt;span class="abspos" data-offset-y="20"&gt;ABS&lt;/span&gt;
            &lt;span class="relpos" data-offset-y="20"&gt;REL&lt;/span&gt;
            &lt;div class="overflow"&gt;OVERFLOW&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      offsetTop expected 20 but got 19
      

    • FAIL [expected PASS] subtest: .test 4: baseline

      assert_equals: 
      &lt;div class="test" style="align-content: baseline" title="baseline"&gt;
          &lt;div class="in-flow" data-offset-y="35"&gt;&lt;/div&gt;
          &lt;div class="in-flow"&gt;
            &lt;span class="label"&gt;BASELINE&lt;/span&gt;
            &lt;span class="abspos" data-offset-y="20"&gt;ABS&lt;/span&gt;
            &lt;span class="relpos" data-offset-y="20"&gt;REL&lt;/span&gt;
            &lt;div class="overflow"&gt;OVERFLOW&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      offsetTop expected 20 but got 19
      

    • FAIL [expected PASS] subtest: .test 5: last baseline

      assert_equals: 
      &lt;div class="test" style="align-content: last baseline" title="last baseline"&gt;
          &lt;div class="in-flow" data-offset-y="35"&gt;&lt;/div&gt;
          &lt;div class="in-flow"&gt;
            &lt;span class="label"&gt;LAST BASELINE&lt;/span&gt;
            &lt;span class="abspos" data-offset-y="20"&gt;ABS&lt;/span&gt;
            &lt;span class="relpos" data-offset-y="20"&gt;REL&lt;/span&gt;
            &lt;div class="overflow"&gt;OVERFLOW&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      offsetTop expected 20 but got 19
      

    • FAIL [expected PASS] subtest: .test 6: flex-start

      assert_equals: 
      &lt;div class="test" style="align-content: flex-start" title="flex-start"&gt;
          &lt;div class="in-flow" data-offset-y="35"&gt;&lt;/div&gt;
          &lt;div class="in-flow"&gt;
            &lt;span class="label"&gt;FLEX-START&lt;/span&gt;
            &lt;span class="abspos" data-offset-y="20"&gt;ABS&lt;/span&gt;
            &lt;span class="relpos" data-offset-y="20"&gt;REL&lt;/span&gt;
            &lt;div class="overflow"&gt;OVERFLOW&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      offsetTop expected 20 but got 19
      

    • FAIL [expected PASS] subtest: .test 7: flex-end

      assert_equals: 
      &lt;div class="test" style="align-content: flex-end" title="flex-end"&gt;
          &lt;div class="in-flow" data-offset-y="35"&gt;&lt;/div&gt;
          &lt;div class="in-flow"&gt;
            &lt;span class="label"&gt;FLEX-END&lt;/span&gt;
            &lt;span class="abspos" data-offset-y="20"&gt;ABS&lt;/span&gt;
            &lt;span class="relpos" data-offset-y="20"&gt;REL&lt;/span&gt;
            &lt;div class="overflow"&gt;OVERFLOW&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      offsetTop expected 20 but got 19
      

    • FAIL [expected PASS] subtest: .test 8: unsafe start

      assert_equals: 
      &lt;div class="test" style="align-content: unsafe start" title="unsafe start"&gt;
          &lt;div class="in-flow" data-offset-y="35"&gt;&lt;/div&gt;
          &lt;div class="in-flow"&gt;
            &lt;span class="label"&gt;UNSAFE START&lt;/span&gt;
            &lt;span class="abspos" data-offset-y="20"&gt;ABS&lt;/span&gt;
            &lt;span class="relpos" data-offset-y="20"&gt;REL&lt;/span&gt;
            &lt;div class="overflow"&gt;OVERFLOW&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      offsetTop expected 20 but got 19
      

    • FAIL [expected PASS] subtest: .test 11: safe start

      assert_equals: 
      &lt;div class="test" style="align-content: safe start" title="safe start"&gt;
          &lt;div class="in-flow" data-offset-y="35"&gt;&lt;/div&gt;
          &lt;div class="in-flow"&gt;
            &lt;span class="label"&gt;SAFE START&lt;/span&gt;
            &lt;span class="abspos" data-offset-y="20"&gt;ABS&lt;/span&gt;
            &lt;span class="relpos" data-offset-y="20"&gt;REL&lt;/span&gt;
            &lt;div class="overflow"&gt;OVERFLOW&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      offsetTop expected 20 but got 19
      

    • FAIL [expected PASS] subtest: .test 12: safe center

      assert_equals: 
      &lt;div class="test" style="align-content: safe center" title="safe center"&gt;
          &lt;div class="in-flow" data-offset-y="35"&gt;&lt;/div&gt;
          &lt;div class="in-flow"&gt;
            &lt;span class="label"&gt;SAFE CENTER&lt;/span&gt;
            &lt;span class="abspos" data-offset-y="20"&gt;ABS&lt;/span&gt;
            &lt;span class="relpos" data-offset-y="20"&gt;REL&lt;/span&gt;
            &lt;div class="overflow"&gt;OVERFLOW&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      offsetTop expected 20 but got 19
      

    • And 5 more unexpected results...
  • FAIL [expected PASS] /css/css-grid/grid-items/grid-auto-margin-and-replaced-item-001.html (#37162)
  • ERROR [expected TIMEOUT] /fetch/fetch-later/quota/same-origin-iframe/max-payload.tentative.https.window.html (#35210)
  • OK /fetch/metadata/generated/css-font-face.https.sub.tentative.html (#32732)
    • PASS [expected FAIL] subtest: sec-fetch-storage-access - Same site
  • OK /fetch/metadata/generated/css-font-face.sub.tentative.html (#34624)
    • PASS [expected FAIL] subtest: sec-fetch-storage-access - Not sent to non-trustworthy cross-site destination
  • OK /html/browsers/browsing-the-web/navigating-across-documents/008.html (#24456)
    • PASS [expected FAIL] subtest: Link with onclick form submit to javascript url and href navigation
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html (#28681)
    • PASS [expected FAIL] subtest: load &amp; pageshow events do not fire on contentWindow of &lt;iframe&gt; element created with src=''
  • OK /html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html (#28697)
    • FAIL [expected PASS] subtest: aElement.click() before the load event must NOT replace

      assert_equals: expected "http://web-platform.test:8000/common/blank.html?thereplacement" but got "http://web-platform.test:8000/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/resources/code-injector.html?pipe=sub(none)&amp;code=%0A%20%20%20%20const%20a%20%3D%20document.createElement(%22a%22)%3B%0A%20%20%20%20a.href%20%3D%20%22%2Fcommon%2Fblank.html%3Fthereplacement%22%3B%0A%20%20%20%20document.currentScript.before(a)%3B%0A%20%20%20%20a.click()%3B%0A%20%20"
      

  • OK /html/browsers/history/the-history-interface/traverse_the_history_4.html (#21383)
    • FAIL [expected PASS] subtest: Multiple history traversals, last would be aborted

      assert_array_equals: Pages opened during history navigation lengths differ, expected array [6, 5] length 2, got [6, 3, 3] length 3
      

  • OK /html/browsers/windows/browsing-context-names/duplicate-name-order.html (#34623)
    • FAIL [expected PASS] subtest: Duplicate name lookup order

      assert_equals: subtree first expected "ChildA" but got "SiblingA"
      

  • TIMEOUT /html/interaction/focus/the-autofocus-attribute/supported-elements.html (#24145)
    • TIMEOUT [expected NOTRUN] subtest: Host element with delegatesFocus should support autofocus

      Test timed out
      

  • OK /html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-reload-location-reload.html (#32595)
    • FAIL [expected PASS] subtest: Reloading iframe loading='lazy' before it is loaded: location.reload

      uncaught exception: Error: assert_equals: expected "http://web-platform.test:8000/html/semantics/embedded-content/the-iframe-element/support/blank.htm?src" but got "about:blank"
      

  • TIMEOUT [expected OK] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html (#24066)
    • NOTRUN [expected FAIL] subtest: Check that popups from a sandboxed iframe do not escape the sandbox
  • OK /navigation-timing/test-navigation-type-reload.html (#33334)
    • PASS [expected FAIL] subtest: Reload domContentLoadedEventEnd &gt; Original domContentLoadedEventEnd
  • OK [expected TIMEOUT] /performance-timeline/navigation-id-detached-frame.tentative.html (#34773)
    • PASS [expected TIMEOUT] subtest: The navigation_id getter does not crash a window of detached frame
  • OK /preload/preload-error.sub.html (#37177)
    • FAIL [expected PASS] subtest: 404 (style): main

      assert_greater_than: http://web-platform.test:8000/preload/resources/dummy.css?pipe=status%28404%29&amp;label=style should be loaded expected a number greater than 0 but got 0
      

    • FAIL [expected PASS] subtest: success (xhr): main

      assert_greater_than: http://web-platform.test:8000/preload/resources/dummy.xml?label=xhr should be loaded expected a number greater than 0 but got 0
      

    • PASS [expected FAIL] subtest: 404 (xhr): main
    • FAIL [expected PASS] subtest: MIME-error (script): main

      assert_greater_than: http://web-platform.test:8000/preload/resources/dummy.css?pipe=header%28Content-Type%2Ctext%2Fnotjavascript%29&amp;label=script should be loaded expected a number greater than 0 but got 0
      

  • OK /webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html (#22849)
    • FAIL [expected PASS] subtest: X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}. Index Actual Expected AbsError RelError Test threshold [14741] -2.4015002107407649e-27 4.5811137557029724e-1 4.5811137557029724e-1 1.0000000000000000e+0 3.8985999999999999e-3 [14742] 3.7735444307327271e-1 5.1289927959442139e-1 1.3554483652114868e-1 2.6427184032765982e-1 3.8985999999999999e-3 Max AbsError of 4.5811137557029724e-1 at index of 14741. Max RelError of 1.0000000000000000e+0 at index of 14741.

      assert_true: expected true got false
      

    • FAIL [expected PASS] subtest: X SNR (49.74066048759468 dB) is not greater than or equal to 65.737. Got 49.74066048759468.

      assert_true: expected true got false
      

  • TIMEOUT [expected OK] /webmessaging/with-ports/017.html (#24486)
    • TIMEOUT [expected PASS] subtest: origin of the script that invoked the method, about:blank

      Test timed out
      

  • TIMEOUT [expected OK] /webmessaging/without-ports/017.html (#24486)
    • TIMEOUT [expected PASS] subtest: origin of the script that invoked the method, about:blank

      Test timed out
      

Stable unexpected results (3)
  • CRASH [expected OK] /html/canvas/element/manual/imagebitmap/canvas-createImageBitmap-resize.html
  • OK /trusted-types/script-enforcement-008.https.html
    • PASS [expected FAIL] subtest: script-src CSP directive is properly set.
  • OK /trusted-types/script-enforcement-009.https.html
    • PASS [expected FAIL] subtest: script-src CSP directive is properly set.

Copy link

⚠️ Try run (#15749931750) failed.

@jdm
Copy link
Member Author

jdm commented Jun 19, 2025

Replicated the segfault in a WPT test:

0:01.43 TEST_START: /html/canvas/element/manual/imagebitmap/canvas-createImageBitmap-resize.html
 0:01.43 WARNING Got command init_succeeded in state running
 0:01.69 pid:95293 Full command: /Users/jdm/src/alt-servo/target/debug/servo --hard-fail -u Servo/wptrunner --ignore-certificate-errors --enable-experimental-web-platform-features -z http://web-platform.test:8000/html/canvas/element/manual/imagebitmap/canvas-createImageBitmap-resize.html --user-stylesheet /Users/jdm/src/alt-servo/tests/wpt/tests/fonts/ahem.css --pref dom_serviceworker_enabled=true --pref dom_testutils_enabled=true --prefs-file /Users/jdm/src/alt-servo/resources/wpt-prefs.json --certificate-path /Users/jdm/src/alt-servo/tests/wpt/tests/tools/certs/cacert.pem
pid:95293 Caught signal 10 in thread "Script(1,1)"
 0:03.14 pid:95293    0: backtrace::backtrace::libunwind::trace
 0:03.14 pid:95293              at /Users/jdm/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.75/src/backtrace/libunwind.rs:117:9
 0:03.14 pid:95293       backtrace::backtrace::trace_unsynchronized
 0:03.14 pid:95293              at /Users/jdm/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.75/src/backtrace/mod.rs:66:14
 0:03.14 pid:95293    1: <servoshell::backtrace::Print as core::fmt::Debug>::fmt
 0:03.14 pid:95293              at /Users/jdm/src/alt-servo/ports/servoshell/backtrace.rs:65:13
 0:03.15 pid:95293    2: core::fmt::rt::Argument::fmt
 0:03.15 pid:95293              at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/fmt/rt.rs:177:76
 0:03.15 pid:95293       core::fmt::write
 0:03.15 pid:95293              at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/fmt/mod.rs:1440:21
 0:03.15 pid:95293    3: std::io::Write::write_fmt
 0:03.15 pid:95293              at /Users/jdm/.rustup/toolchains/1.85.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/io/mod.rs:1887:15
 0:03.15 pid:95293    4: servoshell::backtrace::print
 0:03.15 pid:95293              at /Users/jdm/src/alt-servo/ports/servoshell/backtrace.rs:18:5
 0:03.15 pid:95293    5: servoshell::crash_handler::install::handler
 0:03.15 pid:95293              at /Users/jdm/src/alt-servo/ports/servoshell/crash_handler.rs:38:21
 0:03.15 pid:95293    6: __os_alloc_slow
 0:03.15 pid:95293    7: <mozjs::typedarray::ClampedU8 as mozjs::typedarray::TypedArrayElement>::unwrap_array
 0:03.15 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs/src/typedarray.rs:298:17
 0:03.15 pid:95293    8: <mozjs::typedarray::ClampedU8 as mozjs::typedarray::TypedArrayElement>::unwrap_array
 0:03.15 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs/src/typedarray.rs:298:17
 0:03.18 pid:95293    9: mozjs::typedarray::TypedArray<T,S>::from
 0:03.18 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs/src/typedarray.rs:149:29
 0:03.19 pid:95293   10: script::dom::bindings::buffer_source::HeapBufferSource<T>::get_typed_array
 0:03.19 pid:95293              at /Users/jdm/src/alt-servo/components/script/dom/bindings/buffer_source.rs:146:9
 0:03.21 pid:95293   11: script::dom::imagedata::ImageData::new_with_data
 0:03.21 pid:95293              at /Users/jdm/src/alt-servo/components/script/dom/imagedata.rs:81:33
 0:03.21 pid:95293   12: script::dom::imagedata::ImageData::new
 0:03.21 pid:95293              at /Users/jdm/src/alt-servo/components/script/dom/imagedata.rs:63:17
 0:03.23 pid:95293   13: script::canvas_state::CanvasState::get_image_data
 0:03.23 pid:95293              at /Users/jdm/src/alt-servo/components/script/canvas_state.rs:1588:9
 0:03.24 pid:95293   14: <script::dom::canvasrenderingcontext2d::CanvasRenderingContext2D as script_bindings::codegen::GenericBindings::CanvasRenderingContext2DBinding::CanvasRenderingContext2D_Binding::CanvasRenderingContext2DMethods<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder>>::GetImageData
 0:03.24 pid:95293              at /Users/jdm/src/alt-servo/components/script/dom/canvasrenderingcontext2d.rs:541:9
 0:03.26 pid:95293   15: script_bindings::codegen::GenericBindings::CanvasRenderingContext2DBinding::CanvasRenderingContext2D_Binding::getImageData::{{closure}}::{{closure}}
 0:03.26 pid:95293              at /Users/jdm/src/alt-servo/target/debug/build/script_bindings-d9215f8debe9d190/out/Bindings/CanvasRenderingContext2DBinding.rs:3008:60
 0:03.26 pid:95293   16: script_bindings::codegen::GenericBindings::CanvasRenderingContext2DBinding::CanvasRenderingContext2D_Binding::getImageData::{{closure}}
 0:03.26 pid:95293              at /Users/jdm/src/alt-servo/target/debug/build/script_bindings-d9215f8debe9d190/out/Bindings/CanvasRenderingContext2DBinding.rs:2946:33
 0:03.26 pid:95293   17: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once
 0:03.26 pid:95293              at /Users/jdm/.rustup/toolchains/1.85.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:305:13
 0:03.26 pid:95293   18: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
 0:03.26 pid:95293              at /Users/jdm/.rustup/toolchains/1.85.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:272:9
 0:03.26 pid:95293   19: std::panicking::try::do_call
 0:03.26 pid:95293              at /Users/jdm/.rustup/toolchains/1.85.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:584:40
 0:03.26 pid:95293   20: ___rust_try
 0:03.26 pid:95293   21: std::panicking::try
 0:03.26 pid:95293              at /Users/jdm/.rustup/toolchains/1.85.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:547:19
 0:03.26 pid:95293       std::panic::catch_unwind
 0:03.26 pid:95293              at /Users/jdm/.rustup/toolchains/1.85.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panic.rs:358:14
 0:03.26 pid:95293   22: mozjs::panic::wrap_panic
 0:03.26 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs/src/panic.rs:22:11
 0:03.26 pid:95293   23: script_bindings::codegen::GenericBindings::CanvasRenderingContext2DBinding::CanvasRenderingContext2D_Binding::getImageData
 0:03.26 pid:95293              at /Users/jdm/src/alt-servo/target/debug/build/script_bindings-d9215f8debe9d190/out/Bindings/CanvasRenderingContext2DBinding.rs:2946:5
 0:03.27 pid:95293   24: CallJitMethodOp
 0:03.27 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs-sys/./src/jsglue.cpp:582:10
 0:03.28 pid:95293   25: script_bindings::utils::generic_call
 0:03.28 pid:95293              at /Users/jdm/src/alt-servo/components/script_bindings/utils.rs:401:5
 0:03.29 pid:95293   26: script_bindings::utils::generic_method
 0:03.29 pid:95293              at /Users/jdm/src/alt-servo/components/script_bindings/utils.rs:421:5
 0:03.36 pid:95293   27: _Z12CallJSNativeP9JSContextPFbS0_jPN2JS5ValueEEN2js10CallReasonERKNS1_8CallArgsE
 0:03.36 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs-sys/mozjs/js/src/vm/Interpreter.cpp:493:13
 0:03.36 pid:95293       _ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructENS_10CallReasonE
 0:03.36 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs-sys/mozjs/js/src/vm/Interpreter.cpp:589:12
 0:03.37 pid:95293   28: _ZL12InternalCallP9JSContextRKN2js13AnyInvokeArgsENS1_10CallReasonE
 0:03.37 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs-sys/mozjs/js/src/vm/Interpreter.cpp:656:10
 0:03.37 pid:95293       _ZN2js13CallFromStackEP9JSContextRKN2JS8CallArgsENS_10CallReasonE
 0:03.37 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs-sys/mozjs/js/src/vm/Interpreter.cpp:661:10
 0:03.37 pid:95293       _ZN2js9InterpretEP9JSContextRNS_8RunStateE
 0:03.37 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs-sys/mozjs/js/src/vm/Interpreter.cpp:3265:16
 0:03.37 pid:95293   29: _ZL31MaybeEnterInterpreterTrampolineP9JSContextRN2js8RunStateE
 0:03.37 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs-sys/mozjs/js/src/vm/Interpreter.cpp:394:10
 0:03.37 pid:95293       _ZN2js9RunScriptEP9JSContextRNS_8RunStateE
 0:03.37 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs-sys/mozjs/js/src/vm/Interpreter.cpp:463:13
 0:03.37 pid:95293   30: _ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructENS_10CallReasonE
 0:03.37 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs-sys/mozjs/js/src/vm/Interpreter.cpp:621:13
 0:03.37 pid:95293   31: _ZL12InternalCallP9JSContextRKN2js13AnyInvokeArgsENS1_10CallReasonE
 0:03.37 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs-sys/mozjs/js/src/vm/Interpreter.cpp:656:10
 0:03.38 pid:95293       _ZN2js4CallEP9JSContextN2JS6HandleINS2_5ValueEEES5_RKNS_13AnyInvokeArgsENS2_13MutableHandleIS4_EENS_10CallReasonE
 0:03.38 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs-sys/mozjs/js/src/vm/Interpreter.cpp:688:8
 0:03.45 pid:95293   32: _ZN2js4CallEP9JSContextN2JS6HandleINS2_5ValueEEES5_S5_NS2_13MutableHandleIS4_EE
 0:03.45 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs-sys/mozjs/js/src/vm/Interpreter.h:120:10
 0:03.45 pid:95293       _ZL18PromiseReactionJobP9JSContextjPN2JS5ValueE
 0:03.45 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs-sys/mozjs/js/src/builtin/Promise.cpp:2365:10
 0:03.45 pid:95293   33: _Z12CallJSNativeP9JSContextPFbS0_jPN2JS5ValueEEN2js10CallReasonERKNS1_8CallArgsE
 0:03.45 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs-sys/mozjs/js/src/vm/Interpreter.cpp:493:13
 0:03.45 pid:95293       _ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructENS_10CallReasonE
 0:03.45 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs-sys/mozjs/js/src/vm/Interpreter.cpp:589:12
 0:03.45 pid:95293   34: _ZL12InternalCallP9JSContextRKN2js13AnyInvokeArgsENS1_10CallReasonE
 0:03.45 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs-sys/mozjs/js/src/vm/Interpreter.cpp:656:10
 0:03.45 pid:95293       _ZN2js4CallEP9JSContextN2JS6HandleINS2_5ValueEEES5_RKNS_13AnyInvokeArgsENS2_13MutableHandleIS4_EENS_10CallReasonE
 0:03.45 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs-sys/mozjs/js/src/vm/Interpreter.cpp:688:8
 0:03.51 pid:95293   35: _ZN2JS4CallEP9JSContextNS_6HandleINS_5ValueEEES4_RKNS_16HandleValueArrayENS_13MutableHandleIS3_EE
 0:03.51 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs-sys/mozjs/js/src/vm/CallAndConstruct.cpp:119:10
 0:03.52 pid:95293   36: mozjs::rust::wrappers::Call
 0:03.52 pid:95293              at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs/src/rust.rs:1180:51
 0:03.54 pid:95293   37: script_bindings::codegen::GenericBindings::PromiseBinding::PromiseJobCallback<D>::Call
 0:03.54 pid:95293              at /Users/jdm/src/alt-servo/target/debug/build/script_bindings-d9215f8debe9d190/out/Bindings/PromiseBinding.rs:51:18
 0:03.54 pid:95293   38: script_bindings::codegen::GenericBindings::PromiseBinding::PromiseJobCallback<D>::Call_
 0:03.54 pid:95293              at /Users/jdm/src/alt-servo/target/debug/build/script_bindings-d9215f8debe9d190/out/Bindings/PromiseBinding.rs:35:18
 0:03.56 pid:95293   39: script::microtask::MicrotaskQueue::checkpoint
 0:03.56 pid:95293              at /Users/jdm/src/alt-servo/components/script/microtask.rs:121:37
 0:03.57 pid:95293   40: script::script_thread::ScriptThread::perform_a_microtask_checkpoint
 0:03.57 pid:95293              at /Users/jdm/src/alt-servo/components/script/script_thread.rs:4019:13
 0:03.57 pid:95293   41: script::script_thread::ScriptThread::handle_msgs
 0:03.57 pid:95293              at /Users/jdm/src/alt-servo/components/script/script_thread.rs:1668:13
 0:03.57 pid:95293   42: script::script_thread::ScriptThread::start
 0:03.57 pid:95293              at /Users/jdm/src/alt-servo/components/script/script_thread.rs:1015:15
 0:03.59 pid:95293   43: <script::script_thread::ScriptThread as script_layout_interface::ScriptThreadFactory>::create::{{closure}}::{{closure}}
 0:03.59 pid:95293              at /Users/jdm/src/alt-servo/components/script/script_thread.rs:448:25
 0:03.60 pid:95293   44: profile_traits::mem::ProfilerChan::run_with_memory_reporting
 0:03.60 pid:95293              at /Users/jdm/src/alt-servo/components/shared/profile/mem.rs:131:9
 0:03.60 pid:95293   45: <script::script_thread::ScriptThread as script_layout_interface::ScriptThreadFactory>::create::{{closure}}
 0:03.60 pid:95293              at /Users/jdm/src/alt-servo/components/script/script_thread.rs:446:17
 0:03.62 pid:95293   46: std::sys::backtrace::__rust_begin_short_backtrace
 0:03.62 pid:95293              at /Users/jdm/.rustup/toolchains/1.85.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/sys/backtrace.rs:152:18
 0:03.64 pid:95293   47: std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}
 0:03.64 pid:95293              at /Users/jdm/.rustup/toolchains/1.85.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/thread/mod.rs:564:17
 0:03.65 pid:95293   48: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
 0:03.65 pid:95293              at /Users/jdm/.rustup/toolchains/1.85.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:272:9
 0:03.67 pid:95293   49: std::panicking::try::do_call
 0:03.67 pid:95293              at /Users/jdm/.rustup/toolchains/1.85.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:584:40
 0:03.67 pid:95293   50: ___rust_try
 0:03.67 pid:95293   51: std::panicking::try
 0:03.67 pid:95293              at /Users/jdm/.rustup/toolchains/1.85.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:547:19
 0:03.67 pid:95293       std::panic::catch_unwind
 0:03.67 pid:95293              at /Users/jdm/.rustup/toolchains/1.85.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panic.rs:358:14
 0:03.67 pid:95293       std::thread::Builder::spawn_unchecked_::{{closure}}
 0:03.67 pid:95293              at /Users/jdm/.rustup/toolchains/1.85.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/thread/mod.rs:562:30
 0:03.88 pid:95293   52: core::ops::function::FnOnce::call_once{{vtable.shim}}
 0:03.88 pid:95293              at /Users/jdm/.rustup/toolchains/1.85.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
 0:03.92 pid:95293   53: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
 0:03.92 pid:95293              at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/alloc/src/boxed.rs:1993:9
 0:03.92 pid:95293       <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
 0:03.92 pid:95293              at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/alloc/src/boxed.rs:1993:9
 0:03.92 pid:95293       std::sys::pal::unix::thread::Thread::new::thread_start
 0:03.92 pid:95293              at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/sys/pal/unix/thread.rs:106:17
 0:03.92 pid:95293   54: __pthread_deallocate
 0:03.94 TEST_END: CRASH, expected OK

And with --debug-mozjs:

0:01.50 TEST_START: /html/canvas/element/manual/imagebitmap/canvas-createImageBitmap-resize.html
 0:01.50 WARNING Got command init_succeeded in state running
 0:04.44 pid:99358 Full command: /Users/jdm/src/alt-servo/target/debug/servo --hard-fail -u Servo/wptrunner --ignore-certificate-errors --enable-experimental-web-platform-features -z http://web-platform.test:8000/html/canvas/element/manual/imagebitmap/canvas-createImageBitmap-resize.html --user-stylesheet /Users/jdm/src/alt-servo/tests/wpt/tests/fonts/ahem.css --pref dom_serviceworker_enabled=true --pref dom_testutils_enabled=true --prefs-file /Users/jdm/src/alt-servo/resources/wpt-prefs.json --certificate-path /Users/jdm/src/alt-servo/tests/wpt/tests/tools/certs/cacert.pem
pid:99358 [99358] Assertion failure: this->flags() == 0, at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs-sys/mozjs/js/src/gc/Cell.h:778
 0:04.47 pid:99358 #01: js::gc::CellWithTenuredGCPointer<js::gc::Cell, js::Shape>::headerPtr() const[/Users/jdm/src/alt-servo/target/debug/servo +0x34079b4]
 0:04.47 pid:99358 #02: JSObject::shape() const[/Users/jdm/src/alt-servo/target/debug/servo +0x340791c]
 0:04.47 pid:99358 #03: JSObject::getClass() const[/Users/jdm/src/alt-servo/target/debug/servo +0x3406cdc]
 0:04.48 pid:99358 #04: bool JSObject::is<js::TypedArrayObject>() const[/Users/jdm/src/alt-servo/target/debug/servo +0x34a52f4]
 0:04.48 pid:99358 #05: js::TypedArrayObject* JSObject::maybeUnwrapIf<js::TypedArrayObject>()[/Users/jdm/src/alt-servo/target/debug/servo +0x3a79b1c]
 0:04.48 pid:99358 #06: js::UnwrapUint8ClampedArray(JSObject*)[/Users/jdm/src/alt-servo/target/debug/servo +0x3a7ca48]
 0:04.49 pid:99358 #07: _$LT$mozjs..typedarray..ClampedU8$u20$as$u20$mozjs..typedarray..TypedArrayElement$GT$::unwrap_array::hac6b06fe2c5229b0[/Users/jdm/src/alt-servo/target/debug/servo +0x33ec658]
 0:04.49 pid:99358 #08: mozjs::typedarray::TypedArray$LT$T$C$S$GT$::from::h60526a85a4b9a638[/Users/jdm/src/alt-servo/target/debug/servo +0x236e624]
 0:04.49 pid:99358 #09: script::dom::bindings::buffer_source::HeapBufferSource$LT$T$GT$::get_typed_array::h3a16acd7e09dc2b5[/Users/jdm/src/alt-servo/target/debug/servo +0x11ecc74]
 0:04.49 pid:99358 #10: script::dom::imagedata::ImageData::new_with_data::hb38804c2821ca45b[/Users/jdm/src/alt-servo/target/debug/servo +0x156d710]
 0:04.49 pid:99358 #11: script::dom::imagedata::ImageData::new::hf189019b40a87f62[/Users/jdm/src/alt-servo/target/debug/servo +0x156d638]
 0:04.50 pid:99358 #12: script::canvas_state::CanvasState::get_image_data::he0c0678e1e8b4323[/Users/jdm/src/alt-servo/target/debug/servo +0x1743460]
 0:04.50 pid:99358 #13: _$LT$script..dom..canvasrenderingcontext2d..CanvasRenderingContext2D$u20$as$u20$script_bindings..codegen..GenericBindings..CanvasRenderingContext2DBinding..CanvasRenderingContext2D_Binding..CanvasRenderingContext2DMethods$LT$script..dom..bindings..codegen[/Users/jdm/src/alt-servo/target/debug/servo +0x1cb2aac]
 0:04.50 pid:99358 #14: script_bindings::codegen::GenericBindings::CanvasRenderingContext2DBinding::CanvasRenderingContext2D_Binding::getImageData::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h77c6c00cbe32ddc8[/Users/jdm/src/alt-servo/target/debug/servo +0x1629a08]
 0:04.50 pid:99358 #15: script_bindings::codegen::GenericBindings::CanvasRenderingContext2DBinding::CanvasRenderingContext2D_Binding::getImageData::_$u7b$$u7b$closure$u7d$$u7d$::h6b1d7403c4ee8362[/Users/jdm/src/alt-servo/target/debug/servo +0x1629528]
 0:04.50 pid:99358 #16: core::ops::function::impls::_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$::call_once::h3794fc22023cb570[/Users/jdm/src/alt-servo/target/debug/servo +0x33f1e88]
 0:04.51 pid:99358 #17: _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h73750f6a8f6dcde7[/Users/jdm/src/alt-servo/target/debug/servo +0x33ec85c]
 0:04.51 pid:99358 #18: std::panicking::try::do_call::h34bb780c87608c8e[/Users/jdm/src/alt-servo/target/debug/servo +0x33ea474]
 0:04.51 pid:99358 #19: __rust_try[/Users/jdm/src/alt-servo/target/debug/servo +0x33f3364]
 0:04.51 pid:99358 #20: std::panic::catch_unwind::hea3f0e1041a57c46[/Users/jdm/src/alt-servo/target/debug/servo +0x33f1a20]
 0:04.52 pid:99358 #21: mozjs::panic::wrap_panic::he5e7f197aad00cbe[/Users/jdm/src/alt-servo/target/debug/servo +0x33f0358]
 0:04.52 pid:99358 #22: script_bindings::codegen::GenericBindings::CanvasRenderingContext2DBinding::CanvasRenderingContext2D_Binding::getImageData::h29f4b74923ea475e[/Users/jdm/src/alt-servo/target/debug/servo +0x16294d4]
 0:04.52 pid:99358 #23: CallJitMethodOp[/Users/jdm/src/alt-servo/target/debug/servo +0x51b846c]
 0:04.52 pid:99358 #24: script_bindings::utils::generic_call::h354947a4d92d928c[/Users/jdm/src/alt-servo/target/debug/servo +0x32e0920]
 0:04.53 pid:99358 #25: script_bindings::utils::generic_method::hd77fbffe3f8609b7[/Users/jdm/src/alt-servo/target/debug/servo +0x1f0026c]
 0:04.53 pid:99358 #26: CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&)[/Users/jdm/src/alt-servo/target/debug/servo +0x34505e0]
 0:04.53 pid:99358 #27: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)[/Users/jdm/src/alt-servo/target/debug/servo +0x344ff98]
 0:04.53 pid:99358 #28: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason)[/Users/jdm/src/alt-servo/target/debug/servo +0x3450f40]
 0:04.54 pid:99358 #29: js::CallFromStack(JSContext*, JS::CallArgs const&, js::CallReason)[/Users/jdm/src/alt-servo/target/debug/servo +0x3450d90]
 0:04.54 pid:99358 #30: js::Interpret(JSContext*, js::RunState&)[/Users/jdm/src/alt-servo/target/debug/servo +0x3460480]
 0:04.54 pid:99358 #31: MaybeEnterInterpreterTrampoline(JSContext*, js::RunState&)[/Users/jdm/src/alt-servo/target/debug/servo +0x344f958]
 0:04.54 pid:99358 #32: js::RunScript(JSContext*, js::RunState&)[/Users/jdm/src/alt-servo/target/debug/servo +0x344f3ec]
 0:04.54 pid:99358 #33: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)[/Users/jdm/src/alt-servo/target/debug/servo +0x34501ac]
 0:04.55 pid:99358 #34: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason)[/Users/jdm/src/alt-servo/target/debug/servo +0x3450f40]
 0:04.55 pid:99358 #35: js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason)[/Users/jdm/src/alt-servo/target/debug/servo +0x34510e8]
 0:04.55 pid:99358 #36: js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)[/Users/jdm/src/alt-servo/target/debug/servo +0x3530384]
 0:04.55 pid:99358 #37: PromiseReactionJob(JSContext*, unsigned int, JS::Value*)[/Users/jdm/src/alt-servo/target/debug/servo +0x38d2a94]
 0:04.56 pid:99358 #38: CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&)[/Users/jdm/src/alt-servo/target/debug/servo +0x34505e0]
 0:04.56 pid:99358 #39: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)[/Users/jdm/src/alt-servo/target/debug/servo +0x344ff98]
 0:04.56 pid:99358 #40: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason)[/Users/jdm/src/alt-servo/target/debug/servo +0x3450f40]
 0:04.56 pid:99358 #41: js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason)[/Users/jdm/src/alt-servo/target/debug/servo +0x34510e8]
 0:04.57 pid:99358 #42: JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>)[/Users/jdm/src/alt-servo/target/debug/servo +0x365cd20]
 0:04.57 pid:99358 #43: mozjs::rust::wrappers::Call::h95717679b87203a7[/Users/jdm/src/alt-servo/target/debug/servo +0x2418620]
 0:04.57 pid:99358 #44: script_bindings::codegen::GenericBindings::PromiseBinding::PromiseJobCallback$LT$D$GT$::Call::h8160d9ee66abd42b[/Users/jdm/src/alt-servo/target/debug/servo +0x1c86a00]
 0:04.57 pid:99358 #45: script_bindings::codegen::GenericBindings::PromiseBinding::PromiseJobCallback$LT$D$GT$::Call_::h058cf7974395842f[/Users/jdm/src/alt-servo/target/debug/servo +0x1c86c64]
 0:04.57 pid:99358 #46: script::microtask::MicrotaskQueue::checkpoint::h5f7a448b84fcbdcc[/Users/jdm/src/alt-servo/target/debug/servo +0x2037b78]
 0:04.58 pid:99358 #47: script::script_thread::ScriptThread::perform_a_microtask_checkpoint::h4b477a908702c57f[/Users/jdm/src/alt-servo/target/debug/servo +0x178df6c]
 0:04.58 pid:99358 #48: script::script_thread::ScriptThread::handle_msgs::h13d53a17a49a8c09[/Users/jdm/src/alt-servo/target/debug/servo +0x1778d88]
 0:04.58 pid:99358 #49: script::script_thread::ScriptThread::start::hddeb36b5c134bda8[/Users/jdm/src/alt-servo/target/debug/servo +0x177564c]
 0:04.58 pid:99358 #50: _$LT$script..script_thread..ScriptThread$u20$as$u20$script_layout_interface..ScriptThreadFactory$GT$::create::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7a422ef48fc3754b[/Users/jdm/src/alt-servo/target/debug/servo +0x2cff01c]
 0:04.58 pid:99358 #51: profile_traits::mem::ProfilerChan::run_with_memory_reporting::h1d2d4a3dd351c87c[/Users/jdm/src/alt-servo/target/debug/servo +0x195952c]
 0:04.59 pid:99358 #52: _$LT$script..script_thread..ScriptThread$u20$as$u20$script_layout_interface..ScriptThreadFactory$GT$::create::_$u7b$$u7b$closure$u7d$$u7d$::h39c080ae39bbe434[/Users/jdm/src/alt-servo/target/debug/servo +0x2cfeeb8]
 0:04.59 pid:99358 #53: std::sys::backtrace::__rust_begin_short_backtrace::h052b999847b8f3d4[/Users/jdm/src/alt-servo/target/debug/servo +0x1d64db4]
 0:04.59 pid:99358 #54: std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hafb4072babfc5e89[/Users/jdm/src/alt-servo/target/debug/servo +0x259a5f4]
 0:04.59 pid:99358 #55: _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hc202c2c3ff9f5e15[/Users/jdm/src/alt-servo/target/debug/servo +0x2020cdc]
 0:04.60 pid:99358 #56: std::panicking::try::do_call::h224082c61f0f1a79[/Users/jdm/src/alt-servo/target/debug/servo +0x20b5bf8]
 0:04.60 pid:99358 #57: __rust_try[/Users/jdm/src/alt-servo/target/debug/servo +0x259e678]
 0:04.60 pid:99358 #58: std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::ha2b36b6412a76086[/Users/jdm/src/alt-servo/target/debug/servo +0x259974c]
 0:04.60 pid:99358 #59: core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h7ac234a49af00dfe[/Users/jdm/src/alt-servo/target/debug/servo +0x1a8fcc8]
 0:04.63 pid:99358 #60: std::sys::pal::unix::thread::Thread::new::thread_start::h02b173395cbbc15c[/Users/jdm/src/alt-servo/target/debug/servo +0x890a250]
 0:04.63 pid:99358 #61: _pthread_start[/usr/lib/system/libsystem_pthread.dylib +0x72e4]

Weirdly, running ./mach test-wpt /html/canvas/element/manual/imagebitmap/canvas-createImageBitmap-resize.html --headless --pref js_mem_gc_zeal_level=2 --pref js_mem_gc_zeal_frequency=1 --timeout-multiplier=20 made it go away.

@sagudev
Copy link
Member

sagudev commented Jun 22, 2025

Replicated the segfault in a WPT test:

And with --debug-mozjs:

0:01.50 TEST_START: /html/canvas/element/manual/imagebitmap/canvas-createImageBitmap-resize.html
 0:01.50 WARNING Got command init_succeeded in state running
 0:04.44 pid:99358 Full command: /Users/jdm/src/alt-servo/target/debug/servo --hard-fail -u Servo/wptrunner --ignore-certificate-errors --enable-experimental-web-platform-features -z http://web-platform.test:8000/html/canvas/element/manual/imagebitmap/canvas-createImageBitmap-resize.html --user-stylesheet /Users/jdm/src/alt-servo/tests/wpt/tests/fonts/ahem.css --pref dom_serviceworker_enabled=true --pref dom_testutils_enabled=true --prefs-file /Users/jdm/src/alt-servo/resources/wpt-prefs.json --certificate-path /Users/jdm/src/alt-servo/tests/wpt/tests/tools/certs/cacert.pem
pid:99358 [99358] Assertion failure: this->flags() == 0, at /Users/jdm/.cargo/git/checkouts/mozjs-95c48a4de670b647/ec7a8ab/mozjs-sys/mozjs/js/src/gc/Cell.h:778
 0:04.47 pid:99358 #01: js::gc::CellWithTenuredGCPointer<js::gc::Cell, js::Shape>::headerPtr() const[/Users/jdm/src/alt-servo/target/debug/servo +0x34079b4]
 0:04.47 pid:99358 #02: JSObject::shape() const[/Users/jdm/src/alt-servo/target/debug/servo +0x340791c]
 0:04.47 pid:99358 #03: JSObject::getClass() const[/Users/jdm/src/alt-servo/target/debug/servo +0x3406cdc]
 0:04.48 pid:99358 #04: bool JSObject::is<js::TypedArrayObject>() const[/Users/jdm/src/alt-servo/target/debug/servo +0x34a52f4]
 0:04.48 pid:99358 #05: js::TypedArrayObject* JSObject::maybeUnwrapIf<js::TypedArrayObject>()[/Users/jdm/src/alt-servo/target/debug/servo +0x3a79b1c]
 0:04.48 pid:99358 #06: js::UnwrapUint8ClampedArray(JSObject*)[/Users/jdm/src/alt-servo/target/debug/servo +0x3a7ca48]
 0:04.49 pid:99358 #07: _$LT$mozjs..typedarray..ClampedU8$u20$as$u20$mozjs..typedarray..TypedArrayElement$GT$::unwrap_array::hac6b06fe2c5229b0[/Users/jdm/src/alt-servo/target/debug/servo +0x33ec658]
 0:04.49 pid:99358 #08: mozjs::typedarray::TypedArray$LT$T$C$S$GT$::from::h60526a85a4b9a638[/Users/jdm/src/alt-servo/target/debug/servo +0x236e624]
 0:04.49 pid:99358 #09: script::dom::bindings::buffer_source::HeapBufferSource$LT$T$GT$::get_typed_array::h3a16acd7e09dc2b5[/Users/jdm/src/alt-servo/target/debug/servo +0x11ecc74]
 0:04.49 pid:99358 #10: script::dom::imagedata::ImageData::new_with_data::hb38804c2821ca45b[/Users/jdm/src/alt-servo/target/debug/servo +0x156d710]
 0:04.49 pid:99358 #11: script::dom::imagedata::ImageData::new::hf189019b40a87f62[/Users/jdm/src/alt-servo/target/debug/servo +0x156d638]
 0:04.50 pid:99358 #12: script::canvas_state::CanvasState::get_image_data::he0c0678e1e8b4323[/Users/jdm/src/alt-servo/target/debug/servo +0x1743460]
 0:04.50 pid:99358 #13: _$LT$script..dom..canvasrenderingcontext2d..CanvasRenderingContext2D$u20$as$u20$script_bindings..codegen..GenericBindings..CanvasRenderingContext2DBinding..CanvasRenderingContext2D_Binding..CanvasRenderingContext2DMethods$LT$script..dom..bindings..codegen[/Users/jdm/src/alt-servo/target/debug/servo +0x1cb2aac]
 0:04.50 pid:99358 #14: script_bindings::codegen::GenericBindings::CanvasRenderingContext2DBinding::CanvasRenderingContext2D_Binding::getImageData::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h77c6c00cbe32ddc8[/Users/jdm/src/alt-servo/target/debug/servo +0x1629a08]
 0:04.50 pid:99358 #15: script_bindings::codegen::GenericBindings::CanvasRenderingContext2DBinding::CanvasRenderingContext2D_Binding::getImageData::_$u7b$$u7b$closure$u7d$$u7d$::h6b1d7403c4ee8362[/Users/jdm/src/alt-servo/target/debug/servo +0x1629528]
 0:04.50 pid:99358 #16: core::ops::function::impls::_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$::call_once::h3794fc22023cb570[/Users/jdm/src/alt-servo/target/debug/servo +0x33f1e88]
 0:04.51 pid:99358 #17: _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h73750f6a8f6dcde7[/Users/jdm/src/alt-servo/target/debug/servo +0x33ec85c]
 0:04.51 pid:99358 #18: std::panicking::try::do_call::h34bb780c87608c8e[/Users/jdm/src/alt-servo/target/debug/servo +0x33ea474]
 0:04.51 pid:99358 #19: __rust_try[/Users/jdm/src/alt-servo/target/debug/servo +0x33f3364]
 0:04.51 pid:99358 #20: std::panic::catch_unwind::hea3f0e1041a57c46[/Users/jdm/src/alt-servo/target/debug/servo +0x33f1a20]
 0:04.52 pid:99358 #21: mozjs::panic::wrap_panic::he5e7f197aad00cbe[/Users/jdm/src/alt-servo/target/debug/servo +0x33f0358]
 0:04.52 pid:99358 #22: script_bindings::codegen::GenericBindings::CanvasRenderingContext2DBinding::CanvasRenderingContext2D_Binding::getImageData::h29f4b74923ea475e[/Users/jdm/src/alt-servo/target/debug/servo +0x16294d4]
 0:04.52 pid:99358 #23: CallJitMethodOp[/Users/jdm/src/alt-servo/target/debug/servo +0x51b846c]
 0:04.52 pid:99358 #24: script_bindings::utils::generic_call::h354947a4d92d928c[/Users/jdm/src/alt-servo/target/debug/servo +0x32e0920]
 0:04.53 pid:99358 #25: script_bindings::utils::generic_method::hd77fbffe3f8609b7[/Users/jdm/src/alt-servo/target/debug/servo +0x1f0026c]
 0:04.53 pid:99358 #26: CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&)[/Users/jdm/src/alt-servo/target/debug/servo +0x34505e0]
 0:04.53 pid:99358 #27: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)[/Users/jdm/src/alt-servo/target/debug/servo +0x344ff98]
 0:04.53 pid:99358 #28: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason)[/Users/jdm/src/alt-servo/target/debug/servo +0x3450f40]
 0:04.54 pid:99358 #29: js::CallFromStack(JSContext*, JS::CallArgs const&, js::CallReason)[/Users/jdm/src/alt-servo/target/debug/servo +0x3450d90]
 0:04.54 pid:99358 #30: js::Interpret(JSContext*, js::RunState&)[/Users/jdm/src/alt-servo/target/debug/servo +0x3460480]
 0:04.54 pid:99358 #31: MaybeEnterInterpreterTrampoline(JSContext*, js::RunState&)[/Users/jdm/src/alt-servo/target/debug/servo +0x344f958]
 0:04.54 pid:99358 #32: js::RunScript(JSContext*, js::RunState&)[/Users/jdm/src/alt-servo/target/debug/servo +0x344f3ec]
 0:04.54 pid:99358 #33: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)[/Users/jdm/src/alt-servo/target/debug/servo +0x34501ac]
 0:04.55 pid:99358 #34: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason)[/Users/jdm/src/alt-servo/target/debug/servo +0x3450f40]
 0:04.55 pid:99358 #35: js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason)[/Users/jdm/src/alt-servo/target/debug/servo +0x34510e8]
 0:04.55 pid:99358 #36: js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)[/Users/jdm/src/alt-servo/target/debug/servo +0x3530384]
 0:04.55 pid:99358 #37: PromiseReactionJob(JSContext*, unsigned int, JS::Value*)[/Users/jdm/src/alt-servo/target/debug/servo +0x38d2a94]
 0:04.56 pid:99358 #38: CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&)[/Users/jdm/src/alt-servo/target/debug/servo +0x34505e0]
 0:04.56 pid:99358 #39: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)[/Users/jdm/src/alt-servo/target/debug/servo +0x344ff98]
 0:04.56 pid:99358 #40: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason)[/Users/jdm/src/alt-servo/target/debug/servo +0x3450f40]
 0:04.56 pid:99358 #41: js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason)[/Users/jdm/src/alt-servo/target/debug/servo +0x34510e8]
 0:04.57 pid:99358 #42: JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>)[/Users/jdm/src/alt-servo/target/debug/servo +0x365cd20]
 0:04.57 pid:99358 #43: mozjs::rust::wrappers::Call::h95717679b87203a7[/Users/jdm/src/alt-servo/target/debug/servo +0x2418620]
 0:04.57 pid:99358 #44: script_bindings::codegen::GenericBindings::PromiseBinding::PromiseJobCallback$LT$D$GT$::Call::h8160d9ee66abd42b[/Users/jdm/src/alt-servo/target/debug/servo +0x1c86a00]
 0:04.57 pid:99358 #45: script_bindings::codegen::GenericBindings::PromiseBinding::PromiseJobCallback$LT$D$GT$::Call_::h058cf7974395842f[/Users/jdm/src/alt-servo/target/debug/servo +0x1c86c64]
 0:04.57 pid:99358 #46: script::microtask::MicrotaskQueue::checkpoint::h5f7a448b84fcbdcc[/Users/jdm/src/alt-servo/target/debug/servo +0x2037b78]
 0:04.58 pid:99358 #47: script::script_thread::ScriptThread::perform_a_microtask_checkpoint::h4b477a908702c57f[/Users/jdm/src/alt-servo/target/debug/servo +0x178df6c]
 0:04.58 pid:99358 #48: script::script_thread::ScriptThread::handle_msgs::h13d53a17a49a8c09[/Users/jdm/src/alt-servo/target/debug/servo +0x1778d88]
 0:04.58 pid:99358 #49: script::script_thread::ScriptThread::start::hddeb36b5c134bda8[/Users/jdm/src/alt-servo/target/debug/servo +0x177564c]
 0:04.58 pid:99358 #50: _$LT$script..script_thread..ScriptThread$u20$as$u20$script_layout_interface..ScriptThreadFactory$GT$::create::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7a422ef48fc3754b[/Users/jdm/src/alt-servo/target/debug/servo +0x2cff01c]
 0:04.58 pid:99358 #51: profile_traits::mem::ProfilerChan::run_with_memory_reporting::h1d2d4a3dd351c87c[/Users/jdm/src/alt-servo/target/debug/servo +0x195952c]
 0:04.59 pid:99358 #52: _$LT$script..script_thread..ScriptThread$u20$as$u20$script_layout_interface..ScriptThreadFactory$GT$::create::_$u7b$$u7b$closure$u7d$$u7d$::h39c080ae39bbe434[/Users/jdm/src/alt-servo/target/debug/servo +0x2cfeeb8]
 0:04.59 pid:99358 #53: std::sys::backtrace::__rust_begin_short_backtrace::h052b999847b8f3d4[/Users/jdm/src/alt-servo/target/debug/servo +0x1d64db4]
 0:04.59 pid:99358 #54: std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hafb4072babfc5e89[/Users/jdm/src/alt-servo/target/debug/servo +0x259a5f4]
 0:04.59 pid:99358 #55: _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hc202c2c3ff9f5e15[/Users/jdm/src/alt-servo/target/debug/servo +0x2020cdc]
 0:04.60 pid:99358 #56: std::panicking::try::do_call::h224082c61f0f1a79[/Users/jdm/src/alt-servo/target/debug/servo +0x20b5bf8]
 0:04.60 pid:99358 #57: __rust_try[/Users/jdm/src/alt-servo/target/debug/servo +0x259e678]
 0:04.60 pid:99358 #58: std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::ha2b36b6412a76086[/Users/jdm/src/alt-servo/target/debug/servo +0x259974c]
 0:04.60 pid:99358 #59: core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h7ac234a49af00dfe[/Users/jdm/src/alt-servo/target/debug/servo +0x1a8fcc8]
 0:04.63 pid:99358 #60: std::sys::pal::unix::thread::Thread::new::thread_start::h02b173395cbbc15c[/Users/jdm/src/alt-servo/target/debug/servo +0x890a250]
 0:04.63 pid:99358 #61: _pthread_start[/usr/lib/system/libsystem_pthread.dylib +0x72e4]

Weirdly, running ./mach test-wpt /html/canvas/element/manual/imagebitmap/canvas-createImageBitmap-resize.html --headless --pref js_mem_gc_zeal_level=2 --pref js_mem_gc_zeal_frequency=1 --timeout-multiplier=20 made it go away.

This is #37618 and it's the problem is also on main, but it well hidden.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants