```
thread 'main' (35618165) panicked at crates/gpui/src/app/entity_map.rs:164:32:
cannot read workspace::multi_workspace::MultiWorkspace while it is already being updated
stack backtrace:
0: __rustc::rust_begin_unwind
at /rustc/e408947bfd200af42db322daf0fadfe7e26d3bd1/library/std/src/panicking.rs:689:5
1: core::panicking::panic_fmt
at /rustc/e408947bfd200af42db322daf0fadfe7e26d3bd1/library/core/src/panicking.rs:80:14
2: gpui::app::entity_map::double_lease_panic::<workspace::multi_workspace::MultiWorkspace>
at ./crates/gpui/src/app/entity_map.rs:208:5
3: <gpui::app::entity_map::EntityMap>::read::<workspace::multi_workspace::MultiWorkspace>::{closure#1}
at ./crates/gpui/src/app/entity_map.rs:164:32
4: <core::option::Option<&workspace::multi_workspace::MultiWorkspace>>::unwrap_or_else::<<gpui::app::entity_map::EntityMap>::read<workspace::multi_workspace::MultiWorkspace>::{closure#1}>
at /Users/bebo/.rustup/toolchains/1.94.1-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/option.rs:1067:21
5: <gpui::app::entity_map::EntityMap>::read::<workspace::multi_workspace::MultiWorkspace>
at ./crates/gpui/src/app/entity_map.rs:164:14
6: <gpui::app::entity_map::Entity<workspace::multi_workspace::MultiWorkspace>>::read
at ./crates/gpui/src/app/entity_map.rs:465:21
7: <sidebar::Sidebar>::show_archive::{closure#0}
at ./crates/sidebar/src/sidebar.rs:3462:15
8: <core::option::Option<gpui::app::entity_map::Entity<workspace::multi_workspace::MultiWorkspace>>>::and_then::<gpui::app::entity_map::Entity<workspace::Workspace>, <sidebar::Sidebar>::show_archive::{closure#0}>
at /Users/bebo/.rustup/toolchains/1.94.1-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/option.rs:1546:24
9: <sidebar::Sidebar>::show_archive
at ./crates/sidebar/src/sidebar.rs:3461:69
10: <sidebar::Sidebar as workspace::multi_workspace::Sidebar>::restore_serialized_state
at ./crates/sidebar/src/sidebar.rs:3606:22
11: <gpui::app::entity_map::Entity<sidebar::Sidebar> as workspace::multi_workspace::SidebarHandle>::restore_serialized_state::{closure#0}
at ./crates/workspace/src/multi_workspace.rs:216:18
12: <gpui::app::App as gpui::AppContext>::update_entity::<sidebar::Sidebar, (), <gpui::app::entity_map::Entity<sidebar::Sidebar> as workspace::multi_workspace::SidebarHandle>::restore_serialized_state::{closure#0}>::{closure#0}
at ./crates/gpui/src/app.rs:2397:26
13: <gpui::app::App>::update::<(), <gpui::app::App as gpui::AppContext>::update_entity<sidebar::Sidebar, (), <gpui::app::entity_map::Entity<sidebar::Sidebar> as workspace::multi_workspace::SidebarHandle>::restore_serialized_state::{closure#0}>::{closure#0}>
at ./crates/gpui/src/app.rs:886:22
14: <gpui::app::App as gpui::AppContext>::update_entity::<sidebar::Sidebar, (), <gpui::app::entity_map::Entity<sidebar::Sidebar> as workspace::multi_workspace::SidebarHandle>::restore_serialized_state::{closure#0}>
at ./crates/gpui/src/app.rs:2395:14
15: <gpui::app::entity_map::Entity<sidebar::Sidebar>>::update::<(), gpui::app::App, <gpui::app::entity_map::Entity<sidebar::Sidebar> as workspace::multi_workspace::SidebarHandle>::restore_serialized_state::{closure#0}>
at ./crates/gpui/src/app/entity_map.rs:481:12
16: <gpui::app::entity_map::Entity<sidebar::Sidebar> as workspace::multi_workspace::SidebarHandle>::restore_serialized_state
at ./crates/workspace/src/multi_workspace.rs:215:14
17: workspace::restore_multiworkspace::{closure#0}::{closure#7}
at ./crates/workspace/src/workspace.rs:8712:29
18: <gpui::window::WindowHandle<workspace::multi_workspace::MultiWorkspace>>::update::<gpui::app::async_context::AsyncApp, (), workspace::restore_multiworkspace::{closure#0}::{closure#7}>::{closure#0}::{closure#1}
at ./crates/gpui/src/window.rs:5318:43
19: <gpui::app::App as gpui::AppContext>::update_entity::<workspace::multi_workspace::MultiWorkspace, (), <gpui::window::WindowHandle<workspace::multi_workspace::MultiWorkspace>>::update<gpui::app::async_context::AsyncApp, (), workspace::restore_multiworkspace::{closure#0}::{closure#7}>::{closure#0}::{closure#1}>::{closure#0}
at ./crates/gpui/src/app.rs:2397:26
20: <gpui::app::App>::update::<(), <gpui::app::App as gpui::AppContext>::update_entity<workspace::multi_workspace::MultiWorkspace, (), <gpui::window::WindowHandle<workspace::multi_workspace::MultiWorkspace>>::update<gpui::app::async_context::AsyncApp, (), workspace::restore_multiworkspace::{closure#0}::{closure#7}>::{closure#0}::{closure#1}>::{closure#0}>
at ./crates/gpui/src/app.rs:886:22
21: <gpui::app::App as gpui::AppContext>::update_entity::<workspace::multi_workspace::MultiWorkspace, (), <gpui::window::WindowHandle<workspace::multi_workspace::MultiWorkspace>>::update<gpui::app::async_context::AsyncApp, (), workspace::restore_multiworkspace::{closure#0}::{closure#7}>::{closure#0}::{closure#1}>
at ./crates/gpui/src/app.rs:2395:14
22: <gpui::app::entity_map::Entity<workspace::multi_workspace::MultiWorkspace>>::update::<(), gpui::app::App, <gpui::window::WindowHandle<workspace::multi_workspace::MultiWorkspace>>::update<gpui::app::async_context::AsyncApp, (), workspace::restore_multiworkspace::{closure#0}::{closure#7}>::{closure#0}::{closure#1}>
at ./crates/gpui/src/app/entity_map.rs:481:12
23: <gpui::window::WindowHandle<workspace::multi_workspace::MultiWorkspace>>::update::<gpui::app::async_context::AsyncApp, (), workspace::restore_multiworkspace::{closure#0}::{closure#7}>::{closure#0}
at ./crates/gpui/src/window.rs:5318:21
24: <gpui::app::App>::update_window_id::<core::result::Result<(), anyhow::Error>, <gpui::window::WindowHandle<workspace::multi_workspace::MultiWorkspace>>::update<gpui::app::async_context::AsyncApp, (), workspace::restore_multiworkspace::{closure#0}::{closure#7}>::{closure#0}>::{closure#0}
at ./crates/gpui/src/app.rs:1561:26
25: <gpui::app::App>::update::<core::option::Option<core::result::Result<(), anyhow::Error>>, <gpui::app::App>::update_window_id<core::result::Result<(), anyhow::Error>, <gpui::window::WindowHandle<workspace::multi_workspace::MultiWorkspace>>::update<gpui::app::async_context::AsyncApp, (), workspace::restore_multiworkspace::{closure#0}::{closure#7}>::{closure#0}>::{closure#0}>
at ./crates/gpui/src/app.rs:886:22
26: <gpui::app::App>::update_window_id::<core::result::Result<(), anyhow::Error>, <gpui::window::WindowHandle<workspace::multi_workspace::MultiWorkspace>>::update<gpui::app::async_context::AsyncApp, (), workspace::restore_multiworkspace::{closure#0}::{closure#7}>::{closure#0}>
at ./crates/gpui/src/app.rs:1555:14
27: <gpui::app::App as gpui::AppContext>::update_window::<core::result::Result<(), anyhow::Error>, <gpui::window::WindowHandle<workspace::multi_workspace::MultiWorkspace>>::update<gpui::app::async_context::AsyncApp, (), workspace::restore_multiworkspace::{closure#0}::{closure#7}>::{closure#0}>
at ./crates/gpui/src/app.rs:2425:14
28: <gpui::app::async_context::AsyncApp as gpui::AppContext>::update_window::<core::result::Result<(), anyhow::Error>, <gpui::window::WindowHandle<workspace::multi_workspace::MultiWorkspace>>::update<gpui::app::async_context::AsyncApp, (), workspace::restore_multiworkspace::{closure#0}::{closure#7}>::{closure#0}>
at ./crates/gpui/src/app/async_context.rs:94:14
29: <gpui::window::WindowHandle<workspace::multi_workspace::MultiWorkspace>>::update::<gpui::app::async_context::AsyncApp, (), workspace::restore_multiworkspace::{closure#0}::{closure#7}>
at ./crates/gpui/src/window.rs:5313:12
30: workspace::restore_multiworkspace::{closure#0}
at ./crates/workspace/src/workspace.rs:8710:14
31: zed::restore_or_create_workspace::{closure#0}
at ./crates/zed/src/main.rs:1358:82
32: zed::main::{closure#10}::{closure#16}::{closure#0}::<i32>
at ./crates/zed/src/main.rs:877:84
33: <gpui::app::App>::spawn::<zed::main::{closure#10}::{closure#16}, ()>::{closure#0}
at ./crates/gpui/src/app.rs:1633:44
34: <core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
at /Users/bebo/.rustup/toolchains/1.94.1-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/future/future.rs:133:9
35: <core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
at /Users/bebo/.rustup/toolchains/1.94.1-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/future/future.rs:133:9
36: <scheduler::executor::spawn_local_with_source_location::Checked<core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = ()>>>> as core::future::future::Future>::poll
at ./crates/scheduler/src/executor.rs:361:64
37: <async_task::raw::RawTask<scheduler::executor::spawn_local_with_source_location::Checked<core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = ()>>>>, (), <scheduler::executor::ForegroundExecutor>::spawn<core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = ()>>>>::{closure#0}, scheduler::RunnableMeta>>::run
at /Users/bebo/.cargo/git/checkouts/async-task-e468f817236eac43/b4486cd/src/raw.rs:296:17
38: <async_task::runnable::Runnable<scheduler::RunnableMeta>>::run
at /Users/bebo/.cargo/git/checkouts/async-task-e468f817236eac43/b4486cd/src/runnable.rs:788:18
39: gpui_macos::dispatcher::trampoline
at ./crates/gpui_macos/src/dispatcher.rs:197:14
40: <unknown>
41: <unknown>
42: <unknown>
43: <unknown>
44: <unknown>
45: <unknown>
46: <unknown>
47: <unknown>
48: <unknown>
49: <unknown>
50: <unknown>
51: <unknown>
52: <unknown>
53: <() as objc::message::MessageArguments>::invoke::<()>
at /Users/bebo/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc-0.2.7/src/message/mod.rs:128:17
54: objc::message::platform::send_unverified::<objc::runtime::Object, (), ()>
at /Users/bebo/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc-0.2.7/src/message/apple/mod.rs:27:9
55: objc::message::send_message::<objc::runtime::Object, (), ()>
at /Users/bebo/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc-0.2.7/src/message/mod.rs:178:5
56: <*mut objc::runtime::Object as cocoa::appkit::NSApplication>::run
at /Users/bebo/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cocoa-0.26.0/src/appkit.rs:628:9
57: <gpui_macos::platform::MacPlatform as gpui::platform::Platform>::run
at ./crates/gpui_macos/src/platform.rs:488:17
58: <gpui::app::Application>::run::<zed::main::{closure#10}>
at ./crates/gpui/src/app.rs:187:18
59: zed::main
at ./crates/zed/src/main.rs:456:9
60: <fn() as core::ops::function::FnOnce<()>>::call_once
at /Users/bebo/.rustup/toolchains/1.94.1-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace
```
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
Release Notes:
- N/A