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

"Node was being treated as inline, but it has an associated fragment!" on washingtonpost.com #17156

Open
alex opened this issue Jun 5, 2017 · 6 comments

Comments

@alex
Copy link
Contributor

@alex alex commented Jun 5, 2017

called Result::unwrap() on an Err value: "PoisonError { inner: .. }"

URL:

Servo Version:

Servo 0.0.1-7b61d55421

Backtrace:


WARNING: <Constellation>: creating replacement pipeline for about:failure
WARNING: <ScriptThread PipelineId { namespace_id: PipelineNamespaceId(1), index: PipelineIndex(6) }>: Panic hook called.
WARNING: <ScriptThread PipelineId { namespace_id: PipelineNamespaceId(0), index: PipelineIndex(2) }>: Network error: Internal("Unexpected scheme")
WARNING: <ScriptThread PipelineId { namespace_id: PipelineNamespaceId(0), index: PipelineIndex(2) }>: Resuming an already resumed timer.
WARNING: <ScriptThread PipelineId { namespace_id: PipelineNamespaceId(0), index: PipelineIndex(2) }>: stop_parsing not implemented, full speed ahead!
ERROR: called `Result::unwrap()` on an `Err` value: "PoisonError { inner: .. }"

stack backtrace:
   0:        0x10e66844e - backtrace::backtrace::trace::h15d769766aa71ae0
   1:        0x10e6685dc - backtrace::capture::Backtrace::new::hde1afc496271e12d
   2:        0x10d398e19 - constellation::constellation::log_entry::hc60ffaf2b8a0de43
   3:        0x10d397e32 - _$LT$constellation..constellation..FromCompositorLogger$u20$as$u20$log..Log$GT$::log::hb085a8ba70ec667a
   4:        0x10eed53be - log::__log::h9babd36d99ae110e
   5:        0x10d1dd3e0 - servo::main::_$u7b$$u7b$closure$u7d$$u7d$::h2d732856f9776e1f
   6:        0x10eefcf16 - std::panicking::rust_panic_with_hook::h8b9b25777425677b
   7:        0x10eefcd74 - std::panicking::begin_panic::h69fe06a9d67b6165
   8:        0x10eefcce2 - std::panicking::begin_panic_fmt::haf8695bfb6c52436
   9:        0x10eefcc47 - rust_begin_unwind
  10:        0x10ef28580 - core::panicking::panic_fmt::hfedd6515bcee8bb1
  11:        0x10d4e4138 - core::result::unwrap_failed::h35bb99ece6b3b203
  12:        0x10d54fe4b - _$LT$layout..query..LayoutRPCImpl$u20$as$u20$script_layout_interface..rpc..LayoutRPC$GT$::offset_parent::h247f9f327215f907
  13:        0x10dfa987d - script::dom::window::Window::offset_parent_query::ha7917ab0b29289fe
  14:        0x10de8a499 - _$LT$script..dom..htmlelement..HTMLElement$u20$as$u20$script..dom..bindings..codegen..Bindings..HTMLElementBinding..HTMLElementBinding..HTMLElementMethods$GT$::OffsetWidth::h2650fa4db66d370d
  15:        0x10db8a398 - std::panicking::try::do_call::h5a83fbdf8db52878
  16:        0x10eefe04a - __rust_maybe_catch_panic
  17:        0x10e15fabc - script::dom::bindings::codegen::Bindings::HTMLElementBinding::HTMLElementBinding::get_offsetWidth::h7181f4d913c21447
  18:        0x10ddc0e21 - script::dom::bindings::utils::generic_call::h05209ebb73079646
  19:        0x10e97fd8d - js::jit::DoCallNativeGetter(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>)

This report was generated by the browser.html issue reporter.

@jdm
Copy link
Member

@jdm jdm commented Jun 5, 2017

Do you know what page you were visiting?

@jdm jdm added the I-panic label Jun 5, 2017
@alex
Copy link
Contributor Author

@alex alex commented Jun 5, 2017

Ugh, sorry I didn't realize it wasn't included. This was on https://www.washingtonpost.com

@jdm jdm added the A-webcompat label Jun 5, 2017
@jdm
Copy link
Member

@jdm jdm commented Jun 5, 2017

Node was being treated as inline, but it has an associated fragment! (thread LayoutThread PipelineId { namespace_id: PipelineNamespaceId(0), index: PipelineIndex(1) }, at /Users/jdm/src/master-servo/components/layout/query.rs:543)
(lldb) bt 25
* thread #33, stop reason = breakpoint 1.1
  * frame #0: 0x0000000105732ac4 servo`std::panicking::rust_panic at panicking.rs:580 [opt]
    frame #1: 0x0000000105732a84 servo`std::panicking::rust_panic_with_hook at panicking.rs:565 [opt]
    frame #2: 0x00000001029a1d26 servo`std::panicking::begin_panic<&str>(msg="Node was being treated as inline, but it has an associated fragment!", file_line=&0x107246470) at panicking.rs:511
    frame #3: 0x0000000102976cce servo`layout::query::{{impl}}::process(self=&0x700010eff6b0, fragment=&0x12d1a8440, level=11, border_box=&0x700010efce70) at query.rs:543
    frame #4: 0x00000001029eb6a4 servo`layout::inline::{{impl}}::iterate_through_fragment_border_boxes(self=&0x122645790, iterator=&mut FragmentBorderBoxIterator {

}, level=11, stacking_context_position=&0x700010efd358) at inline.rs:1691
    frame #5: 0x00000001029ed25d servo`layout::sequential::iterate_through_flow_tree_fragment_border_boxes::doit(flow=&mut Flow {

}, level=11, iterator=&mut FragmentBorderBoxIterator {

}, stacking_context_position=&0x700010efd358) at sequential.rs:105
    frame #6: 0x00000001029ed726 servo`layout::sequential::iterate_through_flow_tree_fragment_border_boxes::doit(flow=&mut Flow {

}, level=10, iterator=&mut FragmentBorderBoxIterator {

}, stacking_context_position=&0x700010efd698) at sequential.rs:124
    frame #7: 0x00000001029ed726 servo`layout::sequential::iterate_through_flow_tree_fragment_border_boxes::doit(flow=&mut Flow {

}, level=9, iterator=&mut FragmentBorderBoxIterator {

}, stacking_context_position=&0x700010efd9d8) at sequential.rs:124
    frame #8: 0x00000001029ed726 servo`layout::sequential::iterate_through_flow_tree_fragment_border_boxes::doit(flow=&mut Flow {

}, level=8, iterator=&mut FragmentBorderBoxIterator {

}, stacking_context_position=&0x700010efdd18) at sequential.rs:124
    frame #9: 0x00000001029ed726 servo`layout::sequential::iterate_through_flow_tree_fragment_border_boxes::doit(flow=&mut Flow {

}, level=7, iterator=&mut FragmentBorderBoxIterator {

}, stacking_context_position=&0x700010efe058) at sequential.rs:124
    frame #10: 0x00000001029ed726 servo`layout::sequential::iterate_through_flow_tree_fragment_border_boxes::doit(flow=&mut Flow {

}, level=6, iterator=&mut FragmentBorderBoxIterator {

}, stacking_context_position=&0x700010efe398) at sequential.rs:124
    frame #11: 0x00000001029ed726 servo`layout::sequential::iterate_through_flow_tree_fragment_border_boxes::doit(flow=&mut Flow {

}, level=5, iterator=&mut FragmentBorderBoxIterator {

}, stacking_context_position=&0x700010efe6d8) at sequential.rs:124
    frame #12: 0x00000001029ed726 servo`layout::sequential::iterate_through_flow_tree_fragment_border_boxes::doit(flow=&mut Flow {

}, level=4, iterator=&mut FragmentBorderBoxIterator {

}, stacking_context_position=&0x700010efea18) at sequential.rs:124
    frame #13: 0x00000001029ed726 servo`layout::sequential::iterate_through_flow_tree_fragment_border_boxes::doit(flow=&mut Flow {

}, level=3, iterator=&mut FragmentBorderBoxIterator {

}, stacking_context_position=&0x700010efed58) at sequential.rs:124
    frame #14: 0x00000001029ed726 servo`layout::sequential::iterate_through_flow_tree_fragment_border_boxes::doit(flow=&mut Flow {

}, level=2, iterator=&mut FragmentBorderBoxIterator {

}, stacking_context_position=&0x700010eff098) at sequential.rs:124
    frame #15: 0x00000001029ed726 servo`layout::sequential::iterate_through_flow_tree_fragment_border_boxes::doit(flow=&mut Flow {

}, level=1, iterator=&mut FragmentBorderBoxIterator {

}, stacking_context_position=&0x700010eff3d8) at sequential.rs:124
    frame #16: 0x00000001029ed726 servo`layout::sequential::iterate_through_flow_tree_fragment_border_boxes::doit(flow=&mut Flow {

}, level=0, iterator=&mut FragmentBorderBoxIterator {

}, stacking_context_position=&0x700010eff620) at sequential.rs:124
    frame #17: 0x00000001029ed15d servo`layout::sequential::iterate_through_flow_tree_fragment_border_boxes(root=&mut Flow {

}, iterator=&mut FragmentBorderBoxIterator {

}) at sequential.rs:128
    frame #18: 0x00000001005dd19b servo`layout::query::process_offset_parent_query<script::layout_wrapper::ServoLayoutNode>(requested_node=ServoLayoutNode {
@jdm
Copy link
Member

@jdm jdm commented Jun 5, 2017

I suspect this is a regression from #16317.

@jdm jdm added the A-layout/query label Jun 5, 2017
@jdm jdm changed the title called `Result::unwrap()` on an `Err` value: "PoisonError { inner: .. }" "Node was being treated as inline, but it has an associated fragment!" on washingtonpost.com Jun 5, 2017
@jdm
Copy link
Member

@jdm jdm commented Jun 5, 2017

Actually that appears unlikely; that PR doesn't look like it changes which nodes would be processed during this layout query.

@jdm
Copy link
Member

@jdm jdm commented Jun 5, 2017

This appears to happen when there are multiple fragments generated for the same node, and the node is the target of a layout query.

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
2 participants
You can’t perform that action at this time.