Closed Bug 1899446 Opened 9 months ago Closed 9 months ago

Assertion failure: to.is_some() == from.is_some() || matches!(to, Some(AnimationValue::Custom(..)))) when removing custom property registration

Categories

(Core :: CSS Transitions and Animations, defect)

defect

Tracking

()

RESOLVED FIXED
128 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox126 --- wontfix
firefox127 --- wontfix
firefox128 --- fixed

People

(Reporter: zrhoffman, Assigned: zrhoffman)

References

(Regression, )

Details

(Keywords: regression)

Attachments

(2 files)

Attached file testcase.html

See testcase.

Top 25 frames:

#0  0x000071ffd6607f43 in __GI___clock_nanosleep (clock_id=clock_id@entry=0, flags=flags@entry=0, req=req@entry=0x7ffe85ce3420, rem=rem@entry=0x7ffe85ce3420) at ../sysdeps/unix/sysv/linux/clock_nanosleep.c:48
#1  0x000071ffd6613d77 in __GI___nanosleep (req=req@entry=0x7ffe85ce3420, rem=rem@entry=0x7ffe85ce3420) at ../sysdeps/unix/sysv/linux/nanosleep.c:25
#2  0x000071ffd6625e51 in __sleep (seconds=0) at ../sysdeps/posix/sleep.c:55
#3  0x000071ffc6d5ce70 in common_crap_handler (signum=11, aFirstFramePC=0x71ffc88fd833 <WasmTrapHandler(int, siginfo_t*, void*)+675>) at /home/zrhoffman/hg.mozilla.org/gecko-dev/toolkit/xre/nsSigHandlers.cpp:100
#4  0x000071ffc6d5cff7 in child_ah_crap_handler (signum=11) at /home/zrhoffman/hg.mozilla.org/gecko-dev/toolkit/xre/nsSigHandlers.cpp:114
#5  0x000071ffc88fd833 in WasmTrapHandler (signum=11, info=0x7ffe85ce3630, context=0x7ffe85ce3500) at /home/zrhoffman/hg.mozilla.org/gecko-dev/js/src/wasm/WasmSignalHandlers.cpp:799
#6  0x000071ffd6565ae0 in <signal handler called> () at /usr/lib/libc.so.6
#7  0x000071ffcb3326a7 in MOZ_Crash (aFilename=0x7ffe85ce4504 "servo/components/style/gecko/wrapper.rs", aLine=896, aReason=0x7ffe85ce4300 "assertion failed: to.is_some() == from.is_some() ||\n    matches!(to, Some(AnimationValue::Custom(..)))")
    at /home/zrhoffman/hg.mozilla.org/gecko-dev/obj-x86_64-pc-linux-gnu/dist/include/mozilla/Assertions.h:317
#8  RustMozCrash (aFilename=0x7ffe85ce4504 "servo/components/style/gecko/wrapper.rs", aLine=896, aReason=0x7ffe85ce4300 "assertion failed: to.is_some() == from.is_some() ||\n    matches!(to, Some(AnimationValue::Custom(..)))") at wrappers.cpp:18
#9  0x000071ffcb330102 in mozglue_static::panic_hook (info=0x7ffe85ce4850) at mozglue/static/rust/lib.rs:98
#10 0x000071ffcb330a69 in core::ops::function::Fn::call<fn(&core::panic::panic_info::PanicInfo), (&core::panic::panic_info::PanicInfo)> () at /rustc/d9e85b56e7f85f7fdabff71f217b7bb2cee0ef68/library/core/src/ops/function.rs:79
#11 0x000071ffcd35ca26 in alloc::boxed::{impl#50}::call<(&core::panic::panic_info::PanicInfo), (dyn core::ops::function::Fn<(&core::panic::panic_info::PanicInfo), Output=()> + core::marker::Send + core::marker::Sync), alloc::alloc::Global> ()
    at library/alloc/src/boxed.rs:2036
