Closed Bug 1394586 Opened 2 years ago Closed 2 years ago

stylo: panicked at '<img> has still dirty bit true or animation-only dirty bit true'

Categories

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

defect

Tracking

()

RESOLVED FIXED
mozilla57
Tracking Status
firefox-esr52 --- unaffected
firefox55 --- unaffected
firefox56 --- unaffected
firefox57 --- fixed

People

(Reporter: bc, Assigned: emilio)

References

(Blocks 1 open bug, )

Details

(Keywords: crash)

Attachments

(2 files)

Attached file log
export STYLO_FORCE_ENABLED=1
export RUST_BACKTRACE=1

https://nokia-software-updater.en.softonic.com/#app-softonic-review

thread '<unnamed>' panicked at '<img> (0x7f233622dbc0) has still dirty bit true or animation-only dirty bit true', /mozilla/builds/nightly/mozilla/servo/ports/geckolib/glue.rs:3311
stack backtrace:
   0: std::sys::imp::backtrace::tracing::imp::unwind_backtrace
             at /checkout/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: std::sys_common::backtrace::_print
             at /checkout/src/libstd/sys_common/backtrace.rs:71
   2: std::panicking::default_hook::{{closure}}
             at /checkout/src/libstd/sys_common/backtrace.rs:60
             at /checkout/src/libstd/panicking.rs:355
   3: std::panicking::default_hook
             at /checkout/src/libstd/panicking.rs:371
   4: std::panicking::rust_panic_with_hook
             at /checkout/src/libstd/panicking.rs:549
   5: std::panicking::begin_panic
             at /checkout/src/libstd/panicking.rs:511
   6: std::panicking::begin_panic_fmt
             at /checkout/src/libstd/panicking.rs:495
   7: geckoservo::glue::Servo_AssertTreeIsClean::assert_subtree_is_clean
             at /mozilla/builds/nightly/mozilla/servo/ports/geckolib/glue.rs:3311

reproduced on Linux x64 from https://hg.mozilla.org/mozilla-central/rev/e2efa420beb1a578c7350ba925c82230da6b1267

This is with a build that includes the patch from Bug 1389645 - stylo: panicked at '<div> has still dirty bit true or animation-only dirty bit false'
Flags: needinfo?(emilio)
Priority: -- → P2
Assignee: nobody → emilio
Flags: needinfo?(emilio)
rr is awesome, finding this without it would've been impossible.
Comment on attachment 8902263 [details]
Bug 1394586: Unconditionally clear the restyle flags on Element::BindToTree.

https://reviewboard.mozilla.org/r/173794/#review179126

::: dom/base/Element.cpp:1611
(Diff revision 1)
> -    // And the restyle bits
> -    UnsetRestyleFlagsIfGecko();
> +               // And the restyle bits. These shouldn't even get set if we came
> +               // from a Servo-styled document, but they may be set if the
> +               // element comes from a Gecko-backed document, see bug 1394586.

Expand this comment a bit to say that we should be able to remove this when we drop support for the old style system.

::: dom/base/Element.cpp:1622
(Diff revision 1)
> -    UnsetFlags(NODE_FORCE_XBL_BINDINGS |
> -               NODE_NEEDS_FRAME | NODE_DESCENDANTS_NEED_FRAMES);
> +    UnsetFlags(NODE_FORCE_XBL_BINDINGS | NODE_NEEDS_FRAME |
> +               NODE_DESCENDANTS_NEED_FRAMES | ELEMENT_ALL_RESTYLE_FLAGS);

Reference the other comment from here.
Attachment #8902263 - Flags: review?(bobbyholley) → review+
Pushed by ecoal95@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/5735af08cfef
Unconditionally clear the restyle flags on Element::BindToTree. r=bholley
https://hg.mozilla.org/mozilla-central/rev/5735af08cfef
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
Version: unspecified → Trunk
You need to log in before you can comment on or make changes to this bug.