Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RTL layout: assertion failed: self.mode == other.mode #18331

Closed
mateon1 opened this issue Aug 31, 2017 · 1 comment
Closed

RTL layout: assertion failed: self.mode == other.mode #18331

mateon1 opened this issue Aug 31, 2017 · 1 comment

Comments

@mateon1
Copy link
Contributor

@mateon1 mateon1 commented Aug 31, 2017

While this is similar to #18329 - the assertion is just a few lines apart, the backtrace is different enough I believe it should be its own issue.

Minimal testcase:

<style>
  body {
    direction: rtl;
  }
  .row:after {
    clear: both;
    display: table;
  }
  .col {
    float: left;
    width: 1px;
  }
</style>
<div class="col"></div>
<div class="row">text</div>
assertion failed: self.mode == other.mode (thread LayoutThread PipelineId { namespace_id: PipelineNamespaceId(0), index: PipelineIndex(0) }, at /shared/dev/rust/servo/components/style/logical_geometry.rs:212)
stack backtrace:
   0:     0x562985911414 - backtrace::backtrace::libunwind::trace
                        at /shared/dev/rust/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.2/src/backtrace/libunwind.rs:53
                         - backtrace::backtrace::trace<closure>
                        at /shared/dev/rust/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.2/src/backtrace/mod.rs:42
   1:     0x56298590343f - backtrace::capture::{{impl}}::new
                        at /shared/dev/rust/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.2/src/capture.rs:64
   2:     0x5629810bab4c - servo::main::{{closure}}
                        at /shared/dev/rust/servo/ports/servo/main.rs:130
   3:     0x562988381966 - std::panicking::rust_panic_with_hook
                        at /checkout/src/libstd/panicking.rs:611
   4:     0x562981fa3be6 - std::panicking::begin_panic<&str>
                        at /checkout/src/libstd/panicking.rs:571
   5:     0x562981f22d5a - style::logical_geometry::{{impl}}::check_debug
                        at /shared/dev/rust/servo/ports/servo/<panic macros>:3
   6:     0x562981f4c6bb - style::logical_geometry::{{impl}}::add<app_units::app_unit::Au>
                        at /shared/dev/rust/servo/components/style/logical_geometry.rs:355
   7:     0x562981f663fd - layout::floats::{{impl}}::translate
                        at /shared/dev/rust/servo/components/layout/floats.rs:150
   8:     0x562981e7d33b - layout::block::{{impl}}::assign_block_size_block_base
                        at /shared/dev/rust/servo/components/layout/block.rs:1044
                         - layout::block::{{impl}}::fragment
                        at /shared/dev/rust/servo/components/layout/block.rs:1936
   9:     0x562981e770de - layout::block::{{impl}}::assign_block_size
                        at /shared/dev/rust/servo/components/layout/block.rs:1896
  10:     0x562981e76fe9 - layout::block::{{impl}}::assign_block_size_for_inorder_child_if_necessary
                        at /shared/dev/rust/servo/components/layout/block.rs:1876
  11:     0x562981e7c106 - layout::block::{{impl}}::assign_block_size_block_base
                        at /shared/dev/rust/servo/components/layout/block.rs:879
                         - layout::block::{{impl}}::fragment
                        at /shared/dev/rust/servo/components/layout/block.rs:1936
  12:     0x562981e770de - layout::block::{{impl}}::assign_block_size
                        at /shared/dev/rust/servo/components/layout/block.rs:1896
  13:     0x562981e76fe9 - layout::block::{{impl}}::assign_block_size_for_inorder_child_if_necessary
                        at /shared/dev/rust/servo/components/layout/block.rs:1876
  14:     0x562981e78a0f - layout::block::{{impl}}::assign_block_size_block_base
                        at /shared/dev/rust/servo/components/layout/block.rs:879
                         - layout::block::{{impl}}::fragment
                        at /shared/dev/rust/servo/components/layout/block.rs:1929
  15:     0x562981e770de - layout::block::{{impl}}::assign_block_size
                        at /shared/dev/rust/servo/components/layout/block.rs:1896
  16:     0x562981ea4f64 - layout::traversal::{{impl}}::process
                        at /shared/dev/rust/servo/components/layout/traversal.rs:277
  17:     0x562981e9b7cc - layout::sequential::reflow::doit
                        at /shared/dev/rust/servo/components/layout/sequential.rs:48
  18:     0x562981e9b49b - layout::sequential::reflow
                        at /shared/dev/rust/servo/components/layout/sequential.rs:66
  19:     0x5629819294c7 - layout_thread::{{impl}}::solve_constraints
                        at /shared/dev/rust/servo/components/layout_thread/lib.rs:920
  20:     0x562981a9ca18 - layout_thread::{{impl}}::perform_post_style_recalc_layout_passes::{{closure}}
                        at /shared/dev/rust/servo/components/layout_thread/lib.rs:1614
  21:     0x5629819668d8 - profile_traits::time::profile<(),closure>
                        at /shared/dev/rust/servo/components/profile_traits/time.rs:123
  22:     0x562981931d22 - layout_thread::{{impl}}::perform_post_style_recalc_layout_passes
                        at /shared/dev/rust/servo/components/layout_thread/lib.rs:1599
  23:     0x56298192d303 - layout_thread::{{impl}}::handle_reflow
                        at /shared/dev/rust/servo/components/layout_thread/lib.rs:1342
  24:     0x562981a9a80d - layout_thread::{{impl}}::handle_request_helper::{{closure}}
                        at /shared/dev/rust/servo/components/layout_thread/lib.rs:699
  25:     0x562981967a98 - profile_traits::time::profile<(),closure>
                        at /shared/dev/rust/servo/components/profile_traits/time.rs:123
  26:     0x5629819262c8 - layout_thread::{{impl}}::handle_request_helper
                        at /shared/dev/rust/servo/components/layout_thread/lib.rs:696
  27:     0x562981924e6c - layout_thread::{{impl}}::handle_request
                        at /shared/dev/rust/servo/components/layout_thread/lib.rs:643
  28:     0x5629819240cb - layout_thread::{{impl}}::start
                        at /shared/dev/rust/servo/components/layout_thread/lib.rs:556
  29:     0x562981d28ce9 - layout_thread::{{impl}}::create::{{closure}}::{{closure}}
                        at /shared/dev/rust/servo/components/layout_thread/lib.rs:316
  30:     0x562981c421c2 - profile_traits::mem::{{impl}}::run_with_memory_reporting<closure,fn(profile_traits::mem::ReportsChan) -> script_layout_interface::message::Msg,script_layout_interface::message::Msg,std::sync::mpsc::Sender<script_layout_interface::message::Msg>>
                        at /shared/dev/rust/servo/components/profile_traits/mem.rs:63
  31:     0x562981c19c71 - layout_thread::{{impl}}::create::{{closure}}
                        at /shared/dev/rust/servo/components/layout_thread/lib.rs:315
  32:     0x562981af2c9a - std::sys_common::backtrace::__rust_begin_short_backtrace<closure,()>
                        at /checkout/src/libstd/sys_common/backtrace.rs:136
  33:     0x562981af4683 - std::thread::{{impl}}::spawn::{{closure}}::{{closure}}<closure,()>
                        at /checkout/src/libstd/thread/mod.rs:364
  34:     0x562981a9e14a - std::panic::{{impl}}::call_once<(),closure>
                        at /checkout/src/libstd/panic.rs:296
  35:     0x5629819a5772 - std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure>,()>
                        at /checkout/src/libstd/panicking.rs:479
  36:     0x562988388a1c - panic_unwind::__rust_maybe_catch_panic
                        at /checkout/src/libpanic_unwind/lib.rs:98
  37:     0x5629819a4f3c - std::panicking::try<(),std::panic::AssertUnwindSafe<closure>>
                        at /checkout/src/libstd/panicking.rs:458
  38:     0x562981af3615 - std::panic::catch_unwind<std::panic::AssertUnwindSafe<closure>,()>
                        at /checkout/src/libstd/panic.rs:361
  39:     0x562981af447e - std::thread::{{impl}}::spawn::{{closure}}<closure,()>
                        at /checkout/src/libstd/thread/mod.rs:363
  40:     0x562981b5d503 - alloc::boxed::{{impl}}::call_box<(),closure>
                        at /checkout/src/liballoc/boxed.rs:682
  41:     0x56298838061b - alloc::boxed::{{impl}}::call_once<(),()>
                        at /checkout/src/liballoc/boxed.rs:692
                         - std::sys_common::thread::start_thread
                        at /checkout/src/libstd/sys_common/thread.rs:21
                         - std::sys::imp::thread::{{impl}}::new::thread_start
                        at /checkout/src/libstd/sys/unix/thread.rs:84
  42:     0x7fce422ad493 - start_thread
  43:     0x7fce41ddaabe - __clone
  44:                0x0 - <unknown>
ERROR:servo: assertion failed: self.mode == other.mode
@dralley
Copy link
Contributor

@dralley dralley commented Apr 3, 2020

I cannot reproduce this anymore, seems to be fixed.

@jdm jdm closed this Apr 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants
You can’t perform that action at this time.