Skip to content

Closing window with mouse causes panic #418

@milesand

Description

@milesand

On Linux Mint 18.3 Cinnamon 64-bit, using rustc 1.27.0 and cargo 1.27.0.

Cloning the repository and running cargo run --bin (binary name), then closing the resulting window with mouse by clicking x results in the following panic:

thread 'main' panicked at 'Failed to close input method: XError { description: "BadDrawable (invalid Pixmap or Window parameter)", error_code: 9, request_code: 14, minor_code: 0 }', libcore/result.rs:945:5
note: Run with `RUST_BACKTRACE=1` for a backtrace.

Running with RUST_BACKTRACE=1 results in the following stack backtrace:

stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
             at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: std::sys_common::backtrace::print
             at libstd/sys_common/backtrace.rs:71
             at libstd/sys_common/backtrace.rs:59
   2: std::panicking::default_hook::{{closure}}
             at libstd/panicking.rs:211
   3: std::panicking::default_hook
             at libstd/panicking.rs:227
   4: std::panicking::rust_panic_with_hook
             at libstd/panicking.rs:463
   5: std::panicking::begin_panic_fmt
             at libstd/panicking.rs:350
   6: rust_begin_unwind
             at libstd/panicking.rs:328
   7: core::panicking::panic_fmt
             at libcore/panicking.rs:71
   8: core::result::unwrap_failed
             at /checkout/src/libcore/macros.rs:26
   9: <core::result::Result<T, E>>::expect
             at /checkout/src/libcore/result.rs:809
  10: <winit::platform::platform::x11::util::Ime as core::ops::drop::Drop>::drop
             at /home/milesand/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.12.0/src/platform/linux/x11/util.rs:409
  11: core::ptr::drop_in_place
             at /checkout/src/libcore/ptr.rs:59
  12: core::ptr::drop_in_place
             at /checkout/src/libcore/ptr.rs:59
  13: <std::collections::hash::table::RawTable<K, V>>::rev_drop_buckets
             at /checkout/src/libstd/collections/hash/table.rs:889
  14: <std::collections::hash::table::RawTable<K, V> as core::ops::drop::Drop>::drop
             at /checkout/src/libstd/collections/hash/table.rs:1172
  15: core::ptr::drop_in_place
             at /checkout/src/libcore/ptr.rs:59
  16: core::ptr::drop_in_place
             at /checkout/src/libcore/ptr.rs:59
  17: core::ptr::drop_in_place
             at /checkout/src/libcore/ptr.rs:59
  18: core::ptr::drop_in_place
             at /checkout/src/libcore/ptr.rs:59
  19: core::ptr::drop_in_place
             at /checkout/src/libcore/ptr.rs:59
  20: core::ptr::drop_in_place
             at /checkout/src/libcore/ptr.rs:59
  21: core::ptr::drop_in_place
             at /checkout/src/libcore/ptr.rs:59
  22: core::ptr::drop_in_place
             at /checkout/src/libcore/ptr.rs:59
  23: core::ptr::drop_in_place
             at /checkout/src/libcore/ptr.rs:59
  24: sprite::main
             at src/sprite.rs:78
  25: std::rt::lang_start::{{closure}}
             at /checkout/src/libstd/rt.rs:74
  26: std::panicking::try::do_call
             at libstd/rt.rs:59
             at libstd/panicking.rs:310
  27: __rust_maybe_catch_panic
             at libpanic_unwind/lib.rs:105
  28: std::rt::lang_start_internal
             at libstd/panicking.rs:289
             at libstd/panic.rs:374
             at libstd/rt.rs:58
  29: std::rt::lang_start
             at /checkout/src/libstd/rt.rs:74
  30: main
  31: __libc_start_main
  32: _start

Checked hello_world, draw_state, sprite and paint; All panics on click-closing. The rest are not tested.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions