servo/servo

servoshell sometimes panics in WebRender hit test when exiting

Closed this issue · 0 comments

delan commented

To reproduce on bccbc87:

  • build and run in debug mode
  • move your mouse in small circles that intersect the edge of a link, so the cursor keeps changing
  • while moving your mouse, press Esc
called `Result::unwrap()` on an `Err` value: "SendError(..)" (thread main, at /home/delan/.cargo/git/checkouts/webrender-c3596abe1cf4f320/9d354ad/webrender/src/render_api.rs:1243)
   0: servoshell::backtrace::print
             at /cuffs/code/servo/ports/servoshell/backtrace.rs:18:5
   1: servoshell::main::{{closure}}
             at /cuffs/code/servo/ports/servoshell/lib.rs:134:21
   2: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/alloc/src/boxed.rs:2021:9
      std::panicking::rust_panic_with_hook
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:735:13
   3: std::panicking::begin_panic_handler::{{closure}}
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:609:13
   4: std::sys_common::backtrace::__rust_end_short_backtrace
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/sys_common/backtrace.rs:170:18
   5: rust_begin_unwind
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:597:5
   6: core::panicking::panic_fmt
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/panicking.rs:72:14
   7: core::result::unwrap_failed
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/result.rs:1652:5
   8: core::result::Result<T,E>::unwrap
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/result.rs:1077:23
   9: webrender::render_api::RenderApi::send_frame_msg
             at /home/delan/.cargo/git/checkouts/webrender-c3596abe1cf4f320/9d354ad/webrender/src/render_api.rs:1241:9
  10: webrender::render_api::RenderApi::hit_test
             at /home/delan/.cargo/git/checkouts/webrender-c3596abe1cf4f320/9d354ad/webrender/src/render_api.rs:1285:9
  11: compositing::compositor::IOCompositor<Window>::hit_test_at_point_with_flags_and_pipeline
             at /cuffs/code/servo/components/compositing/compositor.rs:1481:13
  12: compositing::compositor::IOCompositor<Window>::hit_test_at_point
             at /cuffs/code/servo/components/compositing/compositor.rs:1466:16
  13: compositing::compositor::IOCompositor<Window>::dispatch_mouse_window_move_event_class
             at /cuffs/code/servo/components/compositing/compositor.rs:1525:28
  14: compositing::compositor::IOCompositor<Window>::on_mouse_window_move_event_class
             at /cuffs/code/servo/components/compositing/compositor.rs:1521:9
  15: servo::Servo<Window>::handle_window_event
             at /cuffs/code/servo/components/servo/lib.rs:645:17
  16: servo::Servo<Window>::handle_events
             at /cuffs/code/servo/components/servo/lib.rs:878:28
  17: servoshell::app::App::handle_events
             at /cuffs/code/servo/ports/servoshell/app.rs:441:28
  18: servoshell::app::App::run::{{closure}}
             at /cuffs/code/servo/ports/servoshell/app.rs:292:19
  19: servoshell::events_loop::EventsLoop::run_forever::{{closure}}
             at /cuffs/code/servo/ports/servoshell/events_loop.rs:100:21
  20: winit::platform_impl::platform::x11::EventLoop<T>::drain_events::{{closure}}::{{closure}}
             at /home/delan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.28.7/src/platform_impl/linux/x11/mod.rs:522:29
  21: winit::platform_impl::platform::sticky_exit_callback
             at /home/delan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.28.7/src/platform_impl/linux/mod.rs:884:9
  22: winit::platform_impl::platform::x11::EventLoop<T>::drain_events::{{closure}}
             at /home/delan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.28.7/src/platform_impl/linux/x11/mod.rs:513:17
  23: winit::platform_impl::platform::x11::event_processor::EventProcessor<T>::process_event
             at /home/delan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.28.7/src/platform_impl/linux/x11/event_processor.rs:786:29
  24: winit::platform_impl::platform::x11::EventLoop<T>::drain_events
             at /home/delan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.28.7/src/platform_impl/linux/x11/mod.rs:512:13
  25: winit::platform_impl::platform::x11::EventLoop<T>::run_return::single_iteration
             at /home/delan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.28.7/src/platform_impl/linux/x11/mod.rs:343:13
  26: winit::platform_impl::platform::x11::EventLoop<T>::run_return
             at /home/delan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.28.7/src/platform_impl/linux/x11/mod.rs:483:27
  27: winit::platform_impl::platform::x11::EventLoop<T>::run
             at /home/delan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.28.7/src/platform_impl/linux/x11/mod.rs:498:25
  28: winit::platform_impl::platform::EventLoop<T>::run
             at /home/delan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.28.7/src/platform_impl/linux/mod.rs:792:56
  29: winit::event_loop::EventLoop<T>::run
             at /home/delan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.28.7/src/event_loop.rs:305:9
  30: servoshell::events_loop::EventsLoop::run_forever
             at /cuffs/code/servo/ports/servoshell/events_loop.rs:99:17
  31: servoshell::app::App::run
             at /cuffs/code/servo/ports/servoshell/app.rs:139:9
  32: servoshell::main
             at /cuffs/code/servo/ports/servoshell/lib.rs:172:5
  33: servo::main
             at /cuffs/code/servo/ports/servoshell/main.rs:26:13
  34: core::ops::function::FnOnce::call_once
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/ops/function.rs:250:5
  35: std::sys_common::backtrace::__rust_begin_short_backtrace
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/sys_common/backtrace.rs:154:18
  36: std::rt::lang_start::{{closure}}
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/rt.rs:166:18
  37: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/ops/function.rs:284:13
      std::panicking::try::do_call
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:504:40
      std::panicking::try
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:468:19
      std::panic::catch_unwind
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panic.rs:142:14
      std::rt::lang_start_internal::{{closure}}
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/rt.rs:148:48
      std::panicking::try::do_call
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:504:40
      std::panicking::try
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:468:19
      std::panic::catch_unwind
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panic.rs:142:14
      std::rt::lang_start_internal
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/rt.rs:148:20
  38: std::rt::lang_start
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/rt.rs:165:17
  39: main
  40: __libc_start_call_main
  41: __libc_start_main_impl
  42: _start
[2024-05-01T06:45:14Z ERROR servoshell] called `Result::unwrap()` on an `Err` value: "SendError(..)"