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

Closing the browser window causes panic: Failed to call XSendEvent after wakeup #21027

Open
asajeffrey opened this issue Jun 8, 2018 · 1 comment

Comments

@asajeffrey
Copy link
Member

@asajeffrey asajeffrey commented Jun 8, 2018

Closing a browser window caused this panic:

Failed to call XSendEvent after wakeup: XError { description: "BadDrawable (invalid Pixmap or Window parameter)", error_code: 9, request_code: 153, minor_code: 8 } (thread Constellation, at libcore/result.rs:945)
stack backtrace:
   0:     0x55bcd11e200c - backtrace::backtrace::trace::h44b17ce25a17e504
   1:     0x55bcd11e1e22 - <backtrace::capture::Backtrace as core::default::Default>::default::h15fa6387dda21251
   2:     0x55bcd11e1e68 - backtrace::capture::Backtrace::new::hd7ce47fce9c9654f
   3:     0x55bcce731898 - servo::main::{{closure}}::h6257a06d45377798
   4:     0x55bcd11f61b3 - std::panicking::rust_panic_with_hook::h670027879f43927b
                        at libstd/panicking.rs:467
   5:     0x55bcd11f5d3c - std::panicking::begin_panic_fmt::h6aae5a1f3a6994c6
                        at libstd/panicking.rs:350
   6:     0x55bcd11f5d01 - rust_begin_unwind
                        at libstd/panicking.rs:328
   7:     0x55bcd121dd32 - core::panicking::panic_fmt::h635afafc721dbb8f
                        at libcore/panicking.rs:71
   8:     0x55bcd1187368 - core::result::unwrap_failed::h765c70032840ef7f
   9:     0x55bcd116f769 - winit::platform::platform::x11::EventsLoopProxy::wakeup::h36e9aa86eb800fa8
  10:     0x55bcce73d2bb - <<servo::glutin_app::window::Window as compositing::windowing::WindowMethods>::create_event_loop_waker::GlutinEventLoopWaker as embedder_traits::EventLoopWaker>::wake::h08a2667c9790b1d1
  11:     0x55bcd00237a2 - compositing::compositor_thread::CompositorProxy::send::h480de2d0f8654c1b
  12:     0x55bccf940fde - constellation::pipeline::Pipeline::exit::h10e682cc1fc6a0b0
  13:     0x55bcce7c94b1 - <constellation::constellation::Constellation<Message, LTF, STF>>::close_pipeline::h62f1e0fb132a7d78
  14:     0x55bcce7e50b6 - <constellation::constellation::Constellation<Message, LTF, STF>>::close_browsing_context_children::he6cbd0232a9731f6
  15:     0x55bcce7ca303 - <constellation::constellation::Constellation<Message, LTF, STF>>::close_browsing_context::h405c53cc4ac88deb
  16:     0x55bcce7df19d - <constellation::constellation::Constellation<Message, LTF, STF>>::handle_request_from_compositor::h2b3d5e809ddd5198
  17:     0x55bcce7e5eac - <constellation::constellation::Constellation<Message, LTF, STF>>::run::h6442e85ee7795b81
  18:     0x55bcce776de3 - std::sys_common::backtrace::__rust_begin_short_backtrace::hb4023e905906838b
  19:     0x55bcce7ba705 - std::panicking::try::do_call::hb102d80ec231e056
  20:     0x55bcd121b519 - __rust_maybe_catch_panic
                        at libpanic_unwind/lib.rs:105
  21:     0x55bcce7be130 - <F as alloc::boxed::FnBox<A>>::call_box::h244f96897341fe75
  22:     0x55bcd120ab5a - <alloc::boxed::Box<alloc::boxed::FnBox<A, Output$u3d$R$GT$$u20$$u2b$$u20$$u27$a$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$::call_once::h5b9860a546858068
                        at /checkout/src/liballoc/boxed.rs:648
                         - std::sys_common::thread::start_thread::h922ea6715e52d628
                        at libstd/sys_common/thread.rs:24
  23:     0x55bcd11f40c5 - std::sys::unix::thread::Thread::new::thread_start::hdd140ff3dd9a598d
                        at libstd/sys/unix/thread.rs:90
  24:     0x7f33f08816b9 - start_thread
  25:     0x7f33ef11d41c - clone
  26:                0x0 - <unknown>

The source of the panic is https://github.com/tomaka/winit/blob/262490d07447d6539cb4e5d52acf5d4c8ad21c13/src/platform/linux/x11/mod.rs#L1059, which sends an X event and panics if the send fails.

It looks like this needs fixed upstream in winit.

@atouchet
Copy link
Contributor

@atouchet atouchet commented Nov 10, 2018

Is this still an issue?

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.