Closed Bug 1398132 Opened 4 years ago Closed 4 years ago

Stylo: Crash [style::properties::animated_properties::{{impl}}::animate (self=0x0, other=0x0, procedure=...)]

Categories

(Core :: CSS Parsing and Computation, defect, P3)

defect

Tracking

()

RESOLVED DUPLICATE of bug 1395708

People

(Reporter: baku, Unassigned)

Details

STR: open https://www.mediafire.com/#myfiles

Thread 41 "StyleThread#5" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f6c295bc700 (LWP 12967)]
0x00007f6cb4403a2e in style::properties::animated_properties::{{impl}}::animate (self=0x0, other=0x0, procedure=...)
    at /home/baku/Sources/m/foobar/build/toolkit/library/x86_64-unknown-linux-gnu/debug/build/style-c1f814f84a8c0195/out/properties.rs:83550
83550	    fn animate(&self, other: &Self, procedure: Procedure) -> Result<Self, ()> {
(gdb) bt
#0  0x00007f6cb4403a2e in style::properties::animated_properties::{{impl}}::animate (self=0x0, other=0x0, procedure=...)
    at /home/baku/Sources/m/foobar/build/toolkit/library/x86_64-unknown-linux-gnu/debug/build/style-c1f814f84a8c0195/out/properties.rs:83550
#1  0x00007f6cb3bbca55 in geckoservo::glue::Servo_AnimationCompose (raw_value_map=0x7f6c295b4ed0, base_values=0x4dae778, css_property=eCSSProperty_background_color, segment=0x4daf358, last_segment=0x4daf358, 
    computed_timing=0x7f6c295b4bb0, iteration_composite=Replace) at /home/baku/Sources/m/foobar/src/servo/ports/geckolib/glue.rs:553
#2  0x00007f6cad95d311 in mozilla::dom::KeyframeEffectReadOnly::ComposeStyleRule (this=0x4dae6b0, aAnimationValues=..., aProperty=..., aSegment=..., aComputedTiming=...)
    at /home/baku/Sources/m/foobar/src/dom/animation/KeyframeEffectReadOnly.cpp:672
#3  0x00007f6cad96de42 in mozilla::dom::KeyframeEffectReadOnly::ComposeStyle<RawServoAnimationValueMap&> (this=0x4dae6b0, aComposeResult=..., aPropertiesToSkip=...)
    at /home/baku/Sources/m/foobar/src/dom/animation/KeyframeEffectReadOnly.cpp:731
#4  0x00007f6cad96b7a5 in mozilla::dom::Animation::ComposeStyle<RawServoAnimationValueMap&> (this=0x4daeaa0, aComposeResult=..., aPropertiesToSkip=...)
    at /home/baku/Sources/m/foobar/src/dom/animation/Animation.cpp:1018
#5  0x00007f6cad957d3f in mozilla::EffectCompositor::GetServoAnimationRule (this=0x318b590, aElement=0x20c1df0, aPseudoType=mozilla::CSSPseudoElementType::NotPseudo, 
    aCascadeLevel=mozilla::EffectCompositor::CascadeLevel::Transitions, aAnimationValues=0x7f6c295b4ed0) at /home/baku/Sources/m/foobar/src/dom/animation/EffectCompositor.cpp:516
#6  0x00007f6caff37efd in Gecko_GetAnimationRule (aElement=0x20c1df0, aCascadeLevel=mozilla::EffectCompositor::CascadeLevel::Transitions, aAnimationValues=0x7f6c295b4ed0)
    at /home/baku/Sources/m/foobar/src/layout/style/ServoBindings.cpp:636
#7  0x00007f6cb40e575a in style::gecko::wrapper::get_animation_rule (element=0x7f6c295b5ee0, cascade_level=Transitions) at /home/baku/Sources/m/foobar/src/servo/components/style/gecko/wrapper.rs:801
#8  0x00007f6cb40e6307 in style::gecko::wrapper::{{impl}}::get_transition_rule (self=0x7f6c295b5ee0) at /home/baku/Sources/m/foobar/src/servo/components/style/gecko/wrapper.rs:1002
#9  0x00007f6cb5091118 in style::dom::TElement::get_animation_rules<style::gecko::wrapper::GeckoElement> (self=0x7f6c295b5ee0) at /home/baku/Sources/m/foobar/src/servo/components/style/dom.rs:354
#10 0x00007f6cb5348abc in style::style_resolver::{{impl}}::match_primary<style::gecko::wrapper::GeckoElement> (self=0x7f6c295b5ee0, visited_handling=AllLinksUnvisited)
    at /home/baku/Sources/m/foobar/src/servo/components/style/style_resolver.rs:387