#12 std::panicking::rust_panic_with_hook () at library/std/src/panicking.rs:799
#13 0x000071ffcd35c79b in std::panicking::begin_panic_handler::{closure#0} () at library/std/src/panicking.rs:656
#14 0x000071ffcd35a0a9 in std::sys_common::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::{closure_env#0}, !> () at library/std/src/sys_common/backtrace.rs:171
#15 0x000071ffcd35c507 in std::panicking::begin_panic_handler () at library/std/src/panicking.rs:652
#16 0x000071ffcd3a50e3 in core::panicking::panic_fmt () at library/core/src/panicking.rs:72
#17 0x000071ffcd3a518c in core::panicking::panic () at library/core/src/panicking.rs:146
#18 0x000071ffcc6c46f6 in style::gecko::wrapper::GeckoElement::needs_transitions_update_per_property
    (self=0x7ffe85ce5530, property_declaration_id=..., combined_duration_seconds=100, before_change_style=0x71ffae6a6a08, after_change_style=0x71ffae6a6d08, existing_transitions=0x7ffe85ce4cb8) at servo/components/style/gecko/wrapper.rs:896
#19 0x000071ffcc6c60ee in style::gecko::wrapper::{impl#13}::needs_transitions_update (self=0x7ffe85ce5530, before_change_style=0x71ffae6a6a08, after_change_style=0x71ffae6a6d08) at servo/components/style/gecko/wrapper.rs:1565
#20 0x000071ffcc5d4590 in style::matching::PrivateMatchMethods::process_transitions<style::gecko::wrapper::GeckoElement> (self=0x7ffe85ce5530, context=0x7ffe85ce6108, old_values=..., new_styles=0x7ffe85ce59f8) at servo/components/style/matching.rs:522
#21 0x000071ffcc5d4229 in style::matching::PrivateMatchMethods::process_animations<style::gecko::wrapper::GeckoElement> (self=0x7ffe85ce5530, context=0x7ffe85ce6108, old_styles=0x71ffac707628, new_styles=0x7ffe85ce59f8, restyle_hint=..., important_rules_changed=true)
    at servo/components/style/matching.rs:592
#22 0x000071ffcc5d30de in style::matching::MatchMethods::finish_restyle<style::gecko::wrapper::GeckoElement> (self=0x7ffe85ce5530, context=0x7ffe85ce6108, data=0x71ffac707628, new_styles=..., important_rules_changed=true) at servo/components/style/matching.rs:1029
#23 0x000071ffcc4f9021 in style::traversal::compute_style<style::gecko::wrapper::GeckoElement> (traversal_data=0x7ffe85ce5fe0, context=0x7ffe85ce6108, element=..., data=0x71ffac707628, kind=...) at servo/components/style/traversal.rs:698
#24 0x000071ffcc4fa821 in style::traversal::recalc_style_at<style::gecko::wrapper::GeckoElement, style::gecko::traversal::RecalcStyleOnly, style::parallel::style_trees::{closure_env#0}<style::gecko::wrapper::GeckoElement, style::gecko::traversal::RecalcStyleOnly>>
    (_traversal=0x7ffe85ce7aa8, traversal_data=0x7ffe85ce5fe0, context=0x7ffe85ce6108, element=..., data=0x71ffac707628, note_child=...) at servo/components/style/traversal.rs:432

If getComputedStyle(...).getPropertyValue is called on a registered
custom property that is used in a transition and that custom property's
registration is removed, to can be None.

See Also: → 1899406
Pushed by zach@zrhoffman.net: https://hg.mozilla.org/integration/autoland/rev/ca745191b7c5 Allow transitioning from a custom property to None. r=firefox-animation-reviewers,firefox-style-system-reviewers,boris

Set release status flags based on info from the regressing bug 1875546

Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/46528 for changes under testing/web-platform/tests
Upstream PR merged by moz-wptsync-bot
Status: ASSIGNED → RESOLVED
Closed: 9 months ago
Resolution: --- → FIXED
Target Milestone: --- → 128 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: