Add more data to see which extension got leaked (cherry-pick #35272) (#35278)
gcp-cherry-pick-bot[bot]
and
Kirill Bulatov
created 4 months ago
Cherry-picked Add more data to see which extension got leaked (#35272)
Part of https://github.com/zed-industries/zed/issues/35185
Release Notes:
- N/A
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Change summary
crates/extension_host/src/wasm_host.rs | 29 ++++++++++++++++++++++++---
1 file changed, 25 insertions(+), 4 deletions(-)
Detailed changes
@@ -755,8 +755,18 @@ impl WasmExtension {
}
.boxed()
}))
- .expect("wasm extension channel should not be closed yet");
- return_rx.await.expect("wasm extension channel")
+ .unwrap_or_else(|_| {
+ panic!(
+ "wasm extension channel should not be closed yet, extension {} (id {})",
+ self.manifest.name, self.manifest.id,
+ )
+ });
+ return_rx.await.unwrap_or_else(|_| {
+ panic!(
+ "wasm extension channel, extension {} (id {})",
+ self.manifest.name, self.manifest.id,
+ )
+ })
}
}
@@ -777,8 +787,19 @@ impl WasmState {
}
.boxed_local()
}))
- .expect("main thread message channel should not be closed yet");
- async move { return_rx.await.expect("main thread message channel") }
+ .unwrap_or_else(|_| {
+ panic!(
+ "main thread message channel should not be closed yet, extension {} (id {})",
+ self.manifest.name, self.manifest.id,
+ )
+ });
+ let name = self.manifest.name.clone();
+ let id = self.manifest.id.clone();
+ async move {
+ return_rx.await.unwrap_or_else(|_| {
+ panic!("main thread message channel, extension {name} (id {id})")
+ })
+ }
}
fn work_dir(&self) -> PathBuf {