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

assertion failed: !self.loader.borrow().events_inhibited() #18927

Open
mateon1 opened this issue Oct 17, 2017 · 2 comments
Open

assertion failed: !self.loader.borrow().events_inhibited() #18927

mateon1 opened this issue Oct 17, 2017 · 2 comments

Comments

@mateon1
Copy link
Contributor

@mateon1 mateon1 commented Oct 17, 2017

<script>
setTimeout(function() {
  document.body.replaceWith(document.body);
  document.write();
});
</script>
<iframe>
assertion failed: !self.loader.borrow().events_inhibited() (thread ScriptThread PipelineId { namespace_id: PipelineNamespaceId(0), index: PipelineIndex(NonZeroU32(NonZero(1))) }, at /shared/dev/rust/servo/components/script/dom/document.rs:1689)
stack backtrace:
   0:     0x55be1017d4a4 - backtrace::backtrace::trace<closure>
                        at /shared/dev/rust/servo/./.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.2/src/backtrace/libunwind.rs:53
   1:     0x55be1017b17f - backtrace::capture::{{impl}}::new
                        at /shared/dev/rust/servo/./.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.2/src/capture.rs:64
   2:     0x55be09e0acbe - servo::main::{{closure}}
                        at /shared/dev/rust/servo/ports/servo/main.rs:130
   3:     0x55be10272756 - std::panicking::rust_panic_with_hook
                        at /checkout/src/libstd/panicking.rs:578
   4:     0x55be0b0cbc15 - std::panicking::begin_panic<&str>
                        at /checkout/src/libstd/panicking.rs:538
   5:     0x55be0abd6de8 - script::dom::document::{{impl}}::maybe_queue_document_completion
                        at /shared/dev/rust/servo/components/script/dom/document.rs:1689
   6:     0x55be0ae8f3bc - script::script_thread::{{impl}}::handle_msgs
                        at /shared/dev/rust/servo/components/script/script_thread.rs:1078
   7:     0x55be0ae8d1d5 - script::script_thread::{{impl}}::start
                        at /shared/dev/rust/servo/components/script/script_thread.rs:885
   8:     0x55be0aeab914 - script::script_thread::{{impl}}::create::{{closure}}::{{closure}}
                        at /shared/dev/rust/servo/components/script/script_thread.rs:570
   9:     0x55be0c3a7447 - 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
  10:     0x55be0aeabee6 - script::script_thread::{{impl}}::create::{{closure}}
                        at /shared/dev/rust/servo/components/script/script_thread.rs:569
  11:     0x55be0cdf6f2a - std::sys_common::backtrace::__rust_begin_short_backtrace<closure,()>
                        at /checkout/src/libstd/sys_common/backtrace.rs:134
  12:     0x55be0b63b913 - std::thread::{{impl}}::spawn::{{closure}}::{{closure}}<closure,()>
                        at /checkout/src/libstd/thread/mod.rs:400
  13:     0x55be0cb84efa - std::panic::{{impl}}::call_once<(),closure>
                        at /checkout/src/libstd/panic.rs:296
  14:     0x55be0b298652 - std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure>,()>
                        at /checkout/src/libstd/panicking.rs:480
  15:     0x55be1027989c - panic_unwind::__rust_maybe_catch_panic
                        at /checkout/src/libpanic_unwind/lib.rs:99
  16:     0x55be0b1f5b5c - std::panicking::try<(),std::panic::AssertUnwindSafe<closure>>
                        at /checkout/src/libstd/panicking.rs:459
  17:     0x55be0cc65265 - std::panic::catch_unwind<std::panic::AssertUnwindSafe<closure>,()>
                        at /checkout/src/libstd/panic.rs:361
  18:     0x55be0b63a90b - std::thread::{{impl}}::spawn::{{closure}}<closure,()>
                        at /checkout/src/libstd/thread/mod.rs:399
  19:     0x55be0b63bf93 - alloc::boxed::{{impl}}::call_box<(),closure>
                        at /checkout/src/liballoc/boxed.rs:762
  20:     0x55be1027146b - alloc::boxed::{{impl}}::call_once<(),()>
                        at /checkout/src/liballoc/boxed.rs:772
                         - 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
  21:     0x7f27808e2493 - start_thread
  22:     0x7f278040fabe - __clone
  23:                0x0 - <unknown>
ERROR:servo: assertion failed: !self.loader.borrow().events_inhibited()

[stack trace slightly outdated, sorry]

/cc @nox

@mateon1
Copy link
Contributor Author

@mateon1 mateon1 commented Mar 26, 2019

This panic can be triggered even more directly with this testcase:

<iframe></iframe>
<script>window.stop();</script>

The stack trace is nearly identical, even on latest Servo.

@dralley
Copy link
Contributor

@dralley dralley commented Mar 25, 2020

This still happens.

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.