Skip to content

Use surfman with glow bindings#34328

Merged
sagudev merged 6 commits intoservo:mainfrom
sagudev:glowing_surfman
Feb 5, 2025
Merged

Use surfman with glow bindings#34328
sagudev merged 6 commits intoservo:mainfrom
sagudev:glowing_surfman

Conversation

@sagudev
Copy link
Copy Markdown
Member

@sagudev sagudev commented Nov 21, 2024

also removes some unsafe handling of webgl resource ids. This now also includes servo/webxr#255.

Part of #33539

Depends on servo/surfman#321


  • ./mach build -d does not report any errors
  • ./mach test-tidy does not report any errors
  • There are tests for these changes in WPT and manual testing

@sagudev sagudev added the T-full Do a full try run label Nov 23, 2024
@github-actions github-actions bot removed the T-full Do a full try run label Nov 23, 2024
@github-actions
Copy link
Copy Markdown

🔨 Triggering try run (#11984713555) for Linux WPT, MacOS, Windows, Android, OpenHarmony, Lint

@github-actions
Copy link
Copy Markdown

Test results for linux-wpt-layout-2020 from try job (#11984713555):

Flaky unexpected result (29)
  • TIMEOUT /FileAPI/url/url-in-tags-revoke.window.html (#19978)
    • TIMEOUT [expected PASS] subtest: Fetching a blob URL immediately before revoking it works in <script> tags.

      Test timed out
      

  • TIMEOUT [expected OK] /_webgl/conformance/glsl/misc/shader-uniform-packing-restrictions.html (#28103)
  • TIMEOUT [expected OK] /_webgl/conformance/reading/read-pixels-test.html
  • TIMEOUT [expected OK] /_webgl/conformance/uniforms/out-of-bounds-uniform-array-access.html (#26225)
    • NOTRUN [expected PASS] subtest: Overall test
  • PASS [expected FAIL] /css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html (#32849)
  • PASS [expected FAIL] /css/compositing/mix-blend-mode/mix-blend-mode-video.html (#32763)
  • FAIL [expected PASS] /css/css-conditional/container-queries/container-for-cue.html
  • TIMEOUT [expected OK] /css/css-flexbox/abspos/position-absolute-013.html
  • CRASH [expected OK] /encoding/legacy-mb-japanese/shift_jis/sjis-decode-windows-31j.html?7001-last
  • TIMEOUT /fetch/metadata/generated/element-img-environment-change.sub.html (#30111)
    • FAIL [expected PASS] subtest: sec-fetch-site - Not sent to non-trustworthy same-origin destination, no attributes

      promise_test: Unhandled rejection with value: object "Error: Failed to query for recorded headers."
      

  • TIMEOUT [expected OK] /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html (#29048)
    • FAIL [expected PASS] subtest: Navigating to a different document with location.href

      assert_equals: expected "http://web-platform.test:8000/common/blank.html?1" but got "about:blank"
      

    • TIMEOUT [expected FAIL] subtest: Navigating to a different document with link click

      Test timed out
      

    • NOTRUN [expected FAIL] subtest: Navigating to a different document with form submission
  • OK /html/browsers/browsing-the-web/navigating-across-documents/javascript-url-return-value-handling-dynamic.html (#28066)
    • FAIL [expected PASS] subtest: 0041 set in href="" targeting a frame and clicked

      assert_equals: expected "A" but got ""
      

    • FAIL [expected PASS] subtest: 0080 00FF set in href="" targeting a frame and clicked

      assert_equals: expected "�ÿ" but got ""
      

    • FAIL [expected PASS] subtest: 0080 00FF 0100 set in href="" targeting a frame and clicked

      assert_equals: expected "�ÿĀ" but got ""
      

    • FAIL [expected PASS] subtest: D83D DE0D set in href="" targeting a frame and clicked

      assert_equals: expected "😍" but got ""
      

    • FAIL [expected PASS] subtest: DE0D 0041 set in href="" targeting a frame and clicked

      assert_equals: expected "\ufffdA" but got ""
      

  • TIMEOUT [expected OK] /html/browsers/history/the-location-interface/assign-replace-from-iframe.html (#31638)
    • TIMEOUT [expected PASS] subtest: Browser sends Referer header in iframe request when location.replace is called from an iframe

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: Browser sends Referer header in iframe request when location.assign is called from an iframe

      Test timed out
      

  • TIMEOUT [expected OK] /html/browsers/history/the-location-interface/replace-with-nested-iframe.html
    • TIMEOUT [expected PASS] subtest: Browser sends Referer header when location.replace is called in iframe document on another nested iframe element

      Test timed out
      

  • TIMEOUT [expected OK] /html/browsers/origin/cross-origin-objects/cross-origin-objects.html (#28569)
  • TIMEOUT [expected ERROR] /html/canvas/element/manual/imagebitmap/createImageBitmap-serializable.html (#34120)
  • ERROR [expected TIMEOUT] /html/canvas/element/manual/imagebitmap/createImageBitmap-transfer.html (#34119)
  • CRASH [expected OK] /html/canvas/offscreen/canvas-host/2d.canvas.host.size.large.html (#34117)
  • OK /html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-location-replace.html (#32604)
    • FAIL [expected PASS] subtest: Navigating iframe loading='lazy' before it is loaded: location.replace

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

  • OK /html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-reload-location-reload.html (#32595)
    • PASS [expected FAIL] subtest: Reloading iframe loading='lazy' before it is loaded: location.reload
  • OK [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html (#24057)
    • 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 /html/semantics/forms/form-submission-0/form-submit-iframe-then-location-navigate.html (#29634)
    • FAIL [expected PASS] subtest: Verifies that location navigations take precedence when following form submissions.

      assert_equals: expected "/html/semantics/forms/form-submission-0/resources/location.html" but got "/html/semantics/forms/form-submission-0/resources/form.html"
      

  • OK [expected TIMEOUT] /html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html (#29724)
    • PASS [expected TIMEOUT] subtest: reparent-form-during-planned-navigation-task
  • CRASH [expected OK] /html/semantics/forms/the-fieldset-element/disabled-003.html (#31730)
  • OK /html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html (#23205)
    • PASS [expected FAIL] subtest: Check that rel=noopener with target=_self does a normal load
  • OK /html/syntax/parsing/DOMContentLoaded-defer.html (#21550)
    • PASS [expected FAIL] subtest: The end: DOMContentLoaded and defer scripts
  • TIMEOUT [expected OK] /html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html (#26371)
    • TIMEOUT [expected FAIL] subtest: delayed handling: delaying handling rejected promise created from createImageBitmap will cause both events to fire

      Test timed out
      

  • ERROR [expected OK] /workers/baseurl/alpha/sharedworker-in-worker.html (#21315)
  • OK /workers/dedicated-worker-from-blob-url.window.html (#22286)
    • PASS [expected FAIL] subtest: Creating a dedicated worker from a blob URL works immediately before revoking.
Stable unexpected results that are known to be intermittent (9)
  • FAIL [expected PASS] /_mozilla/css/iframe/hide_and_show.html (#15265)
  • PASS [expected FAIL] /css/css-values/vh_not_refreshing_on_chrome.html (#23385, #15570)
  • OK /html/browsers/windows/embedded-opener-remove-frame.html (#23867)
    • PASS [expected FAIL] subtest: opener of discarded auxiliary browsing context
  • TIMEOUT [expected CRASH] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html (#22667)
    • TIMEOUT [expected FAIL] subtest: Check that popups from a sandboxed iframe escape the sandbox if allow-popups-to-escape-sandbox is used

      Test timed out
      

  • 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"
      

  • TIMEOUT [expected CRASH] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html (#22154)
  • OK /html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html (#26243)
    • FAIL [expected PASS] subtest: document.write in an imported module

      assert_true: onload must be called expected true got false
      

  • TIMEOUT /resource-timing/nested-context-navigations-iframe.html (#24311)
    • PASS [expected NOTRUN] subtest: Test that crossorigin iframe navigations are not observable by the parent, even after history navigations by the parent
    • TIMEOUT [expected NOTRUN] subtest: Test that cross-site iframe navigations are not observable by the parent, even after history navigations by the parent

      Test timed out
      

  • OK [expected ERROR] /webxr/render_state_update.https.html (#27535)

@github-actions
Copy link
Copy Markdown

⚠️ Try run (#11984713555) failed.

@mrobinson
Copy link
Copy Markdown
Member

I've lost the thread a bit on this one. What is it waiting on, @sagudev?

@sagudev
Copy link
Copy Markdown
Member Author

sagudev commented Jan 6, 2025

I've lost the thread a bit on this one. What is it waiting on, @sagudev?

It's waiting on surfman PR: servo/surfman#321 which is very close to being done.

@sagudev
Copy link
Copy Markdown
Member Author

sagudev commented Jan 8, 2025

@sagudev
Copy link
Copy Markdown
Member Author

sagudev commented Jan 8, 2025

@jdm
Copy link
Copy Markdown
Member

jdm commented Jan 14, 2025

Full local backtrace:

* thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x34)
  * frame #0: 0x00000001976550c4 QuartzCore`CA::Layer::mark_visible(CA::Transaction*, bool, bool) + 28
    frame #1: 0x000000019765522c QuartzCore`CA::Layer::mark_visible(CA::Transaction*, bool, bool) + 388
    frame #2: 0x000000019741e9bc QuartzCore`CA::Layer::update_removed_sublayer(CA::Transaction*, unsigned int) + 104
    frame #3: 0x000000019741e848 QuartzCore`CA::Layer::remove_sublayer(CA::Transaction*, CALayer*) + 136
    frame #4: 0x0000000197410eb0 QuartzCore`CA::Layer::remove_from_superlayer() + 172
    frame #5: 0x0000000192a8c4e8 AppKit`-[NSView _removeLayerFromSuperlayer] + 252
    frame #6: 0x0000000192a8bef0 AppKit`-[NSView _setSuperview:] + 280
    frame #7: 0x0000000192aac0c8 AppKit`-[NSView removeFromSuperview] + 156
    frame #8: 0x0000000192b0aa44 AppKit`-[NSView removeFromSuperviewWithoutNeedingDisplay] + 44
    frame #9: 0x0000000192ab0800 AppKit`-[NSView _finalize] + 680
    frame #10: 0x0000000192ab0440 AppKit`-[NSView dealloc] + 128
    frame #11: 0x0000000192ce9bb4 AppKit`-[NSFrameView dealloc] + 164
    frame #12: 0x0000000192ce9b00 AppKit`-[NSTitledFrame dealloc] + 72
    frame #13: 0x0000000192ce9a7c AppKit`-[NSThemeFrame dealloc] + 624
    frame #14: 0x0000000190a3a118 Foundation`_NSKVOPerformWithDeallocatingObservable + 172
    frame #15: 0x0000000190357404 Foundation`NSKVODeallocate + 180
    frame #16: 0x0000000192c68ff0 AppKit`-[NSWindow dealloc] + 988
    frame #17: 0x0000000190a3a118 Foundation`_NSKVOPerformWithDeallocatingObservable + 172
    frame #18: 0x0000000190357404 Foundation`NSKVODeallocate + 180
    frame #19: 0x0000000100414910 servo`objc2::runtime::retain_release_fast::objc_release_fast::h1ad57e37368fc33d(obj=0x0000000126b091d0) at retain_release_fast.rs:102:9
    frame #20: 0x00000001004286b0 servo`_$LT$objc2..rc..id..Retained$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::hf888b3947d873f0e(self=0x0000600000e7a310) at id.rs:743:18
    frame #21: 0x000000010040f110 servo`core::ptr::drop_in_place$LT$objc2..rc..id..Retained$LT$winit..platform_impl..macos..window..WinitWindow$GT$$GT$::hacd5b9172471ffd7((null)=0x0000600000e7a310) at mod.rs:574:1
    frame #22: 0x00000001004116b4 servo`core::ptr::drop_in_place$LT$winit..platform_impl..macos..window_delegate..State$GT$::hce986e81b4148931((null)=0x0000600000e7a308) at mod.rs:574:1
    frame #23: 0x000000010042c0d8 servo`objc2::__macro_helpers::declared_ivars::dealloc::h8f5fd3345d4219f7(this=NonNull<winit::platform_impl::macos::window_delegate::WindowDelegate> @ 0x000000016fdfc420, cmd=Sel @ 0x000000016fdfc428) at declared_ivars.rs:216:26
    frame #24: 0x0000000100414910 servo`objc2::runtime::retain_release_fast::objc_release_fast::h1ad57e37368fc33d(obj=0x0000600000e7a300) at retain_release_fast.rs:102:9
    frame #25: 0x00000001004285c0 servo`_$LT$objc2..rc..id..Retained$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h511799b32c1cbda4(self=0x00000001130c0020) at id.rs:743:18
    frame #26: 0x000000010040f4f8 servo`core::ptr::drop_in_place$LT$objc2..rc..id..Retained$LT$winit..platform_impl..macos..window_delegate..WindowDelegate$GT$$GT$::h269671efe9750b13((null)=0x00000001130c0020) at mod.rs:574:1
    frame #27: 0x00000001001dcb9c servo`core::mem::manually_drop::ManuallyDrop$LT$T$GT$::drop::h704d0cf5e17b0bbc(slot=0x00000001130c0020) at manually_drop.rs:256:18
    frame #28: 0x00000001001d6a64 servo`_$LT$objc2_foundation..thread..MainThreadBound$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::_$u7b$$u7b$closure$u7d$$u7d$::ha33d6b9876fb6f69((null)=MainThreadMarker @ 0x000000016fdfc4f6) at thread.rs:370:26
    frame #29: 0x00000001001d2704 servo`objc2_foundation::thread::run_on_main::h263d7dfe2f95679b(f={closure_env#0}<objc2::rc::id::Retained<winit::platform_impl::macos::window_delegate::WindowDelegate>> @ 0x000000016fdfc540) at thread.rs:113:9
    frame #30: 0x00000001001d6a40 servo`_$LT$objc2_foundation..thread..MainThreadBound$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::hea7362df04d67259(self=0x00000001130c0020) at thread.rs:362:13
    frame #31: 0x00000001001d4714 servo`core::ptr::drop_in_place$LT$objc2_foundation..thread..MainThreadBound$LT$objc2..rc..id..Retained$LT$winit..platform_impl..macos..window_delegate..WindowDelegate$GT$$GT$$GT$::h7590cf4ee65c4908((null)=0x00000001130c0020) at mod.rs:574:1
    frame #32: 0x00000001001d4b20 servo`core::ptr::drop_in_place$LT$winit..platform_impl..macos..window..Window$GT$::h59e3b0abd5d8c0f8((null)=0x00000001130c0018) at mod.rs:574:1
    frame #33: 0x00000001001d48a4 servo`core::ptr::drop_in_place$LT$winit..window..Window$GT$::he6f056fa10b7a239((null)=0x00000001130c0018) at mod.rs:574:1
    frame #34: 0x00000001000b207c servo`core::ptr::drop_in_place$LT$servoshell..desktop..headed_window..Window$GT$::hf24add5456eeaf1a((null)=0x00000001130c0010) at mod.rs:574:1
    frame #35: 0x00000001000b2df0 servo`core::ptr::drop_in_place$LT$dyn$u20$servoshell..desktop..window_trait..WindowPortsMethods$GT$::h4c65d7d4f4e72734((null)=*mut dyn servoshell::desktop::window_trait::WindowPortsMethods @ 0x000000016fdfc650) at mod.rs:574:1
    frame #36: 0x00000001000b3e04 servo`_$LT$alloc..rc..Rc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::ha38b7ed5d832832e(self=0x00000001132ec440) at rc.rs:2256:17
    frame #37: 0x00000001000ad380 servo`core::ptr::drop_in_place$LT$alloc..rc..Rc$LT$dyn$u20$servoshell..desktop..window_trait..WindowPortsMethods$GT$$GT$::h15d7300522251dc8((null)=0x00000001132ec440) at mod.rs:574:1
    frame #38: 0x00000001000aee18 servo`core::ptr::drop_in_place$LT$$LP$winit..window..WindowId$C$alloc..rc..Rc$LT$dyn$u20$servoshell..desktop..window_trait..WindowPortsMethods$GT$$RP$$GT$::h9d4786e371bb5f6d((null)=0x00000001132ec438) at mod.rs:574:1
    frame #39: 0x0000000100112198 servo`hashbrown::raw::RawTableInner::drop_elements::h2ebbb3b363b33cfa [inlined] core::ptr::mut_ptr::_$LT$impl$u20$$BP$mut$u20$T$GT$::drop_in_place::hcc6bb0b405baa495(self=0x00000001132ec438) at mut_ptr.rs:1442:18
    frame #40: 0x0000000100112190 servo`hashbrown::raw::RawTableInner::drop_elements::h2ebbb3b363b33cfa [inlined] hashbrown::raw::Bucket$LT$T$GT$::drop::h409b7efa4df4a899(self=0x000000016fdfc940) at mod.rs:561:23
    frame #41: 0x0000000100112168 servo`hashbrown::raw::RawTableInner::drop_elements::h2ebbb3b363b33cfa(self=0x000000016fdfec10) at mod.rs:2161:22
    frame #42: 0x0000000100112c20 servo`hashbrown::raw::RawTableInner::drop_inner_table::h8795833b2549c3c9(self=0x000000016fdfec10, alloc=0x000000016fdfec30, table_layout=TableLayout @ 0x000000016fdfca60) at mod.rs:2216:17
    frame #43: 0x00000001000b7008 servo`_$LT$hashbrown..raw..RawTable$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h88e9e150ef4f191a(self=0x000000016fdfec10) at mod.rs:3397:13
    frame #44: 0x00000001000b0048 servo`core::ptr::drop_in_place$LT$hashbrown..raw..RawTable$LT$$LP$winit..window..WindowId$C$alloc..rc..Rc$LT$dyn$u20$servoshell..desktop..window_trait..WindowPortsMethods$GT$$RP$$GT$$GT$::h038ec02ff6bb6a72((null)=0x000000016fdfec10) at mod.rs:574:1
    frame #45: 0x00000001000b0410 servo`core::ptr::drop_in_place$LT$hashbrown..map..HashMap$LT$winit..window..WindowId$C$alloc..rc..Rc$LT$dyn$u20$servoshell..desktop..window_trait..WindowPortsMethods$GT$$C$std..hash..random..RandomState$GT$$GT$::hc6f0086ec7b14525((null)=0x000000016fdfec10) at mod.rs:574:1
    frame #46: 0x00000001000b01c4 servo`core::ptr::drop_in_place$LT$std..collections..hash..map..HashMap$LT$winit..window..WindowId$C$alloc..rc..Rc$LT$dyn$u20$servoshell..desktop..window_trait..WindowPortsMethods$GT$$GT$$GT$::h01cd922255cf4b73((null)=0x000000016fdfec10) at mod.rs:574:1
    frame #47: 0x00000001000b1724 servo`core::ptr::drop_in_place$LT$servoshell..desktop..app..App$GT$::hc57ce66d60fde4e8((null)=0x000000016fdfd068) at mod.rs:574:1
    frame #48: 0x0000000100131148 servo`servoshell::desktop::cli::main::hefbcee8477fabed9 at cli.rs:118:1
    frame #49: 0x000000010005993c servo`servoshell::main::h3d14e2a7f7a116c5 at lib.rs:38:5
    frame #50: 0x00000001000039f4 servo`servo::main::h7f37e38db00c498c at main.rs:26:13
    frame #51: 0x0000000100003ae4 servo`core::ops::function::FnOnce::call_once::hb2c20d7e45aedaa2((null)=(servo`servo::main::h7f37e38db00c498c at main.rs:23), (null)=<unavailable>) at function.rs:250:5
    frame #52: 0x0000000100003a40 servo`std::sys::backtrace::__rust_begin_short_backtrace::hdc86329f31588400(f=(servo`servo::main::h7f37e38db00c498c at main.rs:23)) at backtrace.rs:154:18
    frame #53: 0x00000001000039c8 servo`std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::h2bdecfb28b99cf08 at rt.rs:195:18
    frame #54: 0x00000001068a03c4 servo`std::rt::lang_start_internal::h77891a2543177e4b [inlined] core::ops::function::impls::_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$F$GT$::call_once::h1f2e4bfdaa1e9f55 at function.rs:284:13 [opt]
    frame #55: 0x00000001068a03bc servo`std::rt::lang_start_internal::h77891a2543177e4b [inlined] std::panicking::try::do_call::hf5f5fcb9152f95d7 at panicking.rs:557:40 [opt]
    frame #56: 0x00000001068a03b8 servo`std::rt::lang_start_internal::h77891a2543177e4b [inlined] std::panicking::try::hc37bea4722ea5011 at panicking.rs:520:19 [opt]
    frame #57: 0x00000001068a03b8 servo`std::rt::lang_start_internal::h77891a2543177e4b [inlined] std::panic::catch_unwind::h59a2106aa502b0e8 at panic.rs:358:14 [opt]
    frame #58: 0x00000001068a03b8 servo`std::rt::lang_start_internal::h77891a2543177e4b [inlined] std::rt::lang_start_internal::_$u7b$$u7b$closure$u7d$$u7d$::h130ec563acce7cfd at rt.rs:174:48 [opt]
    frame #59: 0x00000001068a03b8 servo`std::rt::lang_start_internal::h77891a2543177e4b [inlined] std::panicking::try::do_call::h406987cb4ab94a01 at panicking.rs:557:40 [opt]
    frame #60: 0x00000001068a03b8 servo`std::rt::lang_start_internal::h77891a2543177e4b [inlined] std::panicking::try::h3095cbba23c315df at panicking.rs:520:19 [opt]
    frame #61: 0x00000001068a03b8 servo`std::rt::lang_start_internal::h77891a2543177e4b [inlined] std::panic::catch_unwind::hc35a49412f9c6ccf at panic.rs:358:14 [opt]
    frame #62: 0x00000001068a03b8 servo`std::rt::lang_start_internal::h77891a2543177e4b at rt.rs:174:20 [opt]
    frame #63: 0x0000000100003994 servo`std::rt::lang_start::h36b75798bb0eaa9d(main=(servo`servo::main::h7f37e38db00c498c at main.rs:23), argc=3, argv=0x000000016fdff1c8, sigpipe='\0') at rt.rs:194:17
    frame #64: 0x0000000100003a20 servo`main + 36
    frame #65: 0x000000018edaa0e0 dyld`start + 2360

@sagudev sagudev added the T-full Do a full try run label Feb 1, 2025
@github-actions github-actions bot removed the T-full Do a full try run label Feb 1, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 1, 2025

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

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 1, 2025

🐰 Bencher Report

Branch34328/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 CLI flag.

Click to view all benchmark results
BenchmarkFile Sizemegabytes (MB)Latencymicroseconds (µs)Throughputoperations / second (ops/s)scoreMeasure (units)
Dromaeo/dom📈 view plot
⚠️ NO THRESHOLD
577.00
Dromaeo/dom-attr📈 view plot
⚠️ NO THRESHOLD
4,116.85
Dromaeo/dom-attr/element_expando📈 view plot
⚠️ NO THRESHOLD
34,587.00
Dromaeo/dom-attr/element_expando = value📈 view plot
⚠️ NO THRESHOLD
19,390.80
Dromaeo/dom-attr/element_property📈 view plot
⚠️ NO THRESHOLD
22,257.40
Dromaeo/dom-attr/element_property = value📈 view plot
⚠️ NO THRESHOLD
89.93
Dromaeo/dom-attr/getAttribute📈 view plot
⚠️ NO THRESHOLD
44,141.40
Dromaeo/dom-attr/setAttribute📈 view plot
⚠️ NO THRESHOLD
82.16
Dromaeo/dom-modify📈 view plot
⚠️ NO THRESHOLD
66.81
Dromaeo/dom-modify/appendChild📈 view plot
⚠️ NO THRESHOLD
41.86
Dromaeo/dom-modify/cloneNode📈 view plot
⚠️ NO THRESHOLD
30.37
Dromaeo/dom-modify/createElement📈 view plot
⚠️ NO THRESHOLD
411.06
Dromaeo/dom-modify/createTextNode📈 view plot
⚠️ NO THRESHOLD
134.67
Dromaeo/dom-modify/innerHTML📈 view plot
⚠️ NO THRESHOLD
11.54
Dromaeo/dom-modify/insertBefore📈 view plot
⚠️ NO THRESHOLD
109.43
Dromaeo/dom-query📈 view plot
⚠️ NO THRESHOLD
1,033.05
Dromaeo/dom-query/getElementById📈 view plot
⚠️ NO THRESHOLD
386.57
Dromaeo/dom-query/getElementById (not in document)📈 view plot
⚠️ NO THRESHOLD
499.30
Dromaeo/dom-query/getElementsByName📈 view plot
⚠️ NO THRESHOLD
0.15
Dromaeo/dom-query/getElementsByName (not in document)📈 view plot
⚠️ NO THRESHOLD
0.23
Dromaeo/dom-query/getElementsByTagName (not in document)📈 view plot
⚠️ NO THRESHOLD
58,926.20
Dromaeo/dom-query/getElementsByTagName(*)📈 view plot
⚠️ NO THRESHOLD
43,132.60
Dromaeo/dom-query/getElementsByTagName(a)📈 view plot
⚠️ NO THRESHOLD
42,526.00
Dromaeo/dom-query/getElementsByTagName(div)📈 view plot
⚠️ NO THRESHOLD
43,791.00
Dromaeo/dom-query/getElementsByTagName(p)📈 view plot
⚠️ NO THRESHOLD
43,243.40
Dromaeo/dom-traverse📈 view plot
⚠️ NO THRESHOLD
254.35
Dromaeo/dom-traverse/childNodes📈 view plot
⚠️ NO THRESHOLD
176.65
Dromaeo/dom-traverse/firstChild📈 view plot
⚠️ NO THRESHOLD
268.06
Dromaeo/dom-traverse/lastChild📈 view plot
⚠️ NO THRESHOLD
111.46
Dromaeo/dom-traverse/nextSibling📈 view plot
⚠️ NO THRESHOLD
458.14
Dromaeo/dom-traverse/previousSibling📈 view plot
⚠️ NO THRESHOLD
440.25
Speedometer/Charts-observable-plot📈 view plot
⚠️ NO THRESHOLD
143.83
Speedometer/Charts-observable-plot/Dotted📈 view plot
⚠️ NO THRESHOLD
28.70
Speedometer/Charts-observable-plot/Dotted/Async📈 view plot
⚠️ NO THRESHOLD
2.16
Speedometer/Charts-observable-plot/Dotted/Sync📈 view plot
⚠️ NO THRESHOLD
26.54
Speedometer/Charts-observable-plot/Stacked by 20📈 view plot
⚠️ NO THRESHOLD
65.17
Speedometer/Charts-observable-plot/Stacked by 20/Async📈 view plot
⚠️ NO THRESHOLD
3.35
Speedometer/Charts-observable-plot/Stacked by 20/Sync📈 view plot
⚠️ NO THRESHOLD
61.82
Speedometer/Charts-observable-plot/Stacked by 6📈 view plot
⚠️ NO THRESHOLD
49.97
Speedometer/Charts-observable-plot/Stacked by 6/Async📈 view plot
⚠️ NO THRESHOLD
2.09
Speedometer/Charts-observable-plot/Stacked by 6/Sync📈 view plot
⚠️ NO THRESHOLD
47.88
Speedometer/Geomean📈 view plot
⚠️ NO THRESHOLD
185.00
Speedometer/Iteration-0-Total📈 view plot
⚠️ NO THRESHOLD
302.60
Speedometer/Iteration-1-Total📈 view plot
⚠️ NO THRESHOLD
279.59
Speedometer/Iteration-2-Total📈 view plot
⚠️ NO THRESHOLD
275.88
Speedometer/Iteration-3-Total📈 view plot
⚠️ NO THRESHOLD
275.92
Speedometer/Iteration-4-Total📈 view plot
⚠️ NO THRESHOLD
280.63
Speedometer/Iteration-5-Total📈 view plot
⚠️ NO THRESHOLD
280.20
Speedometer/Iteration-6-Total📈 view plot
⚠️ NO THRESHOLD
274.30
Speedometer/Iteration-7-Total📈 view plot
⚠️ NO THRESHOLD
270.48
Speedometer/Iteration-8-Total📈 view plot
⚠️ NO THRESHOLD
279.77
Speedometer/Iteration-9-Total📈 view plot
⚠️ NO THRESHOLD
272.51
Speedometer/Score📈 view plot
⚠️ NO THRESHOLD
5.42
Speedometer/TodoMVC-Angular📈 view plot
⚠️ NO THRESHOLD
166.03
Speedometer/TodoMVC-Angular/Adding100Items📈 view plot
⚠️ NO THRESHOLD
96.72
Speedometer/TodoMVC-Angular/Adding100Items/Async📈 view plot
⚠️ NO THRESHOLD
9.22
Speedometer/TodoMVC-Angular/Adding100Items/Sync📈 view plot
⚠️ NO THRESHOLD
87.50
Speedometer/TodoMVC-Angular/CompletingAllItems📈 view plot
⚠️ NO THRESHOLD
39.85
Speedometer/TodoMVC-Angular/CompletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
11.16
Speedometer/TodoMVC-Angular/CompletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
28.69
Speedometer/TodoMVC-Angular/DeletingAllItems📈 view plot
⚠️ NO THRESHOLD
29.46
Speedometer/TodoMVC-Angular/DeletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
2.40
Speedometer/TodoMVC-Angular/DeletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
27.06
Speedometer/TodoMVC-JavaScript-ES5📈 view plot
⚠️ NO THRESHOLD
580.94
Speedometer/TodoMVC-JavaScript-ES5/Adding100Items📈 view plot
⚠️ NO THRESHOLD
447.01
Speedometer/TodoMVC-JavaScript-ES5/Adding100Items/Async📈 view plot
⚠️ NO THRESHOLD
17.24
Speedometer/TodoMVC-JavaScript-ES5/Adding100Items/Sync📈 view plot
⚠️ NO THRESHOLD
429.77
Speedometer/TodoMVC-JavaScript-ES5/CompletingAllItems📈 view plot
⚠️ NO THRESHOLD
82.27
Speedometer/TodoMVC-JavaScript-ES5/CompletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
18.99
Speedometer/TodoMVC-JavaScript-ES5/CompletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
63.28
Speedometer/TodoMVC-JavaScript-ES5/DeletingAllItems📈 view plot
⚠️ NO THRESHOLD
51.66
Speedometer/TodoMVC-JavaScript-ES5/DeletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
2.80
Speedometer/TodoMVC-JavaScript-ES5/DeletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
48.86
Speedometer/TodoMVC-JavaScript-ES6-Webpack📈 view plot
⚠️ NO THRESHOLD
880.96
Speedometer/TodoMVC-JavaScript-ES6-Webpack/Adding100Items📈 view plot
⚠️ NO THRESHOLD
709.96
Speedometer/TodoMVC-JavaScript-ES6-Webpack/Adding100Items/Async📈 view plot
⚠️ NO THRESHOLD
10.72
Speedometer/TodoMVC-JavaScript-ES6-Webpack/Adding100Items/Sync📈 view plot
⚠️ NO THRESHOLD
699.24
Speedometer/TodoMVC-JavaScript-ES6-Webpack/CompletingAllItems📈 view plot
⚠️ NO THRESHOLD
101.47
Speedometer/TodoMVC-JavaScript-ES6-Webpack/CompletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
11.42
Speedometer/TodoMVC-JavaScript-ES6-Webpack/CompletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
90.06
Speedometer/TodoMVC-JavaScript-ES6-Webpack/DeletingAllItems📈 view plot
⚠️ NO THRESHOLD
69.53
Speedometer/TodoMVC-JavaScript-ES6-Webpack/DeletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
2.67
Speedometer/TodoMVC-JavaScript-ES6-Webpack/DeletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
66.85
Speedometer/TodoMVC-Preact📈 view plot
⚠️ NO THRESHOLD
64.91
Speedometer/TodoMVC-Preact/Adding100Items📈 view plot
⚠️ NO THRESHOLD
36.68
Speedometer/TodoMVC-Preact/Adding100Items/Async📈 view plot
⚠️ NO THRESHOLD
32.16
Speedometer/TodoMVC-Preact/Adding100Items/Sync📈 view plot
⚠️ NO THRESHOLD
4.52
Speedometer/TodoMVC-Preact/CompletingAllItems📈 view plot
⚠️ NO THRESHOLD
20.46
Speedometer/TodoMVC-Preact/CompletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
14.39
Speedometer/TodoMVC-Preact/CompletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
6.06
Speedometer/TodoMVC-Preact/DeletingAllItems📈 view plot
⚠️ NO THRESHOLD
7.78
Speedometer/TodoMVC-Preact/DeletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
5.04
Speedometer/TodoMVC-Preact/DeletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
2.73
Speedometer/TodoMVC-React📈 view plot
⚠️ NO THRESHOLD
157.28
Speedometer/TodoMVC-React-Redux📈 view plot
⚠️ NO THRESHOLD
176.72
Speedometer/TodoMVC-React-Redux/Adding100Items📈 view plot
⚠️ NO THRESHOLD
82.68
Speedometer/TodoMVC-React-Redux/Adding100Items/Async📈 view plot
⚠️ NO THRESHOLD
9.50
Speedometer/TodoMVC-React-Redux/Adding100Items/Sync📈 view plot
⚠️ NO THRESHOLD
73.18
Speedometer/TodoMVC-React-Redux/CompletingAllItems📈 view plot
⚠️ NO THRESHOLD
57.58
Speedometer/TodoMVC-React-Redux/CompletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
10.34
Speedometer/TodoMVC-React-Redux/CompletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
47.24
Speedometer/TodoMVC-React-Redux/DeletingAllItems📈 view plot
⚠️ NO THRESHOLD
36.46
Speedometer/TodoMVC-React-Redux/DeletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
2.42
Speedometer/TodoMVC-React-Redux/DeletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
34.04
Speedometer/TodoMVC-React/Adding100Items📈 view plot
⚠️ NO THRESHOLD
78.60
Speedometer/TodoMVC-React/Adding100Items/Async📈 view plot
⚠️ NO THRESHOLD
9.86
Speedometer/TodoMVC-React/Adding100Items/Sync📈 view plot
⚠️ NO THRESHOLD
68.73
Speedometer/TodoMVC-React/CompletingAllItems📈 view plot
⚠️ NO THRESHOLD
47.99
Speedometer/TodoMVC-React/CompletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
10.39
Speedometer/TodoMVC-React/CompletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
37.59
Speedometer/TodoMVC-React/DeletingAllItems📈 view plot
⚠️ NO THRESHOLD
30.69
Speedometer/TodoMVC-React/DeletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
2.64
Speedometer/TodoMVC-React/DeletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
28.05
Speedometer/TodoMVC-Svelte📈 view plot
⚠️ NO THRESHOLD
62.81
Speedometer/TodoMVC-Svelte/Adding100Items📈 view plot
⚠️ NO THRESHOLD
34.86
Speedometer/TodoMVC-Svelte/Adding100Items/Async📈 view plot
⚠️ NO THRESHOLD
27.70
Speedometer/TodoMVC-Svelte/Adding100Items/Sync📈 view plot
⚠️ NO THRESHOLD
7.16
Speedometer/TodoMVC-Svelte/CompletingAllItems📈 view plot
⚠️ NO THRESHOLD
18.93
Speedometer/TodoMVC-Svelte/CompletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
14.08
Speedometer/TodoMVC-Svelte/CompletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
4.85
Speedometer/TodoMVC-Svelte/DeletingAllItems📈 view plot
⚠️ NO THRESHOLD
9.02
Speedometer/TodoMVC-Svelte/DeletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
6.22
Speedometer/TodoMVC-Svelte/DeletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
2.79
linux-release📈 view plot
⚠️ NO THRESHOLD
170.38
🐰 View full continuous benchmarking report in Bencher

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 1, 2025

Test results for linux-wpt-layout-2020 from try job (#13087463816):

Flaky unexpected result (19)
  • FAIL [expected PASS] /_mozilla/css/iframe/hide_and_show.html (#15265)
  • OK /_mozilla/mozilla/task_queue_throttling.any.html (#22519)
    • FAIL [expected PASS] subtest: Throttling the performance timeline task queue.

      assert_true: expected true got false
      

  • TIMEOUT [expected OK] /_webgl/conformance/uniforms/out-of-bounds-uniform-array-access.html (#26225)
    • NOTRUN [expected PASS] subtest: Overall test
  • OK /fetch/metadata/generated/css-font-face.https.sub.tentative.html (#32732)
    • PASS [expected FAIL] subtest: sec-fetch-user
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-window-open.html (#28691)
    • PASS [expected FAIL] subtest: load event does not fire on window.open('about:blank')
  • OK /html/browsers/browsing-the-web/navigating-across-documents/javascript-url-return-value-handling-dynamic.html (#28066)
    • FAIL [expected PASS] subtest: 0041 set in href="" targeting a frame and clicked

      assert_equals: expected "A" but got ""
      

    • FAIL [expected PASS] subtest: 0080 00FF set in href="" targeting a frame and clicked

      assert_equals: expected "�ÿ" but got ""
      

    • FAIL [expected PASS] subtest: 0080 00FF 0100 set in href="" targeting a frame and clicked

      assert_equals: expected "�ÿĀ" but got ""
      

    • FAIL [expected PASS] subtest: D83D DE0D set in href="" targeting a frame and clicked

      assert_equals: expected "😍" but got ""
      

    • FAIL [expected PASS] subtest: DE0D 0041 set in href="" targeting a frame and clicked

      assert_equals: expected "\ufffdA" but got ""
      

  • OK /html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment.html (#20768)
    • FAIL [expected PASS] subtest: Tests that a fragment navigation in the unload handler will not block the initial navigation

      assert_equals: expected "" but got "#fragment"
      

  • OK /html/browsers/history/the-history-interface/traverse_the_history_5.html (#21383)
    • PASS [expected FAIL] subtest: Multiple history traversals, last would be aborted
  • ERROR [expected TIMEOUT] /html/canvas/element/manual/imagebitmap/createImageBitmap-transfer.html (#34119)
  • OK /html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-location-replace-set-src.html (#32697)
    • PASS [expected FAIL] subtest: Navigating iframe loading='lazy' and then setting src: location.replace
  • OK [expected CRASH] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html (#24066)
  • OK /html/semantics/forms/form-submission-0/text-plain.window.html (#28687)
    • PASS [expected FAIL] subtest: text/plain: double quote in filename (formdata event)
  • OK /html/semantics/forms/form-submission-0/urlencoded2.window.html (#28687)
    • PASS [expected FAIL] subtest: application/x-www-form-urlencoded: Basic test (normal form)
    • PASS [expected FAIL] subtest: application/x-www-form-urlencoded: backslash in name (formdata event)
  • OK /html/semantics/scripting-1/the-script-element/execution-timing/077.html (#22139)
    • FAIL [expected PASS] subtest: adding several types of scripts through the DOM and removing some of them confuses scheduler

      assert_array_equals: expected property 1 to be "Script #1 ran" but got "Script #3 ran" (expected array ["Script #2 ran", "Script #1 ran", "Script #3 ran", "Script #4 ran"] got ["Script #2 ran", "Script #3 ran", "Script #4 ran", "Script #1 ran"])
      

  • TIMEOUT [expected OK] /mixed-content/gen/top.http-rp/opt-in/audio-tag.https.html
    • TIMEOUT [expected FAIL] subtest: Mixed-Content: Expects blocked for audio-tag to same-https origin and swap-scheme redirection from https context.

      Test timed out
      

  • OK /resize-observer/change-layout-in-error.html (#32629)
    • PASS [expected FAIL] subtest: Changing layout in window error handler should not result in lifecyle loop when resize observer loop limit is reached.
  • TIMEOUT [expected OK] /resource-timing/nested-context-navigations-iframe.html (#24311)
    • TIMEOUT [expected PASS] subtest: Test that iframe navigations are not observable by the parent, even after history navigations by the parent

      Test timed out
      

    • NOTRUN [expected PASS] subtest: Test that crossorigin iframe navigations are not observable by the parent, even after history navigations by the parent
    • NOTRUN [expected PASS] subtest: Test that cross-site iframe navigations are not observable by the parent, even after history navigations by the parent
    • 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
  • TIMEOUT /resource-timing/test_resource_timing.https.html (#25216)
    • PASS [expected FAIL] subtest: PerformanceEntry has correct name, initiatorType, startTime, and duration (img)
  • OK /workers/WorkerGlobalScope-close.html (#23064)
    • PASS [expected FAIL] subtest: Test sending a message after closing.
Stable unexpected results that are known to be intermittent (15)
  • TIMEOUT /FileAPI/BlobURL/cross-partition-navigation.https.html (#35133)
    • PASS [expected FAIL] subtest: Blob URL should partition subframe navigation.
  • FAIL [expected PASS] /css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html (#32849)
  • ERROR [expected OK] /fetch/fetch-later/quota/same-origin-iframe/empty-payload.tentative.https.window.html (#35176)
  • ERROR [expected OK] /fetch/fetch-later/quota/same-origin-iframe/multiple-iframes.tentative.https.window.html (#35176)
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-nosrc.html (#34819)
    • FAIL [expected PASS] subtest: link click

      assert_equals: expected "http://web-platform.test:8000/common/blank.html?1" but got "about:blank"
      

  • TIMEOUT [expected OK] /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html (#29048)
    • FAIL [expected PASS] subtest: Navigating to a different document with location.assign

      assert_equals: expected "http://web-platform.test:8000/common/blank.html?1" but got "about:blank"
      

    • TIMEOUT [expected FAIL] subtest: Navigating to a different document with link click

      Test timed out
      

    • NOTRUN [expected FAIL] subtest: Navigating to a different document with form submission
  • OK /html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.html (#29056)
    • FAIL [expected PASS] subtest: Cross-origin navigation started from unload handler must be ignored

      promise_test: Unhandled rejection with value: object "SecurityError: The operation is insecure."
      

  • OK /html/browsers/history/the-history-interface/traverse_the_history_4.html (#21383)
    • PASS [expected FAIL] subtest: Multiple history traversals, last would be aborted
  • ERROR [expected TIMEOUT] /html/canvas/element/manual/imagebitmap/createImageBitmap-serializable.html (#34120)
  • PASS [expected FAIL] /html/canvas/element/manual/text/canvas.2d.disconnected.html (#30063)
  • OK /html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-window-open.html (#32596)
    • FAIL [expected PASS] subtest: Navigating iframe loading='lazy' before it is loaded: location.replace

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

  • CRASH [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html (#22667)
  • CRASH [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html (#24057)
  • OK [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html (#22154)
  • OK /navigation-timing/test-navigation-type-reload.html (#33334)
    • PASS [expected FAIL] subtest: Reload domComplete &gt; Original domComplete
    • 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
    • PASS [expected FAIL] subtest: Reload loadEventEnd &gt; Original loadEventEnd
    • PASS [expected FAIL] subtest: Reload loadEventStart &gt; Original loadEventStart

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 1, 2025

✨ Try run (#13087463816) succeeded.

@sagudev
Copy link
Copy Markdown
Member Author

sagudev commented Feb 1, 2025

@jschwe could you take a look at OHOS failure, because I suspect it's not CI problem. Having backtrace would be useful.

@jschwe
Copy link
Copy Markdown
Member

jschwe commented Feb 1, 2025

I can reproduce the crash locally on this branch. Here is a backtrace (manually created). Does it work on android currently?

Reason:Signal:SIGSEGV(SEGV_MAPERR)@0x0000000000000035  probably caused by NULL pointer dereference

#1:         unsafe { strlen(s) } // core::src::ffi::c_str.rs:755 - strlen_rt
#2:         Self::from_loader_function_cstr(move |name| loader_function(name.to_str().unwrap())) // glow/native.rs:111
#3:         let mut context = device.create_context(&context_descriptor, None)?; // (webrender/rendering_context.rs:219
#4    let rendering_context = SurfmanRenderingContext::create(&connection, &adapter, None) // simpleservo.rs:80

@sagudev
Copy link
Copy Markdown
Member Author

sagudev commented Feb 1, 2025

Does it work on android currently?

CI passes, but I do not have android testing setup so IDK.

@sagudev
Copy link
Copy Markdown
Member Author

sagudev commented Feb 1, 2025

I can reproduce the crash locally on this branch. Here is a backtrace (manually created). Does it work on android currently?

Reason:Signal:SIGSEGV(SEGV_MAPERR)@0x0000000000000035  probably caused by NULL pointer dereference

#1:         unsafe { strlen(s) } // core::src::ffi::c_str.rs:755 - strlen_rt
#2:         Self::from_loader_function_cstr(move |name| loader_function(name.to_str().unwrap())) // glow/native.rs:111
#3:         let mut context = device.create_context(&context_descriptor, None)?; // (webrender/rendering_context.rs:219
#4    let rendering_context = SurfmanRenderingContext::create(&connection, &adapter, None) // simpleservo.rs:80

Would it be possible to obtain proper backtrace? Some steps are missing between 1 and 2.

@jschwe
Copy link
Copy Markdown
Member

jschwe commented Feb 1, 2025

So the issue seems to be in glow/src/native:rs - Context::from_loader_function_cstr().
On my android phone I encounter the panic at line 59 panic!("Reading GL_VERSION failed. Make sure there is a valid GL context currently active."), while on my ohos device the std::ffi::CStr::from_ptr() call in the following line segfaults.

@sagudev
Copy link
Copy Markdown
Member Author

sagudev commented Feb 2, 2025

So the issue seems to be in glow/src/native:rs - Context::from_loader_function_cstr(). On my android phone I encounter the panic at line 59 panic!("Reading GL_VERSION failed. Make sure there is a valid GL context currently active."), while on my ohos device the std::ffi::CStr::from_ptr() call in the following line segfaults.

I am able to reproduce this in surfman CI (I added android emulation): https://github.com/sagudev/surfman/actions/runs/13099337219/job/36545598132#step:6:629

@sagudev
Copy link
Copy Markdown
Member Author

sagudev commented Feb 3, 2025

For reference, work is happening in servo/surfman#331.

@sagudev sagudev added the T-full Do a full try run label Feb 3, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 3, 2025

Test results for linux-wpt-layout-2020 from try job (#13107072688):

Flaky unexpected result (22)
  • TIMEOUT [expected PASS] /_mozilla/gfx-rs-gecko/descriptor-ranges.html (#23258)
  • TIMEOUT [expected OK] /_webgl/conformance/reading/read-pixels-test.html
  • OK /_webgl/conformance/textures/misc/texture-upload-size.html (#21770)
    • FAIL [expected PASS] subtest: WebGL test #108: could not create image (SVG)

      assert_true: could not create image (SVG) expected true got false
      

  • OK /css/css-values/cap-invalidation.html (#32757)
    • FAIL [expected PASS] subtest: CSS Values and Units Test: cap invalidation

      uncaught exception: Error: assert_not_equals: expect the capital height of Ahem and sans-serif to be different got disallowed value 371.3333333333333
      

  • PASS [expected FAIL] /css/selectors/invalidation/any-link-attribute-removal.html (#35054)
  • OK /custom-elements/form-associated/ElementInternals-setFormValue.html (#29174)
    • PASS [expected FAIL] subtest: Newline normalization - \r\n in value (urlencoded)
  • OK /fetch/content-length/api-and-duplicate-headers.any.worker.html (#35197)
    • FAIL [expected PASS] subtest: fetch() and duplicate Content-Length/Content-Type headers

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

  • OK /fetch/metadata/generated/css-font-face.https.sub.tentative.html (#32732)
    • PASS [expected FAIL] subtest: sec-fetch-user
  • OK /fetch/metadata/generated/css-font-face.sub.tentative.html (#34624)
    • PASS [expected FAIL] subtest: sec-fetch-storage-access - Not sent to non-trustworthy same-origin destination
    • PASS [expected FAIL] subtest: sec-fetch-storage-access - Not sent to non-trustworthy same-site destination
    • 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/006.html (#21382)
    • PASS [expected FAIL] subtest: Link with onclick form submit and href navigation
  • 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/replace-before-load/a-click.html (#28697)
    • PASS [expected FAIL] subtest: aElement.click() before the load event must NOT replace
  • OK /html/browsers/history/the-history-interface/traverse_the_history_3.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, 3] length 2, got [6, 1, 1] length 3
      

  • PASS [expected FAIL] /html/canvas/element/manual/drawing-text-to-the-canvas/canvas.2d.disconnected-font-size-math.html (#30063)
  • PASS [expected FAIL] /html/canvas/element/manual/text/canvas.2d.disconnected.html (#30063)
  • CRASH [expected OK] /html/canvas/offscreen/canvas-host/2d.canvas.host.size.large.worker.html (#30164)
  • OK /html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-location-replace.html (#32604)
    • FAIL [expected PASS] subtest: Navigating iframe loading='lazy' before it is loaded: location.replace

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

  • OK /html/semantics/forms/form-submission-0/text-plain.window.html (#28687)
    • PASS [expected FAIL] subtest: text/plain: \r\n in name (formdata event)
  • OK /html/semantics/forms/form-submission-0/urlencoded2.window.html (#28687)
    • PASS [expected FAIL] subtest: application/x-www-form-urlencoded: Basic test (normal form)
  • 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 /workers/WorkerGlobalScope-close.html (#23064)
    • PASS [expected FAIL] subtest: Test sending a message after closing.
  • OK [expected ERROR] /workers/constructors/Worker/Worker-constructor.html (#22991)
Stable unexpected results that are known to be intermittent (14)
  • TIMEOUT /FileAPI/url/url-in-tags-revoke.window.html (#19978)
    • PASS [expected TIMEOUT] subtest: Fetching a blob URL immediately before revoking it works in &lt;script&gt; tags.
  • FAIL [expected PASS] /_mozilla/css/iframe/hide_and_show.html (#15265)
  • ERROR [expected OK] /fetch/fetch-later/quota/same-origin-iframe/empty-payload.tentative.https.window.html (#35176)
  • 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
  • OK /html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.html (#29049)
    • PASS [expected FAIL] subtest: Same-origin navigation started from unload handler must be ignored
  • OK /html/browsers/history/the-history-interface/traverse_the_history_4.html (#21383)
    • PASS [expected FAIL] subtest: Multiple history traversals, last would be aborted
  • CRASH [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html (#22667)
  • CRASH [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html (#24057)
  • OK [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html (#22154)
  • TIMEOUT [expected CRASH] /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 /html/semantics/forms/historical.html (#28568)
    • FAIL [expected PASS] subtest: &lt;input name=isindex&gt; should not be supported

      assert_regexp_match: expected object "/\?isindex=x$/" but got "about:blank"
      

  • OK /navigation-timing/test-navigation-type-reload.html (#33334)
    • PASS [expected FAIL] subtest: Reload domComplete &gt; Original domComplete
    • PASS [expected FAIL] subtest: Reload loadEventEnd &gt; Original loadEventEnd
    • PASS [expected FAIL] subtest: Reload loadEventStart &gt; Original loadEventStart
  • OK /resize-observer/change-layout-in-error.html (#32629)
    • PASS [expected FAIL] subtest: Changing layout in window error handler should not result in lifecyle loop when resize observer loop limit is reached.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 3, 2025

⚠️ Try run (#13107072688) failed.

@sagudev sagudev requested a review from mrobinson February 4, 2025 07:02
@sagudev sagudev marked this pull request as ready for review February 4, 2025 07:02
Copy link
Copy Markdown
Member

@jdm jdm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hooray! Thanks for dealing with all of the subtle issues along the way!

Signed-off-by: sagudev <[email protected]>
Signed-off-by: sagudev <[email protected]>
Signed-off-by: sagudev <[email protected]>
Signed-off-by: sagudev <[email protected]>
Signed-off-by: sagudev <[email protected]>
Signed-off-by: sagudev <[email protected]>
@sagudev
Copy link
Copy Markdown
Member Author

sagudev commented Feb 5, 2025

rebased!

@sagudev sagudev enabled auto-merge February 5, 2025 05:42
@sagudev sagudev added this pull request to the merge queue Feb 5, 2025
Merged via the queue into servo:main with commit 503bb10 Feb 5, 2025
@sagudev sagudev deleted the glowing_surfman branch February 5, 2025 06:43
@sagudev sagudev restored the glowing_surfman branch February 9, 2025 06:59
sagudev added a commit to sagudev/servo that referenced this pull request Feb 10, 2025
sagudev added a commit to sagudev/servo that referenced this pull request Feb 10, 2025
github-merge-queue bot pushed a commit that referenced this pull request Feb 10, 2025
sagudev added a commit to sagudev/servo that referenced this pull request Feb 11, 2025
sagudev added a commit to sagudev/servo that referenced this pull request Feb 11, 2025
github-merge-queue bot pushed a commit that referenced this pull request Feb 13, 2025
* Reapply "Use surfman with glow bindings (#34328)" (#35402)

This reverts commit 0fed995.

Signed-off-by: sagudev <[email protected]>

* update surfman

Signed-off-by: sagudev <[email protected]>

---------

Signed-off-by: sagudev <[email protected]>
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.

4 participants