diff --git a/Cargo.lock b/Cargo.lock index e2c59f40..ac9db9fd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -18,6 +18,21 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + [[package]] name = "ahash" version = "0.8.11" @@ -532,6 +547,21 @@ dependencies = [ "thiserror", ] +[[package]] +name = "backtrace" +version = "0.3.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + [[package]] name = "base64" version = "0.21.7" @@ -1608,6 +1638,12 @@ dependencies = [ "wasi", ] +[[package]] +name = "gimli" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" + [[package]] name = "glam" version = "0.27.0" @@ -2062,6 +2098,16 @@ version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +[[package]] +name = "log-panics" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f9dd8546191c1850ecf67d22f5ff00a935b890d0e84713159a55495cc2ac5f" +dependencies = [ + "backtrace", + "log", +] + [[package]] name = "mach2" version = "0.4.2" @@ -2151,6 +2197,15 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" +[[package]] +name = "miniz_oxide" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +dependencies = [ + "adler", +] + [[package]] name = "moveit" version = "0.6.0" @@ -2327,6 +2382,15 @@ version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666" +[[package]] +name = "object" +version = "0.32.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +dependencies = [ + "memchr", +] + [[package]] name = "oboe" version = "0.6.1" @@ -2883,6 +2947,12 @@ dependencies = [ "ordered-multimap", ] +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + [[package]] name = "rustc-hash" version = "1.1.0" @@ -4180,6 +4250,7 @@ dependencies = [ "json5", "libc", "log", + "log-panics", "once_cell", "openxr", "ovr_overlay", diff --git a/Cargo.toml b/Cargo.toml index 76fb90e2..bd67c48a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -54,6 +54,7 @@ vulkano-shaders = { git = "https://github.com/vulkano-rs/vulkano", rev = "94f50f wlx-capture = { git = "https://github.com/galister/wlx-capture", tag = "v0.3.8", default-features = false } winit = { version = "0.29.15", optional = true } xdg = "2.5.2" +log-panics = { version = "2.1.0", features = ["with-backtrace"] } [features] default = ["openvr", "openxr", "osc", "x11", "wayland"] diff --git a/src/main.rs b/src/main.rs index df904dc2..413b1f13 100644 --- a/src/main.rs +++ b/src/main.rs @@ -159,6 +159,8 @@ fn logging_init(args: &mut Args) -> anyhow::Result<()> { } else { flexi_logger::Logger::try_with_env_or_str("info")?.start()?; } + + log_panics::init(); Ok(()) }