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

LayoutWorker panic: assertion failed: marker_fragments.len() == 1 #6913

Closed
jdm opened this issue Aug 3, 2015 · 5 comments
Closed

LayoutWorker panic: assertion failed: marker_fragments.len() == 1 #6913

jdm opened this issue Aug 3, 2015 · 5 comments
Assignees
Labels
A-layout/block I-panic Servo encounters a panic.

Comments

@jdm
Copy link
Member

jdm commented Aug 3, 2015

Visit https://html.spec.whatwg.org/ and see:

thread 'LayoutWorker worker 6/6' panicked at 'assertion failed: marker_fragments.len() == 1', /Users/jdm/src/servo/components/layout/construct.rs:1142
stack backtrace:
   1:        0x10f1f92e5 - sys::backtrace::write::h2513b694e23623efOvs
   2:        0x10f1fc920 - panicking::on_panic::h399650fb5f386215wWw
   3:        0x10f1e9cb2 - rt::unwind::begin_unwind_inner::h208861166cac0468HEw
   4:        0x10c3a9a1c - rt::unwind::begin_unwind::h7567921863522175037
   5:        0x10c49b193 - construct::FlowConstructor<'a>::build_flow_for_list_item::h50aa9c1ee5214875KYd
   6:        0x10c480133 - construct::FlowConstructor<'a>.PostorderNodeMutTraversal::process::hd7c626d896c1c16bcbe
   7:        0x10c7d239a - traversal::ConstructFlows<'a>.PostorderDomTraversal::process::hf741f7a7196ff18e1Pw
   8:        0x10c7d1f9a - parallel::ParallelPostorderDomTraversal::run_parallel::h8775196297893155313
   9:        0x10c7d1e6b - parallel::construct_flows::hbd24b53e70fa448decs
  10:        0x10c7d09b8 - parallel::RecalcStyleForNode<'a>.ParallelPreorderDomTraversal::run_parallel::hd2fb0240b5ca7d7bhbs
  11:        0x10c7d1d87 - parallel::recalc_style::hd3369e81212664f2Hbs
  12:        0x10c64b820 - workqueue::WorkerThread<QueueData, WorkData>::start::h2834447186822714411
  13:        0x10c64af14 - workqueue::WorkQueue<QueueData, WorkData>::new::closure.42812
  14:        0x10c64ad7f - task::spawn_named::closure.42805
  15:        0x10c64ac8e - boxed::F.FnBox<A>::call_box::h8391688814180231132
  16:        0x10c5e55b0 - boxed::Box<FnBox<A, Output $u3d$$u20$R$GT$$u2b$$u20$Send$u20$$u2b$$u20$$u27$a$GT$.FnOnce$LT$A$GT$::call_once::h13915174705320671550
  17:        0x10c5e5022 - thread::Builder::spawn_inner::closure.40991
  18:        0x10c5e4f9e - rt::unwind::try::try_fn::h12259318856011215802
  19:        0x10f1fc21f - __rust_try_inner
  20:        0x10f1fc25a - __rust_try
  21:        0x10f1f7855 - rt::unwind::try::inner_try::h300fa716ddfd682bAAw
  22:        0x10c5e4ee8 - rt::unwind::try::h17457280258064162314
  23:        0x10c5e4d2c - thread::Builder::spawn_inner::closure.40943
  24:        0x10c5e58cd - boxed::F.FnBox<A>::call_box::h7151294465362299826
  25:        0x10f1fb26d - sys::thread::Thread::new::thread_start::he9d2ef50096740e9bZv
  26:     0x7fff87299898 - _pthread_body
  27:     0x7fff87299729 - _pthread_start
@jdm jdm added A-layout/block I-panic Servo encounters a panic. labels Aug 3, 2015
@bgdncz
Copy link
Contributor

bgdncz commented Aug 3, 2015

Not happening here:
Screenshot

@jdm
Copy link
Member Author

jdm commented Aug 3, 2015

If that's a release build, the assertion won't be hit.

@bgdncz
Copy link
Contributor

bgdncz commented Aug 3, 2015

@jdm -_- I looked at the source, I know. This was on debug.

@jdm
Copy link
Member Author

jdm commented Aug 3, 2015

Interesting!

@mbrubeck
Copy link
Contributor

mbrubeck commented Aug 6, 2015

I can't reproduce this either, in a debug build on Linux. Text run scanning can depend on which glyphs are available in the installed fonts, so this may be a difference between Linux and Mac fonts.

The assumption that a list marker is a single fragment is not true in general, and we should just fix the code to handle multiple fragments.

@mbrubeck mbrubeck self-assigned this Aug 6, 2015
@mbrubeck mbrubeck changed the title Layout worker failure on HTML5 spec LayoutWorker panic: assertion failed: marker_fragments.len() == 1 Aug 6, 2015
mbrubeck added a commit to mbrubeck/servo that referenced this issue Aug 6, 2015
mbrubeck added a commit to mbrubeck/servo that referenced this issue Aug 7, 2015
bors-servo pushed a commit that referenced this issue Aug 7, 2015
Allow list markers to contain multiple fragments

Fixes #6913. r? @pcwalton

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7041)
<!-- Reviewable:end -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-layout/block I-panic Servo encounters a panic.
Projects
None yet
Development

No branches or pull requests

3 participants