Skip to content

panic: assertion failed: *progress >= n (thread Script#1, at /home/fred/.cargo/git/checkouts/stylo-482338307e42a9ea/5685b27/style/servo/animation.rs:619) #46335

Description

@fred-wang

Seems similar to #45950

Minimal testcase:

<style>
.class4,#x32:any-link,a {animation: keyframes3 ease-out,ease -1s 0.35 paused;animation-iteration-count: infinite;-webkit-animation-name: keyframes1,keyframes1;-webkit-animation-duration: 0.5s;}
@keyframes keyframes1 {</style>
<shadow id="f3()" class="class4" contextmenu="0">

System: Linux
Version: Version: Servo 0.4.0-c38357777
Command: ../servo/target/debug/servoshell

assertion failed: *progress >= n (thread Script#1, at /home/fred/.cargo/git/checkouts/stylo-482338307e42a9ea/5685b27/style/servo/animation.rs:619)
   0: servoshell::backtrace::print
             at /home/fred/src-obj/servo/ports/servoshell/backtrace.rs:18:5
   1: servoshell::panic_hook::panic_hook
             at /home/fred/src-obj/servo/ports/servoshell/panic_hook.rs:40:17
   2: core::ops::function::Fn::call
             at /home/fred/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:79:5
   3: <alloc::boxed::Box<dyn for<'a, 'b> core::ops::function::Fn<(&'a std::panic::PanicHookInfo<'b>,), Output = ()> + core::marker::Sync + core::marker::Send> as core::ops::function::Fn<(&std::panic::PanicHookInfo,)>>::call
             at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:2254:9
      std::panicking::panic_with_hook
             at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:833:13
   4: std::panicking::panic_handler::{closure#0}
             at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:691:13
   5: std::sys::backtrace::__rust_end_short_backtrace::<std::panicking::panic_handler::{closure#0}, !>
             at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:182:18
   6: __rustc::rust_begin_unwind
             at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:689:5
   7: core::panicking::panic_fmt
             at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panicking.rs:80:14
   8: core::panicking::panic
             at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panicking.rs:150:5
   9: style::servo::animation::Animation::iterate_by
             at /home/fred/.cargo/git/checkouts/stylo-482338307e42a9ea/5685b27/style/servo/animation.rs:619:13
  10: style::servo::animation::Animation::update_from_other
             at /home/fred/.cargo/git/checkouts/stylo-482338307e42a9ea/5685b27/style/servo/animation.rs:748:26
  11: style::servo::animation::maybe_start_animations
             at /home/fred/.cargo/git/checkouts/stylo-482338307e42a9ea/5685b27/style/servo/animation.rs:1877:22
  12: style::servo::animation::ElementAnimationSet::update_animations_for_new_style
             at /home/fred/.cargo/git/checkouts/stylo-482338307e42a9ea/5685b27/style/servo/animation.rs:1266:9
  13: style::matching::PrivateMatchMethods::process_animations_for_style
             at /home/fred/.cargo/git/checkouts/stylo-482338307e42a9ea/5685b27/style/matching.rs:750:27
  14: style::matching::PrivateMatchMethods::process_animations
             at /home/fred/.cargo/git/checkouts/stylo-482338307e42a9ea/5685b27/style/matching.rs:553:34
  15: style::matching::MatchMethods::finish_restyle
             at /home/fred/.cargo/git/checkouts/stylo-482338307e42a9ea/5685b27/style/matching.rs:974:14
  16: style::traversal::compute_style
             at /home/fred/.cargo/git/checkouts/stylo-482338307e42a9ea/5685b27/style/traversal.rs:629:13
  17: style::traversal::recalc_style_at
             at /home/fred/.cargo/git/checkouts/stylo-482338307e42a9ea/5685b27/style/traversal.rs:389:30
  18: <layout::traversal::RecalcStyle as style::traversal::DomTraversal<E>>::process_preorder
             at /home/fred/src-obj/servo/components/layout/traversal.rs:62:9
  19: style::parallel::style_trees
             at /home/fred/.cargo/git/checkouts/stylo-482338307e42a9ea/5685b27/style/parallel.rs:171:19
  20: style::driver::traverse_dom::{{closure}}
             at /home/fred/.cargo/git/checkouts/stylo-482338307e42a9ea/5685b27/style/driver.rs:136:9
  21: style::driver::with_pool_in_place_scope::{{closure}}
             at /home/fred/.cargo/git/checkouts/stylo-482338307e42a9ea/5685b27/style/driver.rs:66:17
  22: rayon_core::scope::do_in_place_scope_fifo::{{closure}}
             at /home/fred/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/scope/mod.rs:462:36
  23: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /home/fred/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:274:9
  24: std::panicking::catch_unwind::do_call
             at /home/fred/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:581:40
  25: __rust_try
  26: std::panicking::catch_unwind
             at /home/fred/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:544:19
      std::panic::catch_unwind
             at /home/fred/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:359:14
  27: rayon_core::unwind::halt_unwinding
             at /home/fred/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/unwind.rs:17:5
  28: rayon_core::scope::ScopeBase::execute_job_closure
             at /home/fred/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/scope/mod.rs:693:28
  29: rayon_core::scope::ScopeBase::complete
             at /home/fred/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/scope/mod.rs:671:31
  30: rayon_core::scope::do_in_place_scope_fifo
             at /home/fred/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/scope/mod.rs:462:16
  31: rayon_core::thread_pool::ThreadPool::in_place_scope_fifo
             at /home/fred/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/thread_pool/mod.rs:327:9
  32: style::driver::with_pool_in_place_scope
             at /home/fred/.cargo/git/checkouts/stylo-482338307e42a9ea/5685b27/style/driver.rs:58:14
  33: style::driver::traverse_dom
             at /home/fred/.cargo/git/checkouts/stylo-482338307e42a9ea/5685b27/style/driver.rs:125:5
  34: layout::layout_impl::LayoutThread::restyle_and_build_trees
             at /home/fred/src-obj/servo/components/layout/layout_impl.rs:1245:26
  35: layout::layout_impl::LayoutThread::handle_reflow
             at /home/fred/src-obj/servo/components/layout/layout_impl.rs:1039:58
  36: <layout::layout_impl::LayoutThread as layout_api::Layout>::reflow::{{closure}}::{{closure}}
             at /home/fred/src-obj/servo/components/layout/layout_impl.rs:693:42
  37: layout_api::with_layout_state
             at /home/fred/src-obj/servo/components/shared/layout/lib.rs:987:5
  38: <layout::layout_impl::LayoutThread as layout_api::Layout>::reflow::{{closure}}
             at /home/fred/src-obj/servo/components/layout/layout_impl.rs:693:16
  39: profile_traits::time::profile
             at /home/fred/src-obj/servo/components/shared/profile/time.rs:212:9
  40: <layout::layout_impl::LayoutThread as layout_api::Layout>::reflow
             at /home/fred/src-obj/servo/components/layout/layout_impl.rs:689:9
  41: <script::dom::window::window::Window>::reflow
             at /home/fred/src-obj/servo/components/script/dom/window/window.rs:2640:60
  42: <script::dom::document::document::Document>::update_the_rendering
             at /home/fred/src-obj/servo/components/script/dom/document/document.rs:3130:57
  43: <script::dom::window::window::Window>::allow_layout_if_necessary
             at /home/fred/src-obj/servo/components/script/dom/window/window.rs:2786:54
  44: <script::dom::document::document::Document>::finish_load
             at /home/fred/src-obj/servo/components/script/dom/document/document.rs:2037:35
  45: <script::dom::servoparser::ServoParser>::finish
             at /home/fred/src-obj/servo/components/script/dom/servoparser/mod.rs:773:23
  46: <script::dom::servoparser::ServoParser>::parse_sync
             at /home/fred/src-obj/servo/components/script/dom/servoparser/mod.rs:673:18
  47: <script::dom::servoparser::ParserContext as script::network_listener::FetchResponseListener>::process_response_eof
             at /home/fred/src-obj/servo/components/script/dom/servoparser/mod.rs:1551:20
  48: <script::script_thread::ScriptThread>::handle_fetch_eof
             at /home/fred/src-obj/servo/components/script/script_thread.rs:4024:21
  49: <script::script_thread::ScriptThread>::handle_navigation_response
             at /home/fred/src-obj/servo/components/script/script_thread.rs:3938:22
  50: <script::script_thread::ScriptThread>::handle_msg_from_script
             at /home/fred/src-obj/servo/components/script/script_thread.rs:2124:22
  51: <script::script_thread::ScriptThread>::handle_msgs::{closure#3}
             at /home/fred/src-obj/servo/components/script/script_thread.rs:1504:38
  52: <script::script_thread::ScriptThread>::profile_event::<<script::script_thread::ScriptThread>::handle_msgs::{closure#3}, bool>
             at /home/fred/src-obj/servo/components/script/script_thread.rs:1760:13
  53: <script::script_thread::ScriptThread>::handle_msgs
             at /home/fred/src-obj/servo/components/script/script_thread.rs:1494:40
  54: <script::script_thread::ScriptThread>::start
             at /home/fred/src-obj/servo/components/script/script_thread.rs:1075:20
  55: <script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{closure#0}::{closure#1}
             at /home/fred/src-obj/servo/components/script/script_thread.rs:513:38
  56: <profile_traits::mem::ProfilerChan>::run_with_memory_reporting::<<script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{closure#0}::{closure#1}, script::messaging::CommonScriptMsg::CollectReports, script::messaging::CommonScriptMsg, script::messaging::ScriptEventLoopSender>
             at /home/fred/src-obj/servo/components/shared/profile/mem.rs:143:9
  57: <script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{closure#0}
             at /home/fred/src-obj/servo/components/script/script_thread.rs:512:40
  58: std::sys::backtrace::__rust_begin_short_backtrace::<<script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{closure#0}, ()>
             at /home/fred/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/backtrace.rs:166:18
  59: std::thread::lifecycle::spawn_unchecked::<<script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{closure#0}, ()>::{closure#1}::{closure#0}
             at /home/fred/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/lifecycle.rs:91:13
  60: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<<script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{closure#0}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
             at /home/fred/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:274:9
  61: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<<script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{closure#0}, ()>::{closure#1}::{closure#0}>, ()>
             at /home/fred/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:581:40
  62: __rust_try
  63: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<<script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{closure#0}, ()>::{closure#1}::{closure#0}>>
             at /home/fred/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:544:19
      std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<<script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{closure#0}, ()>::{closure#1}::{closure#0}>, ()>
             at /home/fred/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:359:14
      std::thread::lifecycle::spawn_unchecked::<<script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{closure#0}, ()>::{closure#1}
             at /home/fred/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/lifecycle.rs:89:26
  64: <std::thread::lifecycle::spawn_unchecked<<script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
             at /home/fred/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  65: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:2240:9
      <std::sys::thread::unix::Thread>::new::thread_start
             at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/thread/unix.rs:118:17
  66: start_thread
             at ./nptl/pthread_create.c:447:8
  67: clone3
             at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78:0

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions