@@ -5800,6 +5800,15 @@ dependencies = [
"libc",
]
+[[package]]
+name = "error-graph"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b920e777967421aa5f9bf34f842c0ab6ba19b3bdb4a082946093860f5858879"
+dependencies = [
+ "serde",
+]
+
[[package]]
name = "etagere"
version = "0.2.15"
@@ -6169,6 +6178,12 @@ dependencies = [
"zed_actions",
]
+[[package]]
+name = "failspot"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c942e64b20ecd39933d5ff938ca4fdb6ef0d298cc3855b231179a5ef0b24948d"
+
[[package]]
name = "fallible-iterator"
version = "0.3.0"
@@ -7553,9 +7568,9 @@ dependencies = [
[[package]]
name = "goblin"
-version = "0.8.2"
+version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b363a30c165f666402fe6a3024d3bec7ebc898f96a4a23bd1c99f8dbf3f4f47"
+checksum = "daa0a64d21a7eb230583b4c5f4e23b7e4e57974f96620f42a7e75e08ae66d745"
dependencies = [
"log",
"plain",
@@ -9685,9 +9700,9 @@ checksum = "7a79a3332a6609480d7d0c9eab957bca6b455b91bb84e66d19f5ff66294b85b8"
[[package]]
name = "libc"
-version = "0.2.177"
+version = "0.2.182"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976"
+checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112"
[[package]]
name = "libdbus-sys"
@@ -10549,9 +10564,9 @@ dependencies = [
[[package]]
name = "minidump-common"
-version = "0.21.2"
+version = "0.26.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c4d14bcca0fd3ed165a03000480aaa364c6860c34e900cb2dafdf3b95340e77"
+checksum = "2e16d10087ae9e375bad7a40e8ef5504bc08e808ccc6019067ff9de42a84570f"
dependencies = [
"bitflags 2.10.0",
"debugid",
@@ -10564,14 +10579,16 @@ dependencies = [
[[package]]
name = "minidump-writer"
-version = "0.8.9"
+version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abcd9c8a1e6e1e9d56ce3627851f39a17ea83e17c96bc510f29d7e43d78a7d"
+checksum = "0e1fc14d6ded915b8e850801465e7096f77ed60bf87e4e85878d463720d9dc4d"
dependencies = [
"bitflags 2.10.0",
"byteorder",
"cfg-if",
"crash-context",
+ "error-graph",
+ "failspot",
"goblin",
"libc",
"log",
@@ -10579,18 +10596,20 @@ dependencies = [
"memmap2",
"memoffset",
"minidump-common",
- "nix 0.28.0",
+ "nix 0.29.0",
"procfs-core",
"scroll",
+ "serde",
+ "serde_json",
"tempfile",
- "thiserror 1.0.69",
+ "thiserror 2.0.17",
]
[[package]]
name = "minidumper"
-version = "0.8.3"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b4ebc9d1f8847ec1d078f78b35ed598e0ebefa1f242d5f83cd8d7f03960a7d1"
+checksum = "10d9254e42a48098d045472a5c0cb892007a42e25342eddbf2642f6978bf381a"
dependencies = [
"cfg-if",
"crash-context",
@@ -10600,7 +10619,7 @@ dependencies = [
"parking_lot",
"polling",
"scroll",
- "thiserror 1.0.69",
+ "thiserror 2.0.17",
"uds",
]
@@ -13087,12 +13106,13 @@ dependencies = [
[[package]]
name = "procfs-core"
-version = "0.16.0"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d3554923a69f4ce04c4a754260c338f505ce22642d3830e049a399fc2059a29"
+checksum = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec"
dependencies = [
"bitflags 2.10.0",
"hex",
+ "serde",
]
[[package]]
@@ -596,7 +596,7 @@ lsp-types = { git = "https://github.com/zed-industries/lsp-types", rev = "a4f410
mach2 = "0.5"
markup5ever_rcdom = "0.3.0"
metal = "0.33"
-minidumper = "0.8"
+minidumper = "0.9"
moka = { version = "0.12.10", features = ["sync"] }
naga = { version = "28.0", features = ["wgsl-in"] }
nanoid = "0.4"
@@ -1,7 +1,7 @@
use crash_handler::{CrashEventResult, CrashHandler};
use futures::future::BoxFuture;
use log::info;
-use minidumper::{Client, LoopAction, MinidumpBinary};
+use minidumper::{Client, LoopAction, MinidumpBinary, Server, SocketName};
use parking_lot::Mutex;
use release_channel::{RELEASE_CHANNEL, ReleaseChannel};
use serde::{Deserialize, Serialize};
@@ -128,7 +128,7 @@ async fn connect_and_keepalive(crash_init: InitCrashHandler, handler: CrashHandl
let retry_frequency = Duration::from_millis(100);
let mut maybe_client = None;
while maybe_client.is_none() {
- if let Ok(client) = Client::with_name(socket_name.as_path()) {
+ if let Ok(client) = Client::with_name(SocketName::Path(&socket_name)) {
maybe_client = Some(client);
info!("connected to crash handler process after {elapsed:?}");
break;
@@ -446,7 +446,7 @@ fn spawn_crash_handler_windows(exe: &Path, socket_name: &Path) {
}
pub fn crash_server(socket: &Path) {
- let Ok(mut server) = minidumper::Server::with_name(socket) else {
+ let Ok(mut server) = Server::with_name(SocketName::Path(socket)) else {
log::info!("Couldn't create socket, there may already be a running crash server");
return;
};