Skip to content

Crash when peer changes a file that is being viewed #3

@blinry

Description

@blinry

I haven't investigated this much, just documenting it here because it seems like the next thing to solve, when making steps towards bidirectional sync.

To reproduce:

  1. Connect to a peer
  2. Click on a file
  3. Open that file in the peer
  4. Edit the file

Resulting error message in the dev console:

panicked at /home/blinry/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dioxus-signals-0.6.3/src/global/mod.rs:110:46:
called `Result::unwrap()` on an `Err` value: AlreadyBorrowed(AlreadyBorrowedError { borrowed_at: [] })

Stack:

__wbg_get_imports/imports.wbg.__wbg_new_8a6f238a6ece86ea/<@http://127.0.0.1:37827/assets/ethersync-web-92fcc9a8328f2d50.js:5:35461
logError@http://127.0.0.1:37827/assets/ethersync-web-92fcc9a8328f2d50.js:1:21084
__wbg_get_imports/imports.wbg.__wbg_new_8a6f238a6ece86ea@http://127.0.0.1:37827/assets/ethersync-web-92fcc9a8328f2d50.js:5:35431
ethersync_web-bdeaf3630c85a3d6.wasm.__wbg_new_8a6f238a6ece86ea externref shim@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[16417]:0x836ea5
ethersync_web-bdeaf3630c85a3d6.wasm.console_error_panic_hook::hook::hd125ec3ec7b7bee7@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[2718]:0x4bf740
ethersync_web-bdeaf3630c85a3d6.wasm.core::ops::function::Fn::call::he5519be4280b0970@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[18952]:0x840a21
ethersync_web-bdeaf3630c85a3d6.wasm.std::panicking::rust_panic_with_hook::h4fa3daead9c4e0a7@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[9363]:0x785c7f
ethersync_web-bdeaf3630c85a3d6.wasm.std::panicking::begin_panic_handler::{{closure}}::hd6c1b2d9392231ac@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[10724]:0x7c7905
ethersync_web-bdeaf3630c85a3d6.wasm.std::sys::backtrace::__rust_end_short_backtrace::h59d6c402e40a1685@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[18684]:0x8400bf
ethersync_web-bdeaf3630c85a3d6.wasm.__rustc[5224e6b81cd82a8f]::rust_begin_unwind@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[14934]:0x82b995
ethersync_web-bdeaf3630c85a3d6.wasm.core::panicking::panic_fmt::hd3052a3662d50c95@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[14935]:0x82b9c2
ethersync_web-bdeaf3630c85a3d6.wasm.core::result::unwrap_failed::hc9f0cd5f2cb06185@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[11534]:0x7e6107
ethersync_web-bdeaf3630c85a3d6.wasm.ethersync_web::services::automerge_service::select_file::h6da5c26e5febc140@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[1194]:0x303206
ethersync_web-bdeaf3630c85a3d6.wasm.dioxus_hooks::use_future::use_future::{{closure}}::{{closure}}::heedd2de097e7712f@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[440]:0x118a05
ethersync_web-bdeaf3630c85a3d6.wasm.dioxus_core::runtime::Runtime::with_scope_on_stack::he7ef5dea74a9ad48@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[6189]:0x69aaea
ethersync_web-bdeaf3630c85a3d6.wasm.dioxus_core::tasks::<impl dioxus_core::runtime::Runtime>::handle_task_wakeup::haaeca8d3ab134ab0@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[3674]:0x56ba91
ethersync_web-bdeaf3630c85a3d6.wasm.dioxus_core::virtual_dom::VirtualDom::render_immediate::h67f9c8ee18b39338@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[1948]:0x404b40
ethersync_web-bdeaf3630c85a3d6.wasm.dioxus_web::launch::launch_virtual_dom::{{closure}}::hfd5999ea921711c7@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[1244]:0x317b00
ethersync_web-bdeaf3630c85a3d6.wasm.wasm_bindgen_futures::queue::QueueState::run_all::h0ae537dc00123d5a@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[3970]:0x5984e3
ethersync_web-bdeaf3630c85a3d6.wasm.wasm_bindgen_futures::queue::Queue::new::{{closure}}::h7afaf698101f037c@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[11457]:0x7e36a0
ethersync_web-bdeaf3630c85a3d6.wasm.<dyn core::ops::function::FnMut<(A,)>+Output = R as wasm_bindgen::closure::WasmClosure>::describe::invoke::h3936ab4a6af6482f@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[15514]:0x831341
ethersync_web-bdeaf3630c85a3d6.wasm.closure5118 externref shim@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[16210]:0x835dbd
__wbg_adapter_80@http://127.0.0.1:37827/assets/ethersync-web-92fcc9a8328f2d50.js:5:1706
real@http://127.0.0.1:37827/assets/ethersync-web-92fcc9a8328f2d50.js:4:2177
VoidFunction*__wbg_get_imports/imports.wbg.__wbg_queueMicrotask_97d92b4fcc8a61c5/<@http://127.0.0.1:37827/assets/ethersync-web-92fcc9a8328f2d50.js:5:42565
logError@http://127.0.0.1:37827/assets/ethersync-web-92fcc9a8328f2d50.js:1:21084
__wbg_get_imports/imports.wbg.__wbg_queueMicrotask_97d92b4fcc8a61c5@http://127.0.0.1:37827/assets/ethersync-web-92fcc9a8328f2d50.js:5:42527
ethersync_web-bdeaf3630c85a3d6.wasm.__wbg_queueMicrotask_97d92b4fcc8a61c5 externref shim@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[18697]:0x84013d
ethersync_web-bdeaf3630c85a3d6.wasm.wasm_bindgen_futures::queue::Queue::schedule_task::h80bd6014df5a8e44@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[7207]:0x6f35fb
ethersync_web-bdeaf3630c85a3d6.wasm.wasm_bindgen_futures::task::singlethread::Task::into_raw_waker::raw_wake::h46a2a57fc1b17a5c@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[10560]:0x7c0b37
ethersync_web-bdeaf3630c85a3d6.wasm.futures_core::task::__internal::atomic_waker::AtomicWaker::wake::hf83365e4c3135df1@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[11698]:0x7eb708
ethersync_web-bdeaf3630c85a3d6.wasm.futures_channel::mpsc::UnboundedSender<T>::unbounded_send::h17f83245901fa6ad@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[9412]:0x788903
ethersync_web-bdeaf3630c85a3d6.wasm.<dioxus_core::tasks::LocalTaskHandle as futures_task::arc_wake::ArcWake>::wake_by_ref::h3ae9f0168ef91ac0@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[13792]:0x81bba2
ethersync_web-bdeaf3630c85a3d6.wasm.futures_task::waker::wake_arc_raw::hb0d909ea043d1cce@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[9605]:0x7931f1
ethersync_web-bdeaf3630c85a3d6.wasm.<iroh_quinn::connection::ConnectionDriver as core::future::future::Future>::poll::h121469686c558575@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[402]:0xd773f
ethersync_web-bdeaf3630c85a3d6.wasm.<tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h446c000260258792@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[1820]:0x3df96e
ethersync_web-bdeaf3630c85a3d6.wasm.<core::pin::Pin<P> as core::future::future::Future>::poll::h90cdd85e69f9fa7e@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[16286]:0x836421
ethersync_web-bdeaf3630c85a3d6.wasm.wasm_bindgen_futures::queue::QueueState::run_all::h0ae537dc00123d5a@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[3970]:0x5984e3
ethersync_web-bdeaf3630c85a3d6.wasm.wasm_bindgen_futures::queue::Queue::new::{{closure}}::h7afaf698101f037c@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[11457]:0x7e36a0
ethersync_web-bdeaf3630c85a3d6.wasm.<dyn core::ops::function::FnMut<(A,)>+Output = R as wasm_bindgen::closure::WasmClosure>::describe::invoke::h3936ab4a6af6482f@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[15514]:0x831341
ethersync_web-bdeaf3630c85a3d6.wasm.closure5118 externref shim@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[16210]:0x835dbd
__wbg_adapter_80@http://127.0.0.1:37827/assets/ethersync-web-92fcc9a8328f2d50.js:5:1706
real@http://127.0.0.1:37827/assets/ethersync-web-92fcc9a8328f2d50.js:4:2177
VoidFunction*__wbg_get_imports/imports.wbg.__wbg_queueMicrotask_97d92b4fcc8a61c5/<@http://127.0.0.1:37827/assets/ethersync-web-92fcc9a8328f2d50.js:5:42565
logError@http://127.0.0.1:37827/assets/ethersync-web-92fcc9a8328f2d50.js:1:21084
__wbg_get_imports/imports.wbg.__wbg_queueMicrotask_97d92b4fcc8a61c5@http://127.0.0.1:37827/assets/ethersync-web-92fcc9a8328f2d50.js:5:42527
ethersync_web-bdeaf3630c85a3d6.wasm.__wbg_queueMicrotask_97d92b4fcc8a61c5 externref shim@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[18697]:0x84013d
ethersync_web-bdeaf3630c85a3d6.wasm.wasm_bindgen_futures::queue::Queue::schedule_task::h80bd6014df5a8e44@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[7207]:0x6f35fb
ethersync_web-bdeaf3630c85a3d6.wasm.wasm_bindgen_futures::task::singlethread::Task::into_raw_waker::raw_wake::h46a2a57fc1b17a5c@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[10560]:0x7c0b37
ethersync_web-bdeaf3630c85a3d6.wasm.tokio::sync::task::atomic_waker::AtomicWaker::wake::h2e02c513ca78e542@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[11675]:0x7eab1d
ethersync_web-bdeaf3630c85a3d6.wasm.tokio::sync::mpsc::unbounded::UnboundedSender<T>::send::h593a1e012449af7a@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[8709]:0x75e48a
ethersync_web-bdeaf3630c85a3d6.wasm.iroh_quinn::endpoint::RecvState::poll_socket::hd60c903c170b93d5@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[863]:0x26a322
ethersync_web-bdeaf3630c85a3d6.wasm.<iroh_quinn::endpoint::EndpointDriver as core::future::future::Future>::poll::h29917a6a09dbd235@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[1080]:0x2d19ea
ethersync_web-bdeaf3630c85a3d6.wasm.<tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::hf988a4d3a1840450@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[1445]:0x364991
ethersync_web-bdeaf3630c85a3d6.wasm.<core::pin::Pin<P> as core::future::future::Future>::poll::h90cdd85e69f9fa7e@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[16286]:0x836421
ethersync_web-bdeaf3630c85a3d6.wasm.wasm_bindgen_futures::queue::QueueState::run_all::h0ae537dc00123d5a@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[3970]:0x5984e3
ethersync_web-bdeaf3630c85a3d6.wasm.wasm_bindgen_futures::queue::Queue::new::{{closure}}::h7afaf698101f037c@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[11457]:0x7e36a0
ethersync_web-bdeaf3630c85a3d6.wasm.<dyn core::ops::function::FnMut<(A,)>+Output = R as wasm_bindgen::closure::WasmClosure>::describe::invoke::h3936ab4a6af6482f@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[15514]:0x831341
ethersync_web-bdeaf3630c85a3d6.wasm.closure5118 externref shim@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[16210]:0x835dbd
__wbg_adapter_80@http://127.0.0.1:37827/assets/ethersync-web-92fcc9a8328f2d50.js:5:1706
real@http://127.0.0.1:37827/assets/ethersync-web-92fcc9a8328f2d50.js:4:2177
VoidFunction*__wbg_get_imports/imports.wbg.__wbg_queueMicrotask_97d92b4fcc8a61c5/<@http://127.0.0.1:37827/assets/ethersync-web-92fcc9a8328f2d50.js:5:42565
logError@http://127.0.0.1:37827/assets/ethersync-web-92fcc9a8328f2d50.js:1:21084
__wbg_get_imports/imports.wbg.__wbg_queueMicrotask_97d92b4fcc8a61c5@http://127.0.0.1:37827/assets/ethersync-web-92fcc9a8328f2d50.js:5:42527
ethersync_web-bdeaf3630c85a3d6.wasm.__wbg_queueMicrotask_97d92b4fcc8a61c5 externref shim@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[18697]:0x84013d
ethersync_web-bdeaf3630c85a3d6.wasm.wasm_bindgen_futures::queue::Queue::schedule_task::h80bd6014df5a8e44@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[7207]:0x6f35fb
ethersync_web-bdeaf3630c85a3d6.wasm.wasm_bindgen_futures::task::singlethread::Task::into_raw_waker::raw_wake::h46a2a57fc1b17a5c@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[10560]:0x7c0b37
ethersync_web-bdeaf3630c85a3d6.wasm.atomic_waker::AtomicWaker::wake::h7bc6a7ff1922263e@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[11677]:0x7eac23
ethersync_web-bdeaf3630c85a3d6.wasm.iroh::magicsock::relay_actor::ActiveRelayActor::handle_relay_msg::h0bf7c6dc3313d686@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[433]:0x10d12d
ethersync_web-bdeaf3630c85a3d6.wasm.<tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h6aa99b1e8642491f@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[363]:0x78054
ethersync_web-bdeaf3630c85a3d6.wasm.<tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h0a6f36e32c9c33bb@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[420]:0xf7671
ethersync_web-bdeaf3630c85a3d6.wasm.<n0_future::task::wasm::SpawnFuture<Fut,T> as core::future::future::Future>::poll::h5a1b7c01ec26e65b@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[5679]:0x668d60
ethersync_web-bdeaf3630c85a3d6.wasm.wasm_bindgen_futures::queue::QueueState::run_all::h0ae537dc00123d5a@http://127.0.0.1:37827/assets/ethersync-web_bg-4d9cfe37d08b63ae.wasm:wasm-function[3970]:0x5984e3


ethersync-web-92fcc9a8328f2d50.js:1:18579

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions