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

scroll_root_id is not correctly fetched #18628

Open
mateon1 opened this issue Sep 25, 2017 · 3 comments
Open

scroll_root_id is not correctly fetched #18628

mateon1 opened this issue Sep 25, 2017 · 3 comments

Comments

@mateon1
Copy link
Contributor

@mateon1 mateon1 commented Sep 25, 2017

Found accidentally while reducing a domato crash.

<area id="htmlvar00063" tabindex="" onmouseover="" onmouseover="" download="" referrerpolicy="" contenteditable="" onkeypress="" case="" onwebkitneedkey="" axis=""></area>
<script>
/* newvar{htmlvar00063:HTMLAreaElement} */ var htmlvar00063 = document.getElementById("htmlvar00063"); //HTMLAreaElement
try { /* newvar{var00073:Element} */ var var00073 = document.documentElement; } catch(e) { }
try { /* newvar{var00076:Element} */ var var00076 = document.adoptNode(var00073); } catch(e) { }
try { /* newvar{var00092:ScrollToOptions} */ var var00092 = {left: 0, top: -1}; } catch(e) { }
try { htmlvar00063.scrollTo(var00092); } catch(e) { }
</script>
scroll_root_id is not correctly fetched (thread ScriptThread PipelineId { namespace_id: PipelineNamespaceId(0), index: PipelineIndex(NonZero(1)) }, at /checkout/src/libcore/option.rs:839)
stack backtrace:
   0:     0x564c34483884 - 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:     0x564c344769ef - backtrace::capture::{{impl}}::new
                        at /shared/dev/rust/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.2/src/capture.rs:64
   2:     0x564c2da7c78e - servo::main::{{closure}}
                        at /shared/dev/rust/servo/ports/servo/main.rs:130
   3:     0x564c3475c456 - std::panicking::rust_panic_with_hook
                        at /checkout/src/libstd/panicking.rs:578
   4:     0x564c3475c2e4 - std::panicking::begin_panic<alloc::string::String>
                        at /checkout/src/libstd/panicking.rs:538
   5:     0x564c3475c1e9 - std::panicking::begin_panic_fmt
                        at /checkout/src/libstd/panicking.rs:522
   6:     0x564c3475c17a - std::panicking::rust_begin_panic
                        at /checkout/src/libstd/panicking.rs:498
   7:     0x564c347967d0 - core::panicking::panic_fmt
                        at /checkout/src/libcore/panicking.rs:71
   8:     0x564c3479683d - core::option::expect_failed
                        at /checkout/src/libcore/option.rs:839
   9:     0x564c31b1f35e - core::option::{{impl}}::expect<webrender_api::display_item::ClipId>
                        at /checkout/src/libcore/option.rs:302
  10:     0x564c31b72f31 - layout::query::{{impl}}::node_scroll_root_id
                        at /shared/dev/rust/servo/components/layout/query.rs:165
  11:     0x564c2f03f7c8 - script::dom::window::{{impl}}::scroll_node
                        at /shared/dev/rust/servo/components/script/dom/window.rs:1479
  12:     0x564c3032fd3f - script::dom::element::{{impl}}::scroll
                        at /shared/dev/rust/servo/components/script/dom/element.rs:1468
  13:     0x564c3033466b - script::dom::element::{{impl}}::Scroll
                        at /shared/dev/rust/servo/components/script/dom/element.rs:1799
  14:     0x564c3033470c - script::dom::element::{{impl}}::ScrollTo
                        at /shared/dev/rust/servo/components/script/dom/element.rs:1809
  15:     0x564c2f7894b4 - script::dom::bindings::codegen::Bindings::ElementBinding::ElementBinding::scrollTo::{{closure}}
                        at /shared/dev/rust/servo/target/debug/build/script-bde6f1c9971e240a/out/Bindings/ElementBinding.rs:2438
  16:     0x564c2f50a76f - core::ops::function::FnOnce::call_once<closure,()>
                        at /checkout/src/libcore/ops/function.rs:223
  17:     0x564c2f24abca - std::panic::{{impl}}::call_once<bool,closure>
                        at /checkout/src/libstd/panic.rs:296
  18:     0x564c2f470dfc - std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure>,bool>
                        at /checkout/src/libstd/panicking.rs:480
  19:     0x564c347635ec - panic_unwind::__rust_maybe_catch_panic
                        at /checkout/src/libpanic_unwind/lib.rs:99
  20:     0x564c2f31943d - std::panicking::try<bool,std::panic::AssertUnwindSafe<closure>>
                        at /checkout/src/libstd/panicking.rs:459
  21:     0x564c2f281ee1 - std::panic::catch_unwind<std::panic::AssertUnwindSafe<closure>,bool>
                        at /checkout/src/libstd/panic.rs:361
  22:     0x564c305782c2 - js::panic::wrap_panic<std::panic::AssertUnwindSafe<closure>,bool>
                        at /shared/dev/rust/servo/.cargo/git/checkouts/rust-mozjs-8611526964119dd6/3de4ff3/src/panic.rs:22
  23:     0x564c2f0c8d44 - script::dom::bindings::codegen::Bindings::ElementBinding::ElementBinding::scrollTo
                        at /shared/dev/rust/servo/target/debug/build/script-bde6f1c9971e240a/out/Bindings/ElementBinding.rs:2396
  24:     0x564c30cfa632 - CallJitMethodOp
                        at /shared/dev/rust/servo/.cargo/git/checkouts/rust-mozjs-8611526964119dd6/3de4ff3/src/jsglue.cpp:516
  25:     0x564c2ef04be4 - script::dom::bindings::utils::generic_call
                        at /shared/dev/rust/servo/components/script/dom/bindings/utils.rs:450
  26:     0x564c2ef04cf1 - script::dom::bindings::utils::generic_method
                        at /shared/dev/rust/servo/components/script/dom/bindings/utils.rs:458
  27:     0x564c31376603 - _ZN2js12CallJSNativeEP9JSContextPFbS1_jPN2JS5ValueEERKNS2_8CallArgsE
                        at /shared/dev/rust/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/834ce35/mozjs/js/src/jscntxtinlines.h:232
  28:     0x564c31344a5b - _ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructE
                        at /shared/dev/rust/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/834ce35/mozjs/js/src/vm/Interpreter.cpp:453
  29:     0x564c31344d82 - InternalCall
                        at /shared/dev/rust/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/834ce35/mozjs/js/src/vm/Interpreter.cpp:498
  30:     0x564c31344dac - _ZN2js13CallFromStackEP9JSContextRKN2JS8CallArgsE
                        at /shared/dev/rust/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/834ce35/mozjs/js/src/vm/Interpreter.cpp:504
  31:     0x564c31351dd8 - Interpret
                        at /shared/dev/rust/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/834ce35/mozjs/js/src/vm/Interpreter.cpp:2873
  32:     0x564c313446dd - _ZN2js9RunScriptEP9JSContextRNS_8RunStateE
                        at /shared/dev/rust/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/834ce35/mozjs/js/src/vm/Interpreter.cpp:399
  33:     0x564c31345aa0 - _ZN2js13ExecuteKernelEP9JSContextN2JS6HandleIP8JSScriptEER8JSObjectRKNS2_5ValueENS_16AbstractFramePtrEPS9_
                        at /shared/dev/rust/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/834ce35/mozjs/js/src/vm/Interpreter.cpp:679
  34:     0x564c31345d60 - _ZN2js7ExecuteEP9JSContextN2JS6HandleIP8JSScriptEER8JSObjectPNS2_5ValueE
                        at /shared/dev/rust/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/834ce35/mozjs/js/src/vm/Interpreter.cpp:712
  35:     0x564c310b5447 - Evaluate
                        at /shared/dev/rust/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/834ce35/mozjs/js/src/jsapi.cpp:4407
  36:     0x564c310b5782 - Evaluate
                        at /shared/dev/rust/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/834ce35/mozjs/js/src/jsapi.cpp:4443
  37:     0x564c310b5d02 - _ZN2JS8EvaluateEP9JSContextRKNS_22ReadOnlyCompileOptionsEPKDsmNS_13MutableHandleINS_5ValueEEE
                        at /shared/dev/rust/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/834ce35/mozjs/js/src/jsapi.cpp:4501
  38:     0x564c30340e63 - script::dom::globalscope::{{impl}}::evaluate_script_on_global_with_result::{{closure}}
                        at /shared/dev/rust/servo/components/script/dom/globalscope.rs:414
  39:     0x564c2fa88f9a - profile_traits::time::profile<bool,closure>
                        at /shared/dev/rust/servo/components/profile_traits/time.rs:124
  40:     0x564c2ef70fc2 - script::dom::globalscope::{{impl}}::evaluate_script_on_global_with_result
                        at /shared/dev/rust/servo/components/script/dom/globalscope.rs:398
  41:     0x564c3035a5fd - script::dom::htmlscriptelement::{{impl}}::run_a_classic_script
                        at /shared/dev/rust/servo/components/script/dom/htmlscriptelement.rs:573
  42:     0x564c30359f3c - script::dom::htmlscriptelement::{{impl}}::execute
                        at /shared/dev/rust/servo/components/script/dom/htmlscriptelement.rs:543
  43:     0x564c303580ed - script::dom::htmlscriptelement::{{impl}}::prepare
                        at /shared/dev/rust/servo/components/script/dom/htmlscriptelement.rs:456
  44:     0x564c30b66f36 - script::dom::servoparser::{{impl}}::tokenize<closure>
                        at /shared/dev/rust/servo/components/script/dom/servoparser/mod.rs:440
  45:     0x564c30b668a1 - script::dom::servoparser::{{impl}}::do_parse_sync
                        at /shared/dev/rust/servo/components/script/dom/servoparser/mod.rs:395
  46:     0x564c303729b7 - script::dom::servoparser::{{impl}}::parse_sync::{{closure}}
                        at /shared/dev/rust/servo/components/script/dom/servoparser/mod.rs:381
  47:     0x564c2fa89aa7 - profile_traits::time::profile<(),closure>
                        at /shared/dev/rust/servo/components/profile_traits/time.rs:124
  48:     0x564c30b66620 - script::dom::servoparser::{{impl}}::parse_sync
                        at /shared/dev/rust/servo/components/script/dom/servoparser/mod.rs:378
  49:     0x564c30b66c8c - script::dom::servoparser::{{impl}}::parse_bytes_chunk
                        at /shared/dev/rust/servo/components/script/dom/servoparser/mod.rs:420
  50:     0x564c30b69f52 - script::dom::servoparser::{{impl}}::process_response_chunk
                        at /shared/dev/rust/servo/components/script/dom/servoparser/mod.rs:692
  51:     0x564c303c156b - script::script_thread::{{impl}}::handle_fetch_chunk
                        at /shared/dev/rust/servo/components/script/script_thread.rs:2431
  52:     0x564c303ab12e - script::script_thread::{{impl}}::handle_msg_from_constellation
                        at /shared/dev/rust/servo/components/script/script_thread.rs:1183
  53:     0x564c303a86b4 - script::script_thread::{{impl}}::handle_msgs::{{closure}}
                        at /shared/dev/rust/servo/components/script/script_thread.rs:1058
  54:     0x564c303a8eb0 - script::script_thread::{{impl}}::profile_event<closure,core::option::Option<bool>>
                        at /shared/dev/rust/servo/components/script/script_thread.rs:1174
  55:     0x564c303a6477 - script::script_thread::{{impl}}::handle_msgs
                        at /shared/dev/rust/servo/components/script/script_thread.rs:1052
  56:     0x564c303a4465 - script::script_thread::{{impl}}::start
                        at /shared/dev/rust/servo/components/script/script_thread.rs:887
  57:     0x564c2f05a9a4 - script::script_thread::{{impl}}::create::{{closure}}::{{closure}}
                        at /shared/dev/rust/servo/components/script/script_thread.rs:572
  58:     0x564c2e714270 - profile_traits::mem::{{impl}}::run_with_memory_reporting<closure,fn(profile_traits::mem::ReportsChan) -> script::script_runtime::CommonScriptMsg,script::script_runtime::CommonScriptMsg,std::sync::mpsc::Sender<script::script_thread::MainThreadScriptMsg>>
                        at /shared/dev/rust/servo/components/profile_traits/mem.rs:63
  59:     0x564c303a0256 - script::script_thread::{{impl}}::create::{{closure}}
                        at /shared/dev/rust/servo/components/script/script_thread.rs:571
  60:     0x564c2fcf21da - std::sys_common::backtrace::__rust_begin_short_backtrace<closure,()>
                        at /checkout/src/libstd/sys_common/backtrace.rs:136
  61:     0x564c2f2d6ed3 - std::thread::{{impl}}::spawn::{{closure}}::{{closure}}<closure,()>
                        at /checkout/src/libstd/thread/mod.rs:394
  62:     0x564c2f1f641a - std::panic::{{impl}}::call_once<(),closure>
                        at /checkout/src/libstd/panic.rs:296
  63:     0x564c2f452a92 - std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure>,()>
                        at /checkout/src/libstd/panicking.rs:480
  64:     0x564c347635ec - panic_unwind::__rust_maybe_catch_panic
                        at /checkout/src/libpanic_unwind/lib.rs:99
  65:     0x564c2f2ee00c - std::panicking::try<(),std::panic::AssertUnwindSafe<closure>>
                        at /checkout/src/libstd/panicking.rs:459
  66:     0x564c2f292055 - std::panic::catch_unwind<std::panic::AssertUnwindSafe<closure>,()>
                        at /checkout/src/libstd/panic.rs:361
  67:     0x564c2e8b325b - std::thread::{{impl}}::spawn::{{closure}}<closure,()>
                        at /checkout/src/libstd/thread/mod.rs:393
  68:     0x564c2ea6e123 - alloc::boxed::{{impl}}::call_box<(),closure>
                        at /checkout/src/liballoc/boxed.rs:728
  69:     0x564c3475b0db - alloc::boxed::{{impl}}::call_once<(),()>
                        at /checkout/src/liballoc/boxed.rs:738
                         - std::sys_common::thread::start_thread
                        at /checkout/src/libstd/sys_common/thread.rs:24
                         - std::sys::imp::thread::{{impl}}::new::thread_start
                        at /checkout/src/libstd/sys/unix/thread.rs:90
  70:     0x7f5084b05493 - start_thread
  71:     0x7f5084632abe - __clone
  72:                0x0 - <unknown>
ERROR:servo: scroll_root_id is not correctly fetched
@mateon1
Copy link
Contributor Author

@mateon1 mateon1 commented Oct 3, 2017

Whoops, accidentally reduced this a second time, but this version seems nicer.

<body>
<script>
body = document.body;
document.createElement("s").insertAdjacentElement("beforeEnd",document.documentElement);
body.scroll();
</script>
@ferjm
Copy link
Member

@ferjm ferjm commented Feb 19, 2018

I cannot reproduce this panic. It seems that #19933 fixed it.

@ferjm ferjm closed this Feb 19, 2018
@emilio
Copy link
Member

@emilio emilio commented Feb 19, 2018

Let's land the crashtest?

@emilio emilio reopened this Feb 19, 2018
@ferjm ferjm self-assigned this Feb 19, 2018
@ferjm ferjm removed their assignment Nov 5, 2018
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
4 participants
You can’t perform that action at this time.