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

Option::unwrap() in window impl ::overflow_query #18630

Closed
mateon1 opened this issue Sep 25, 2017 · 4 comments
Closed

Option::unwrap() in window impl ::overflow_query #18630

mateon1 opened this issue Sep 25, 2017 · 4 comments

Comments

@mateon1
Copy link
Contributor

@mateon1 mateon1 commented Sep 25, 2017

Found with domato.

<svg>
<font id="htmlvar00050">
</svg>
<script>
var htmlvar00050 = document.querySelector("font");
document.adoptNode(document.documentElement);
htmlvar00050.scroll();
</script>
called `Option::unwrap()` on a `None` value (thread ScriptThread PipelineId { namespace_id: PipelineNamespaceId(0), index: PipelineIndex(NonZero(1)) }, at /checkout/src/libcore/option.rs:335)
stack backtrace:
   0:     0x55bdbc41f884 - 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:     0x55bdbc4129ef - backtrace::capture::{{impl}}::new
                        at /shared/dev/rust/servo/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.2/src/capture.rs:64
   2:     0x55bdb5a1878e - servo::main::{{closure}}
                        at /shared/dev/rust/servo/ports/servo/main.rs:130
   3:     0x55bdbc6f8456 - std::panicking::rust_panic_with_hook
                        at /checkout/src/libstd/panicking.rs:578
   4:     0x55bdbc6f82e4 - std::panicking::begin_panic<alloc::string::String>
                        at /checkout/src/libstd/panicking.rs:538
   5:     0x55bdbc6f81e9 - std::panicking::begin_panic_fmt
                        at /checkout/src/libstd/panicking.rs:522
   6:     0x55bdbc6f817a - std::panicking::rust_begin_panic
                        at /checkout/src/libstd/panicking.rs:498
   7:     0x55bdbc7327d0 - core::panicking::panic_fmt
                        at /checkout/src/libcore/panicking.rs:71
   8:     0x55bdbc732706 - core::panicking::panic
                        at /checkout/src/libcore/panicking.rs:51
   9:     0x55bdb6811058 - core::option::{{impl}}::unwrap<euclid::point::TypedPoint2D<style::properties::longhands::overflow_x::computed_value::T, euclid::UnknownUnit>>
                        at /checkout/src/libcore/macros.rs:20
  10:     0x55bdb6fdb45e - script::dom::window::{{impl}}::overflow_query
                        at /shared/dev/rust/servo/components/script/dom/window.rs:1449
  11:     0x55bdb82c039a - script::dom::element::{{impl}}::overflow_x_is_visible
                        at /shared/dev/rust/servo/components/script/dom/element.rs:364
  12:     0x55bdb82c02de - script::dom::element::{{impl}}::potentially_scrollable
                        at /shared/dev/rust/servo/components/script/dom/element.rs:357
  13:     0x55bdb82d15c2 - script::dom::element::{{impl}}::ScrollLeft
                        at /shared/dev/rust/servo/components/script/dom/element.rs:1958
  14:     0x55bdb82d05fc - script::dom::element::{{impl}}::Scroll
                        at /shared/dev/rust/servo/components/script/dom/element.rs:1797
  15:     0x55bdb77241b6 - script::dom::bindings::codegen::Bindings::ElementBinding::ElementBinding::scroll::{{closure}}
                        at /shared/dev/rust/servo/target/debug/build/script-bde6f1c9971e240a/out/Bindings/ElementBinding.rs:2316
  16:     0x55bdb74a9daf - core::ops::function::FnOnce::call_once<closure,()>
                        at /checkout/src/libcore/ops/function.rs:223
  17:     0x55bdb71b53da - std::panic::{{impl}}::call_once<bool,closure>
                        at /checkout/src/libstd/panic.rs:296
  18:     0x55bdb73e848c - std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure>,bool>
                        at /checkout/src/libstd/panicking.rs:480
  19:     0x55bdbc6ff5ec - panic_unwind::__rust_maybe_catch_panic
                        at /checkout/src/libpanic_unwind/lib.rs:99
  20:     0x55bdb73d258d - std::panicking::try<bool,std::panic::AssertUnwindSafe<closure>>
                        at /checkout/src/libstd/panicking.rs:459
  21:     0x55bdb72192c1 - std::panic::catch_unwind<std::panic::AssertUnwindSafe<closure>,bool>
                        at /checkout/src/libstd/panic.rs:361
  22:     0x55bdb8680a92 - 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:     0x55bdb7064ca4 - script::dom::bindings::codegen::Bindings::ElementBinding::ElementBinding::scroll
                        at /shared/dev/rust/servo/target/debug/build/script-bde6f1c9971e240a/out/Bindings/ElementBinding.rs:2294
  24:     0x55bdb8c96632 - CallJitMethodOp
                        at /shared/dev/rust/servo/.cargo/git/checkouts/rust-mozjs-8611526964119dd6/3de4ff3/src/jsglue.cpp:516
  25:     0x55bdb6ea0be4 - script::dom::bindings::utils::generic_call
                        at /shared/dev/rust/servo/components/script/dom/bindings/utils.rs:450
  26:     0x55bdb6ea0cf1 - script::dom::bindings::utils::generic_method
                        at /shared/dev/rust/servo/components/script/dom/bindings/utils.rs:458
  27:     0x55bdb9312603 - _ZN2js12CallJSNativeEP9JSContextPFbS1_jPN2JS5ValueEERKNS2_8CallArgsE
                        at /shared/dev/rust/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/834ce35/mozjs/js/src/jscntxtinlines.h:232
  28:     0x55bdb92e0a5b - _ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructE
                        at /shared/dev/rust/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/834ce35/mozjs/js/src/vm/Interpreter.cpp:453
  29:     0x55bdb92e0d82 - InternalCall
                        at /shared/dev/rust/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/834ce35/mozjs/js/src/vm/Interpreter.cpp:498
  30:     0x55bdb92e0dac - _ZN2js13CallFromStackEP9JSContextRKN2JS8CallArgsE
                        at /shared/dev/rust/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/834ce35/mozjs/js/src/vm/Interpreter.cpp:504
  31:     0x55bdb92eddd8 - Interpret
                        at /shared/dev/rust/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/834ce35/mozjs/js/src/vm/Interpreter.cpp:2873
  32:     0x55bdb92e06dd - _ZN2js9RunScriptEP9JSContextRNS_8RunStateE
                        at /shared/dev/rust/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/834ce35/mozjs/js/src/vm/Interpreter.cpp:399
  33:     0x55bdb92e1aa0 - _ZN2js13ExecuteKernelEP9JSContextN2JS6HandleIP8JSScriptEER8JSObjectRKNS2_5ValueENS_16AbstractFramePtrEPS9_
                        at /shared/dev/rust/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/834ce35/mozjs/js/src/vm/Interpreter.cpp:679
  34:     0x55bdb92e1d60 - _ZN2js7ExecuteEP9JSContextN2JS6HandleIP8JSScriptEER8JSObjectPNS2_5ValueE
                        at /shared/dev/rust/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/834ce35/mozjs/js/src/vm/Interpreter.cpp:712
  35:     0x55bdb9051447 - Evaluate
                        at /shared/dev/rust/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/834ce35/mozjs/js/src/jsapi.cpp:4407
  36:     0x55bdb9051782 - Evaluate
                        at /shared/dev/rust/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/834ce35/mozjs/js/src/jsapi.cpp:4443
  37:     0x55bdb9051d02 - _ZN2JS8EvaluateEP9JSContextRKNS_22ReadOnlyCompileOptionsEPKDsmNS_13MutableHandleINS_5ValueEEE
                        at /shared/dev/rust/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/834ce35/mozjs/js/src/jsapi.cpp:4501
  38:     0x55bdb82dce63 - script::dom::globalscope::{{impl}}::evaluate_script_on_global_with_result::{{closure}}
                        at /shared/dev/rust/servo/components/script/dom/globalscope.rs:414
  39:     0x55bdb7a24f9a - profile_traits::time::profile<bool,closure>
                        at /shared/dev/rust/servo/components/profile_traits/time.rs:124
  40:     0x55bdb6f0cfc2 - script::dom::globalscope::{{impl}}::evaluate_script_on_global_with_result
                        at /shared/dev/rust/servo/components/script/dom/globalscope.rs:398
  41:     0x55bdb82f65fd - script::dom::htmlscriptelement::{{impl}}::run_a_classic_script
                        at /shared/dev/rust/servo/components/script/dom/htmlscriptelement.rs:573
  42:     0x55bdb82f5f3c - script::dom::htmlscriptelement::{{impl}}::execute
                        at /shared/dev/rust/servo/components/script/dom/htmlscriptelement.rs:543
  43:     0x55bdb82f40ed - script::dom::htmlscriptelement::{{impl}}::prepare
                        at /shared/dev/rust/servo/components/script/dom/htmlscriptelement.rs:456
  44:     0x55bdb8b02f36 - script::dom::servoparser::{{impl}}::tokenize<closure>
                        at /shared/dev/rust/servo/components/script/dom/servoparser/mod.rs:440
  45:     0x55bdb8b028a1 - script::dom::servoparser::{{impl}}::do_parse_sync
                        at /shared/dev/rust/servo/components/script/dom/servoparser/mod.rs:395
  46:     0x55bdb830e9b7 - script::dom::servoparser::{{impl}}::parse_sync::{{closure}}
                        at /shared/dev/rust/servo/components/script/dom/servoparser/mod.rs:381
  47:     0x55bdb7a25aa7 - profile_traits::time::profile<(),closure>
                        at /shared/dev/rust/servo/components/profile_traits/time.rs:124
  48:     0x55bdb8b02620 - script::dom::servoparser::{{impl}}::parse_sync
                        at /shared/dev/rust/servo/components/script/dom/servoparser/mod.rs:378
  49:     0x55bdb8b02c8c - script::dom::servoparser::{{impl}}::parse_bytes_chunk
                        at /shared/dev/rust/servo/components/script/dom/servoparser/mod.rs:420
  50:     0x55bdb8b05f52 - script::dom::servoparser::{{impl}}::process_response_chunk
                        at /shared/dev/rust/servo/components/script/dom/servoparser/mod.rs:692
  51:     0x55bdb835d56b - script::script_thread::{{impl}}::handle_fetch_chunk
                        at /shared/dev/rust/servo/components/script/script_thread.rs:2431
  52:     0x55bdb834712e - script::script_thread::{{impl}}::handle_msg_from_constellation
                        at /shared/dev/rust/servo/components/script/script_thread.rs:1183
  53:     0x55bdb83446b4 - script::script_thread::{{impl}}::handle_msgs::{{closure}}
                        at /shared/dev/rust/servo/components/script/script_thread.rs:1058
  54:     0x55bdb8344eb0 - script::script_thread::{{impl}}::profile_event<closure,core::option::Option<bool>>
                        at /shared/dev/rust/servo/components/script/script_thread.rs:1174
  55:     0x55bdb8342477 - script::script_thread::{{impl}}::handle_msgs
                        at /shared/dev/rust/servo/components/script/script_thread.rs:1052
  56:     0x55bdb8340465 - script::script_thread::{{impl}}::start
                        at /shared/dev/rust/servo/components/script/script_thread.rs:887
  57:     0x55bdb6ff69a4 - script::script_thread::{{impl}}::create::{{closure}}::{{closure}}
                        at /shared/dev/rust/servo/components/script/script_thread.rs:572
  58:     0x55bdb66b0270 - 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:     0x55bdb833c256 - script::script_thread::{{impl}}::create::{{closure}}
                        at /shared/dev/rust/servo/components/script/script_thread.rs:571
  60:     0x55bdb7c8e1da - std::sys_common::backtrace::__rust_begin_short_backtrace<closure,()>
                        at /checkout/src/libstd/sys_common/backtrace.rs:136
  61:     0x55bdb7272ed3 - std::thread::{{impl}}::spawn::{{closure}}::{{closure}}<closure,()>
                        at /checkout/src/libstd/thread/mod.rs:394
  62:     0x55bdb719241a - std::panic::{{impl}}::call_once<(),closure>
                        at /checkout/src/libstd/panic.rs:296
  63:     0x55bdb73eea92 - std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure>,()>
                        at /checkout/src/libstd/panicking.rs:480
  64:     0x55bdbc6ff5ec - panic_unwind::__rust_maybe_catch_panic
                        at /checkout/src/libpanic_unwind/lib.rs:99
  65:     0x55bdb728a00c - std::panicking::try<(),std::panic::AssertUnwindSafe<closure>>
                        at /checkout/src/libstd/panicking.rs:459
  66:     0x55bdb722e055 - std::panic::catch_unwind<std::panic::AssertUnwindSafe<closure>,()>
                        at /checkout/src/libstd/panic.rs:361
  67:     0x55bdb684f25b - std::thread::{{impl}}::spawn::{{closure}}<closure,()>
                        at /checkout/src/libstd/thread/mod.rs:393
  68:     0x55bdb6a0a123 - alloc::boxed::{{impl}}::call_box<(),closure>
                        at /checkout/src/liballoc/boxed.rs:728
  69:     0x55bdbc6f70db - 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:     0x7f5d5360e493 - start_thread
  71:     0x7f5d5313babe - __clone
  72:                0x0 - <unknown>
ERROR:servo: called `Option::unwrap()` on a `None` value
@ferjm
Copy link
Member

@ferjm ferjm commented Feb 19, 2018

I cannot reproduce this panic. It seems that #19881 removed the affected code path.

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

@ferjm ferjm commented Feb 19, 2018

I better land the crashtest before closing.

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

@emilio emilio commented Feb 19, 2018

We do have a crashtest for this, which landed in #19803, though it's slightly different, so adding this one would be valuable too indeed :)

@ferjm ferjm removed their assignment Nov 5, 2018
@dralley
Copy link
Contributor

@dralley dralley commented Apr 3, 2020

I can't reproduce this anymore, and I think this was meant to be closed after the test landed?

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