Separate minidump crashes from panics (#36267)

The minidump-based crash reporting is now entirely separate from our
legacy panic_hook-based reporting. This should improve the association
of minidumps with their metadata and give us more consistent crash
reports.

Release Notes:

- N/A

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
This commit is contained in:
Julia Ryan 2025-08-16 01:33:32 -05:00 committed by GitHub
parent f5f14111ef
commit 7784fac288
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 315 additions and 248 deletions

View file

@ -1490,20 +1490,17 @@ impl RemoteConnection for SshRemoteConnection {
identifier = &unique_identifier,
);
if let Some(rust_log) = std::env::var("RUST_LOG").ok() {
start_proxy_command = format!(
"RUST_LOG={} {}",
shlex::try_quote(&rust_log).unwrap(),
start_proxy_command
)
}
if let Some(rust_backtrace) = std::env::var("RUST_BACKTRACE").ok() {
start_proxy_command = format!(
"RUST_BACKTRACE={} {}",
shlex::try_quote(&rust_backtrace).unwrap(),
start_proxy_command
)
for env_var in ["RUST_LOG", "RUST_BACKTRACE", "ZED_GENERATE_MINIDUMPS"] {
if let Some(value) = std::env::var(env_var).ok() {
start_proxy_command = format!(
"{}={} {} ",
env_var,
shlex::try_quote(&value).unwrap(),
start_proxy_command,
);
}
}
if reconnect {
start_proxy_command.push_str(" --reconnect");
}
@ -2241,8 +2238,7 @@ impl SshRemoteConnection {
#[cfg(not(target_os = "windows"))]
{
run_cmd(Command::new("gzip").args(["-9", "-f", &bin_path.to_string_lossy()]))
.await?;
run_cmd(Command::new("gzip").args(["-f", &bin_path.to_string_lossy()])).await?;
}
#[cfg(target_os = "windows")]
{
@ -2474,7 +2470,7 @@ impl ChannelClient {
},
async {
smol::Timer::after(timeout).await;
anyhow::bail!("Timeout detected")
anyhow::bail!("Timed out resyncing remote client")
},
)
.await
@ -2488,7 +2484,7 @@ impl ChannelClient {
},
async {
smol::Timer::after(timeout).await;
anyhow::bail!("Timeout detected")
anyhow::bail!("Timed out pinging remote client")
},
)
.await