SwagColoredKitteh / shiny-pancake

A renderer that takes commands from standard input. Though, it turned more into a kind of replay viewer.
GNU General Public License v3.0
6 stars 1 forks source link

Empty unresponsive window opens with thread panic when trying to launch #5

Open sethorizer opened 7 years ago

sethorizer commented 7 years ago

Trying to launch shiny-pancake and executing the example from the README, I only get an unresponsive empty window and a thread panic:

[seth@marlin fb]$ shiny-pancake 
thread '<unnamed>' panicked at 'Failed to get root window: XError { description: "BadValue (integer parameter out of range for operation)", error_code: 2, request_code: 154, minor_code: 34 }', ../src/libcore/result.rs:799
note: Run with `RUST_BACKTRACE=1` for a backtrace.
SwagColoredKitteh commented 7 years ago

Looking up the error yields results like https://github.com/ValveSoftware/steam-for-linux/issues/3820. Not sure how related these are. Can you try re-running it with RUST_BACKTRACE=1?

sethorizer commented 7 years ago

Should have done that already:

thread '<unnamed>' panicked at 'Failed to get root window: XError { description: "BadValue (integer parameter out of range for operation)", error_code: 2, request_code: 154, minor_code: 34 }', ../src/libcore/result.rs:799
stack backtrace:
   1:     0x5625c0d1bc4f - std::sys::backtrace::tracing::imp::write::h6f1d53a70916b90d
   2:     0x5625c0d1fc5d - std::panicking::default_hook::{{closure}}::h137e876f7d3b5850
   3:     0x5625c0d1eb8a - std::panicking::default_hook::h0ac3811ec7cee78c
   4:     0x5625c0d1f188 - std::panicking::rust_panic_with_hook::hc303199e04562edf
   5:     0x5625c0d1f022 - std::panicking::begin_panic::h6ed03353807cf54d
   6:     0x5625c0d1ef60 - std::panicking::begin_panic_fmt::hc321cece241bb2f5
   7:     0x5625c0d1eee1 - rust_begin_unwind
   8:     0x5625c0d560ff - core::panicking::panic_fmt::h27224b181f9f037f
   9:     0x5625c0c46bc8 - core::result::unwrap_failed::h08547ea232b61a3f
  10:     0x5625c0c5d047 - glutin::api::x11::window::Window::new::h579fabfc9050e2b1
  11:     0x5625c0c64d3c - glutin::window::<impl glutin::WindowBuilder<'a>>::build::h1cc62bd3bd6d4d6e
  12:     0x5625c0c2eb09 - glutin_window::GlutinWindow::new::h372eff39ae9bfc21
  13:     0x5625c0c2ffc8 - <glutin_window::GlutinWindow as window::BuildFromWindowSettings>::build_from_window_settings::h64f770bfde5584a6
  14:     0x5625c0c11ab7 - shiny_pancake::render_thread::h06724f38be928f52
  15:     0x5625c0befa7b - std::panicking::try::do_call::h1b2ded241e651e92
  16:     0x5625c0d27726 - __rust_maybe_catch_panic
  17:     0x5625c0bf94e3 - <F as alloc::boxed::FnBox<A>>::call_box::hc3eea423846124eb
  18:     0x5625c0d1d950 - std::sys::thread::Thread::new::thread_start::h759e10bc4abc7e72
  19:     0x7f176d1d9453 - start_thread
  20:     0x7f176cd057de - __GI___clone
  21:                0x0 - <unknown>
sethorizer commented 7 years ago

And the trace from the debug build:

[seth@marlin shiny-pancake]$ RUST_BACKTRACE=1 cargo run
    Finished debug [unoptimized + debuginfo] target(s) in 0.0 secs
     Running `target/debug/shiny-pancake`