#11 0x00007f6cb534984e in style::style_resolver::{{impl}}::resolve_primary_style<style::gecko::wrapper::GeckoElement> (self=0x7f6c295b5ee0, parent_style=..., layout_parent_style=...)
    at /home/baku/Sources/m/foobar/src/servo/components/style/style_resolver.rs:131
#12 0x00007f6cb5349214 in style::style_resolver::{{impl}}::resolve_style<style::gecko::wrapper::GeckoElement> (self=0x7f6c295b5ee0, parent_style=..., layout_parent_style=...)
    at /home/baku/Sources/m/foobar/src/servo/components/style/style_resolver.rs:179
#13 0x00007f6cb5349f0f in style::style_resolver::{{impl}}::resolve_style_with_default_parents::{{closure}}<style::gecko::wrapper::GeckoElement> (parent_style=..., layout_parent_style=...)
    at /home/baku/Sources/m/foobar/src/servo/components/style/style_resolver.rs:218
#14 0x00007f6cb5421a42 in style::style_resolver::with_default_parent_styles<style::gecko::wrapper::GeckoElement,closure,style::data::ElementStyles> (element=..., f=...)
    at /home/baku/Sources/m/foobar/src/servo/components/style/style_resolver.rs:76
#15 0x00007f6cb5349e9b in style::style_resolver::{{impl}}::resolve_style_with_default_parents<style::gecko::wrapper::GeckoElement> (self=0x7f6c295b5ee0)
    at /home/baku/Sources/m/foobar/src/servo/components/style/style_resolver.rs:217
#16 0x00007f6cb3af9c5e in style::traversal::compute_style<style::gecko::wrapper::GeckoElement> (traversal_data=0x7f6c295b7210, context=0x7f6c295b7668, element=..., data=0x3862d58)
    at /home/baku/Sources/m/foobar/src/servo/components/style/traversal.rs:676
#17 0x00007f6cb542ecbe in style::traversal::recalc_style_at<style::gecko::wrapper::GeckoElement,style::gecko::traversal::RecalcStyleOnly,closure> (traversal=0x7ffcc1e32b38, traversal_data=0x7f6c295b7210, 
    context=0x7f6c295b7668, element=..., data=0x3862d58, note_child=...) at /home/baku/Sources/m/foobar/src/servo/components/style/traversal.rs:477
#18 0x00007f6cb5391036 in style::gecko::traversal::{{impl}}::process_preorder<closure> (self=0x7ffcc1e32b38, traversal_data=0x7f6c295b7210, context=0x7f6c295b7668, node=..., note_child=...)
    at /home/baku/Sources/m/foobar/src/servo/components/style/gecko/traversal.rs:37
#19 0x00007f6cb542ae59 in style::parallel::top_down_dom<style::gecko::wrapper::GeckoElement,style::gecko::traversal::RecalcStyleOnly> (nodes=..., root=..., traversal_data=..., scope=0x7f6c295ba220, 
    pool=0x2e0bd28, traversal=0x7ffcc1e32b38, tls=0x7ffcc1e32130) at /home/baku/Sources/m/foobar/src/servo/components/style/parallel.rs:188
#20 style::parallel::traverse_nodes<style::gecko::wrapper::GeckoElement,style::gecko::traversal::RecalcStyleOnly,smallvec::Drain<style::dom::SendNode<style::gecko::wrapper::GeckoNode>>> (nodes=..., 
    mode=TailCall, recursion_ok=true, root=..., traversal_data=..., scope=0x7f6c295ba220, pool=0x2e0bd28, traversal=0x7ffcc1e32b38, tls=0x7ffcc1e32130)
    at /home/baku/Sources/m/foobar/src/servo/components/style/parallel.rs:267
#21 0x00007f6cb542c892 in style::parallel::top_down_dom<style::gecko::wrapper::GeckoElement,style::gecko::traversal::RecalcStyleOnly> (nodes=..., root=..., traversal_data=..., scope=0x7f6c295ba220, 
    pool=0x2e0bd28, traversal=0x7ffcc1e32b38, tls=0x7ffcc1e32130) at /home/baku/Sources/m/foobar/src/servo/components/style/parallel.rs:204
#22 style::parallel::traverse_nodes::{{closure}}<style::gecko::wrapper::GeckoElement,style::gecko::traversal::RecalcStyleOnly,smallvec::Drain<style::dom::SendNode<style::gecko::wrapper::GeckoNode>>> (
    scope=0x7f6c295ba220) at /home/baku/Sources/m/foobar/src/servo/components/style/parallel.rs:282
