zed-industries/zed · error
unable to find ourselves
Error message
unable to find ourselves
What it means
Error in the crashes crate's connect_and_keepalive when the current executable's own path cannot be determined (current_exe failed or returned nothing), so the crash-handler subprocess cannot be spawned from the same binary. Without it, crash reporting cannot be initialized.
Source
Thrown at crates/crashes/src/crashes.rs:77
connect_and_keepalive(crash_init, socket_path, wait_timer, spawn)
}
/// Spawn the crash-handler subprocess, connect the IPC client, and run the
/// keepalive ping loop. This is the future returned by [`init`], so it runs on
/// whichever executor the caller polls it with.
async fn connect_and_keepalive<F, C, S, P>(
crash_init: InitCrashHandler,
socket_path: P,
wait_timer: C,
spawn: S,
) -> Arc<Client>
where
F: Future<Output = ()> + Send + Sync + 'static,
C: (Fn(Duration) -> F) + Send + Sync + 'static,
S: FnOnce(Pin<Box<dyn Future<Output = ()> + Send + 'static>>),
P: FnOnce(u32) -> PathBuf,
{
let exe = env::current_exe().expect("unable to find ourselves");
let socket_path = socket_path(process::id());
let mut _crash_handler = spawn_crash_handler(&exe, &socket_path);
info!("spawning crash handler process");
let mut elapsed = Duration::ZERO;
let retry_frequency = Duration::from_millis(100);
let client = loop {
if let Ok(client) = Client::with_name(SocketName::Path(&socket_path)) {
info!("connected to crash handler process after {elapsed:?}");
break client;
}
elapsed += retry_frequency;
wait_timer(retry_frequency).await;
};
let client = Arc::new(client);
panic::set_hook({
let client = client.clone();
Box::new(move |payload| {View on GitHub (pinned to f4178619ac)
Solutions
- Avoid running the binary in ways that hide /proc/self/exe (deleted binaries, unusual namespaces)
- Ensure the executable is not deleted or moved while running
- Check container/sandbox restrictions on /proc access
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at crates/crashes/src/crashes.rs:77 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of zed-industries/zed@f4178619ac (2026-08-20).
Data as JSON: /api/errors/9d49444f259c6c03.
Report an issue: GitHub.