thread '<unnamed>' panicked at 'Failed to get root window: XError { description: "BadValue (integer parameter out of range for operation)", error_code: 2, request_code: 154, minor_code: 34 }', ../src/libcore/result.rs:799
stack backtrace:
   1:     0x55676574ecff - std::sys::backtrace::tracing::imp::write::h6f1d53a70916b90d
   2:     0x556765752dcd - std::panicking::default_hook::{{closure}}::h137e876f7d3b5850
   3:     0x556765751cfa - std::panicking::default_hook::h0ac3811ec7cee78c
   4:     0x5567657522f8 - std::panicking::rust_panic_with_hook::hc303199e04562edf
   5:     0x556765752192 - std::panicking::begin_panic::h6ed03353807cf54d
   6:     0x5567657520d0 - std::panicking::begin_panic_fmt::hc321cece241bb2f5
   7:     0x556765752051 - rust_begin_unwind
   8:     0x55676578d3ff - core::panicking::panic_fmt::h27224b181f9f037f
   9:     0x55676547c6f2 - core::result::unwrap_failed::h08547ea232b61a3f
                        at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/obj/../src/libcore/macros.rs:29
  10:     0x556765470e1c - <core::result::Result<T, E>>::expect::h248ceefdb83ee112
                        at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/obj/../src/libcore/result.rs:761
  11:     0x5567654b0688 - glutin::api::x11::window::Window::new::h579fabfc9050e2b1
                        at /home/seth/.cargo/registry/src/github.com-1ecc6299db9ec823/glutin-0.6.2/src/api/x11/window.rs:423
  12:     0x5567654b4f60 - glutin::platform::platform::api_dispatch::Window::new::hc4faa9a87e5a5def
                        at /home/seth/.cargo/registry/src/github.com-1ecc6299db9ec823/glutin-0.6.2/src/platform/linux/api_dispatch.rs:197
  13:     0x5567654b56cc - glutin::window::<impl glutin::WindowBuilder<'a>>::build::h1cc62bd3bd6d4d6e
                        at /home/seth/.cargo/registry/src/github.com-1ecc6299db9ec823/glutin-0.6.2/src/window.rs:217
  14:     0x55676543bc2f - glutin_window::GlutinWindow::new::h372eff39ae9bfc21
                        at /home/seth/.cargo/registry/src/github.com-1ecc6299db9ec823/pistoncore-glutin_window-0.31.0/src/lib.rs:92
  15:     0x55676543dd5b - <glutin_window::GlutinWindow as window::BuildFromWindowSettings>::build_from_window_settings::h64f770bfde5584a6
                        at /home/seth/.cargo/registry/src/github.com-1ecc6299db9ec823/pistoncore-glutin_window-0.31.0/src/lib.rs:323
  16:     0x5567653da3fb - window::WindowSettings::build::he2d10cc72df7606c
                        at /home/seth/.cargo/registry/src/github.com-1ecc6299db9ec823/pistoncore-window-0.23.0/src/lib.rs:367
  17:     0x5567653e130f - <piston_window::PistonWindow<W> as window::BuildFromWindowSettings>::build_from_window_settings::h062fb77f15762e58
                        at /home/seth/.cargo/registry/src/github.com-1ecc6299db9ec823/piston_window-0.57.0/src/lib.rs:147
  18:     0x5567653da3bb - window::WindowSettings::build::h115c10cf4a1451c5
                        at /home/seth/.cargo/registry/src/github.com-1ecc6299db9ec823/pistoncore-window-0.23.0/src/lib.rs:367
  19:     0x5567653f24d2 - shiny_pancake::render_thread::hd1e9e96d96fd6934
                        at /home/seth/prog/rust/shiny-pancake/src/main.rs:58
  20:     0x55676540bb88 - shiny_pancake::main::{{closure}}::h7af768bdf1d3de2d
                        at /home/seth/prog/rust/shiny-pancake/src/main.rs:116
  21:     0x5567653f101a - <std::panic::AssertUnwindSafe<F> as core::ops::FnOnce<()>>::call_once::hb2e9c21b2f09d2f7
                        at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/obj/../src/libstd/panic.rs:255
  22:     0x556765383dd7 - std::panicking::try::do_call::h5eebe2e4ff465ac6
                        at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/obj/../src/libstd/panicking.rs:356
  23:     0x55676575a896 - __rust_maybe_catch_panic
  24:     0x556765383a66 - std::panicking::try::h0179dc2d7c74c6ae
                        at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/obj/../src/libstd/panicking.rs:332
  25:     0x556765382d4e - std::panic::catch_unwind::h3f8ef5f129dc746a
                        at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/obj/../src/libstd/panic.rs:311
  26:     0x5567654064d8 - std::thread::Builder::spawn::{{closure}}::hf7e76e6464d550ba
                        at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/obj/../src/libstd/thread/mod.rs:277
  27:     0x5567653a24ce - <F as alloc::boxed::FnBox<A>>::call_box::hee66b77f54bce5c7
                        at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/obj/../src/liballoc/boxed.rs:591
  28:     0x556765750ac0 - std::sys::thread::Thread::new::thread_start::h759e10bc4abc7e72
  29:     0x7fa5c970f453 - start_thread
  30:     0x7fa5c923b7de - __GI___clone
  31:                0x0 - <unknown>
SwagColoredKitteh commented 7 years ago

https://github.com/tomaka/glutin/blob/d87fa4f6b749f67eb37300cb9dc58cf31c3ff5b5/src/api/x11/window.rs#L423 seems to be where the error originates. I don't (yet?) know what this XError means exactly, though. :X

SwagColoredKitteh commented 7 years ago

I just pushed an SDL2 backend, can you try this out with cargo run --no-default-features --features sdl2-backend?

sethorizer commented 7 years ago

Apparently this has to do with my tiling WM (qtile), launching shiny-pancake from LXDE works fine...