#23 0x00007f6cb536c7de in rayon_core::scope::{{impl}}::execute_job_closure::{{closure}}<closure,()> () at /home/baku/Sources/m/foobar/src/third_party/rust/rayon-core/src/scope/mod.rs:354
#24 0x00007f6cb548131b in std::panic::{{impl}}::call_once<(),closure> (self=..., _args=0) at /checkout/src/libstd/panic.rs:296
#25 0x00007f6cb53a5bda in std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure>,()> (data=0x7f6c295b8ac8 "") at /checkout/src/libstd/panicking.rs:454
#26 0x00007f6cb4f0b11c in panic_abort::__rust_maybe_catch_panic () at /checkout/src/libpanic_abort/lib.rs:40
#27 0x00007f6cb53a546d in std::panicking::try<(),std::panic::AssertUnwindSafe<closure>> (f=...) at /checkout/src/libstd/panicking.rs:433
#28 0x00007f6cb53a4996 in std::panic::catch_unwind<std::panic::AssertUnwindSafe<closure>,()> (f=...) at /checkout/src/libstd/panic.rs:361
#29 0x00007f6cb3a01f65 in rayon_core::unwind::halt_unwinding<closure,()> (func=...) at /home/baku/Sources/m/foobar/src/third_party/rust/rayon-core/src/unwind.rs:19
#30 0x00007f6cb536bc9f in rayon_core::scope::{{impl}}::execute_job_closure<closure,()> (self=0x7f6c295ba220, func=...) at /home/baku/Sources/m/foobar/src/third_party/rust/rayon-core/src/scope/mod.rs:354
#31 0x00007f6cb536b9a1 in rayon_core::scope::{{impl}}::execute_job<closure> (self=0x7f6c295ba220, func=...) at /home/baku/Sources/m/foobar/src/third_party/rust/rayon-core/src/scope/mod.rs:343
#32 0x00007f6cb3a01d68 in rayon_core::scope::{{impl}}::spawn::{{closure}}<closure> () at /home/baku/Sources/m/foobar/src/third_party/rust/rayon-core/src/scope/mod.rs:274
#33 0x00007f6cb3b31a57 in rayon_core::job::{{impl}}::execute<closure> (this=0x7f6bf0016cf0) at /home/baku/Sources/m/foobar/src/third_party/rust/rayon-core/src/job.rs:142
#34 0x00007f6cb4c03190 in rayon_core::job::{{impl}}::execute (self=0x7f6c295b9d10) at /home/baku/Sources/m/foobar/src/third_party/rust/rayon-core/src/job.rs:55
#35 0x00007f6cb4c055df in rayon_core::registry::{{impl}}::execute (self=0x7f6c295bb7c0, job=...) at /home/baku/Sources/m/foobar/src/third_party/rust/rayon-core/src/registry.rs:476
#36 0x00007f6cb4c052ee in rayon_core::registry::{{impl}}::wait_until_cold<rayon_core::latch::CountLatch> (self=0x7f6c295bb7c0, latch=0x7f6c295ba230)
---Type <return> to continue, or q <return> to quit---
Do you need to be logged in? I can't repro on the latest nightly.
Flags: needinfo?(amarchesini)
(In reply to Emilio Cobos Álvarez [:emilio] from comment #1)
> Do you need to be logged in? I can't repro on the latest nightly.

Yes. you must be logged in. Some additional information: I was using a debug build, with a couple of my patches (nothing related to layout, and all of them currently in m-i).
Flags: needinfo?(amarchesini)
Does it repro with STYLO_THREADS=1? It could be a stack overflow like bug 1395708, there are a few functions there which use a lot of the stack...
Also, what does rustc --version say? https://github.com/servo/servo/pull/18420 failed with a few stack-related assertions, so it could be a similar problem...
Yeah. If this is a debug build from before bug 1395708 landed, I could imagine stack overflow. baku, can you verify whether that was the case?
Flags: needinfo?(amarchesini)
Priority: -- → P3
Yes, I cannot reproduce the crash after a tree update. And it's possible that my build was older than bug 1395708.
I'll reopen the bug in case I have something more to share.
Status: NEW → RESOLVED
Closed: 4 years ago
Flags: needinfo?(amarchesini)
Resolution: --- → DUPLICATE
Duplicate of bug: 1395708
Group: dom-core-security
You need to log in before you can comment on or make changes to this bug.