You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
When trying to import an LoroDoc into a forked doc, it panics with:
thread 'test_loro_raw_concurrent_import' panicked at /home/opc/.cargo/git/checkouts/loro-efef1422f3eefd12/de93d34a9c07/crates/loro-internal/src/oplog/change_store.rs:696:17:
assertion failed: vv.get(&change.id.peer).copied().unwrap_or(0) <= change.id.counter
Loro Dependencies
Using Loro from git revision de93d34
loro = { git = "https://github.com/loro-dev/loro.git", branch = "dev" }
To Reproduce
let fx_loro = loro::LoroDoc::new();
fx_loro
.get_map("paciente").insert("nome","DUMMY NAME V0")?;
fx_loro.commit();let loro_c1 = fx_loro.fork();
loro_c1
.get_map("paciente").insert("nome","DUMMY NAME V1")?;
loro_c1.commit();// If I use `fork()` it panicslet final_loro = fx_loro.fork();// If I create a new loro doc and import the snapshot it works//let final_loro = loro::LoroDoc::new();//final_loro.import(&fx_loro.export(loro::ExportMode::snapshot())?)?;
final_loro.import(&loro_c1.export(loro::ExportMode::snapshot())?)?;
Expected behavior
The LoroDoc would sucessfully import all changes and merge them.
Additional context
Backtrace
thread 'test_loro_raw_concurrent_import' panicked at /home/opc/.cargo/git/checkouts/loro-efef1422f3eefd12/de93d34a9c07/crates/loro-internal/src/oplog/change_store.rs:696:17:
assertion failed: vv.get(&change.id.peer).copied().unwrap_or(0) <= change.id.counter
stack backtrace:
0: rust_begin_unwind
at /rustc/0d634185dfddefe09047881175f35c65d68dcff1/library/std/src/panicking.rs:662:5
1: core::panicking::panic_fmt
at /rustc/0d634185dfddefe09047881175f35c65d68dcff1/library/core/src/panicking.rs:74:14
2: core::panicking::panic
at /rustc/0d634185dfddefe09047881175f35c65d68dcff1/library/core/src/panicking.rs:148:5
3: loro_internal::oplog::change_store::mut_inner_kv::<impl loro_internal::oplog::change_store::ChangeStore>::insert_change
at /home/opc/.cargo/git/checkouts/loro-efef1422f3eefd12/de93d34a9c07/crates/loro-internal/src/oplog/change_store.rs:696:17
4: loro_internal::oplog::OpLog::insert_new_change
at /home/opc/.cargo/git/checkouts/loro-efef1422f3eefd12/de93d34a9c07/crates/loro-internal/src/oplog.rs:169:9
5: loro_internal::encoding::outdated_encode_reordered::import_changes_to_oplog
at /home/opc/.cargo/git/checkouts/loro-efef1422f3eefd12/de93d34a9c07/crates/loro-internal/src/encoding/outdated_encode_reordered.rs:276:9
6: loro_internal::encoding::fast_snapshot::decode_oplog
at /home/opc/.cargo/git/checkouts/loro-efef1422f3eefd12/de93d34a9c07/crates/loro-internal/src/encoding/fast_snapshot.rs:224:9
7: loro_internal::encoding::decode_oplog
at /home/opc/.cargo/git/checkouts/loro-efef1422f3eefd12/de93d34a9c07/crates/loro-internal/src/encoding.rs:252:37
8: loro_internal::oplog::OpLog::decode
at /home/opc/.cargo/git/checkouts/loro-efef1422f3eefd12/de93d34a9c07/crates/loro-internal/src/oplog.rs:399:9
9: loro_internal::loro::<impl loro_internal::LoroDoc>::_import_with::{{closure}}
at /home/opc/.cargo/git/checkouts/loro-efef1422f3eefd12/de93d34a9c07/crates/loro-internal/src/loro.rs:481:33
10: loro_internal::loro::<impl loro_internal::LoroDoc>::update_oplog_and_apply_delta_to_state_if_needed
at /home/opc/.cargo/git/checkouts/loro-efef1422f3eefd12/de93d34a9c07/crates/loro-internal/src/loro.rs:513:22
11: loro_internal::loro::<impl loro_internal::LoroDoc>::_import_with
at /home/opc/.cargo/git/checkouts/loro-efef1422f3eefd12/de93d34a9c07/crates/loro-internal/src/loro.rs:480:21
12: loro_internal::loro::<impl loro_internal::LoroDoc>::import_with
at /home/opc/.cargo/git/checkouts/loro-efef1422f3eefd12/de93d34a9c07/crates/loro-internal/src/loro.rs:436:19
13: loro::LoroDoc::import
at /home/opc/.cargo/git/checkouts/loro-efef1422f3eefd12/de93d34a9c07/crates/loro/src/lib.rs:391:9
14: tests_paciente::test_loro_raw_concurrent_import
at ./tests/tests_paciente.rs:250:5
15: tests_paciente::test_loro_raw_concurrent_import::{{closure}}
at ./tests/tests_paciente.rs:228:41
16: core::ops::function::FnOnce::call_once
at /rustc/0d634185dfddefe09047881175f35c65d68dcff1/library/core/src/ops/function.rs:250:5
17: core::ops::function::FnOnce::call_once
at /rustc/0d634185dfddefe09047881175f35c65d68dcff1/library/core/src/ops/function.rs:250:5
The text was updated successfully, but these errors were encountered:
Describe the bug
When trying to import an
LoroDoc
into a forked doc, it panics with:Loro Dependencies
Using Loro from git revision de93d34
To Reproduce
Expected behavior
The
LoroDoc
would sucessfully import all changes and merge them.Additional context
Backtrace
The text was updated successfully, but these errors were encountered: