-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sync error #45
Comments
@Iwark thanks for reporting. I am going to take a look. Could you provide which type ( I can narrow down the issue to two updates (index: |
I have decoded the two updates, and I can't really see a problem. I then skipped the other updates and they worked, so I thought it might be conflicting updates and I found the pair that caused the issue. @Horusiath could you help here? Test setup https://github.com/y-crdt/yrb/blob/add-lib0/spec/regression_spec.rb
|
When I apply the update and
|
Here is a Rust only debug example https://github.com/y-crdt/yrb/blob/examples-rust-regression/examples/regression/src/main.rs
use yrs::updates::decoder::Decode;
use yrs::{Doc, Update};
fn main() {
let diffs: Vec<Vec<u8>> = vec![
vec![
1, 3, 197, 134, 244, 186, 10, 0, 7, 1, 7, 100, 101, 102, 97, 117, 108, 116, 3, 9, 112,
97, 114, 97, 103, 114, 97, 112, 104, 7, 0, 197, 134, 244, 186, 10, 0, 6, 4, 0, 197,
134, 244, 186, 10, 1, 1, 115, 0,
],
vec![
1, 1, 197, 134, 244, 186, 10, 3, 132, 197, 134, 244, 186, 10, 2, 3, 227, 129, 149, 1,
197, 134, 244, 186, 10, 1, 2, 1,
],
vec![
1, 4, 197, 134, 244, 186, 10, 0, 7, 1, 7, 100, 101, 102, 97, 117, 108, 116, 3, 9, 112,
97, 114, 97, 103, 114, 97, 112, 104, 7, 0, 197, 134, 244, 186, 10, 0, 6, 1, 0, 197,
134, 244, 186, 10, 1, 1, 132, 197, 134, 244, 186, 10, 2, 3, 227, 129, 149, 1, 197, 134,
244, 186, 10, 1, 2, 1,
],
vec![
1, 1, 197, 134, 244, 186, 10, 4, 132, 197, 134, 244, 186, 10, 3, 1, 120, 0,
],
vec![
1, 1, 197, 134, 244, 186, 10, 5, 132, 197, 134, 244, 186, 10, 4, 3, 227, 129, 129, 1,
197, 134, 244, 186, 10, 1, 4, 1,
],
vec![
1, 1, 197, 134, 244, 186, 10, 6, 132, 197, 134, 244, 186, 10, 5, 1, 107, 0,
],
vec![
1, 2, 197, 134, 244, 186, 10, 4, 129, 197, 134, 244, 186, 10, 3, 1, 132, 197, 134, 244,
186, 10, 4, 3, 227, 129, 129, 1, 197, 134, 244, 186, 10, 1, 4, 1,
],
vec![
1, 1, 197, 134, 244, 186, 10, 7, 132, 197, 134, 244, 186, 10, 6, 3, 227, 129, 147, 1,
197, 134, 244, 186, 10, 1, 6, 1,
],
vec![
1, 2, 197, 134, 244, 186, 10, 6, 129, 197, 134, 244, 186, 10, 5, 1, 132, 197, 134, 244,
186, 10, 6, 3, 227, 129, 147, 1, 197, 134, 244, 186, 10, 1, 6, 1,
],
vec![
1, 1, 197, 134, 244, 186, 10, 8, 132, 197, 134, 244, 186, 10, 7, 1, 114, 0,
],
vec![
1, 1, 197, 134, 244, 186, 10, 9, 132, 197, 134, 244, 186, 10, 8, 3, 227, 130, 140, 1,
197, 134, 244, 186, 10, 1, 8, 1,
],
vec![
1, 1, 197, 134, 244, 186, 10, 8, 132, 197, 134, 244, 186, 10, 7, 1, 114, 0,
],
vec![
1, 1, 197, 134, 244, 186, 10, 10, 132, 197, 134, 244, 186, 10, 9, 1, 107, 0,
],
vec![
1, 1, 197, 134, 244, 186, 10, 11, 132, 197, 134, 244, 186, 10, 10, 3, 227, 129, 139, 1,
197, 134, 244, 186, 10, 1, 10, 1,
],
vec![
1, 1, 197, 134, 244, 186, 10, 12, 132, 197, 134, 244, 186, 10, 11, 1, 114, 0,
],
vec![
1, 1, 197, 134, 244, 186, 10, 13, 132, 197, 134, 244, 186, 10, 12, 3, 227, 130, 137, 1,
197, 134, 244, 186, 10, 1, 12, 1,
],
vec![
1, 1, 197, 134, 244, 186, 10, 9, 132, 197, 134, 244, 186, 10, 8, 3, 227, 130, 140, 1,
197, 134, 244, 186, 10, 1, 8, 1,
],
vec![
1, 1, 197, 134, 244, 186, 10, 10, 132, 197, 134, 244, 186, 10, 9, 1, 107, 0,
],
vec![
1, 1, 197, 134, 244, 186, 10, 11, 132, 197, 134, 244, 186, 10, 10, 3, 227, 129, 139, 1,
197, 134, 244, 186, 10, 1, 10, 1,
],
vec![
1, 1, 197, 134, 244, 186, 10, 12, 132, 197, 134, 244, 186, 10, 11, 1, 114, 0,
],
vec![
1, 1, 197, 134, 244, 186, 10, 14, 132, 197, 134, 244, 186, 10, 13, 1, 98, 0,
],
vec![
1, 1, 197, 134, 244, 186, 10, 16, 132, 197, 134, 244, 186, 10, 15, 1, 103, 0,
],
vec![
1, 1, 197, 134, 244, 186, 10, 15, 132, 197, 134, 244, 186, 10, 14, 3, 227, 129, 176, 1,
197, 134, 244, 186, 10, 1, 14, 1,
],
vec![
1, 1, 197, 134, 244, 186, 10, 17, 132, 197, 134, 244, 186, 10, 16, 3, 227, 129, 144, 1,
197, 134, 244, 186, 10, 1, 16, 1,
],
vec![
1, 1, 197, 134, 244, 186, 10, 17, 132, 197, 134, 244, 186, 10, 16, 3, 227, 129, 144, 1,
197, 134, 244, 186, 10, 1, 16, 1,
],
vec![
1, 1, 197, 134, 244, 186, 10, 18, 132, 197, 134, 244, 186, 10, 17, 6, 227, 131, 144,
227, 130, 176, 1, 197, 134, 244, 186, 10, 2, 15, 1, 17, 1,
],
vec![
1, 1, 197, 134, 244, 186, 10, 20, 132, 197, 134, 244, 186, 10, 19, 1, 103, 0,
],
vec![
1, 3, 197, 134, 244, 186, 10, 13, 132, 197, 134, 244, 186, 10, 12, 3, 227, 130, 137,
129, 197, 134, 244, 186, 10, 13, 1, 132, 197, 134, 244, 186, 10, 14, 4, 227, 129, 176,
103, 1, 197, 134, 244, 186, 10, 2, 12, 1, 14, 1,
],
vec![
1, 1, 197, 134, 244, 186, 10, 21, 132, 197, 134, 244, 186, 10, 20, 3, 227, 129, 140, 1,
197, 134, 244, 186, 10, 1, 20, 1,
],
vec![
1, 1, 197, 134, 244, 186, 10, 23, 132, 197, 134, 244, 186, 10, 22, 3, 227, 129, 170, 1,
197, 134, 244, 186, 10, 1, 22, 1,
],
vec![
1, 3, 197, 134, 244, 186, 10, 18, 132, 197, 134, 244, 186, 10, 17, 6, 227, 131, 144,
227, 130, 176, 129, 197, 134, 244, 186, 10, 19, 1, 132, 197, 134, 244, 186, 10, 20, 3,
227, 129, 140, 1, 197, 134, 244, 186, 10, 3, 15, 1, 17, 1, 20, 1,
],
vec![
1, 1, 197, 134, 244, 186, 10, 24, 132, 197, 134, 244, 186, 10, 23, 3, 227, 129, 132, 0,
],
vec![
1, 1, 197, 134, 244, 186, 10, 22, 132, 197, 134, 244, 186, 10, 21, 1, 110, 0,
],
vec![
1, 1, 197, 134, 244, 186, 10, 26, 132, 197, 134, 244, 186, 10, 25, 3, 227, 129, 139, 1,
197, 134, 244, 186, 10, 1, 25, 1,
],
vec![
1, 1, 197, 134, 244, 186, 10, 25, 132, 197, 134, 244, 186, 10, 24, 1, 107, 0,
],
vec![
1, 4, 197, 134, 244, 186, 10, 22, 129, 197, 134, 244, 186, 10, 21, 1, 132, 197, 134,
244, 186, 10, 22, 6, 227, 129, 170, 227, 129, 132, 129, 197, 134, 244, 186, 10, 24, 1,
132, 197, 134, 244, 186, 10, 25, 3, 227, 129, 139, 1, 197, 134, 244, 186, 10, 2, 22, 1,
25, 1,
],
vec![
1, 1, 197, 134, 244, 186, 10, 27, 132, 197, 134, 244, 186, 10, 26, 1, 100, 0,
],
vec![
1, 1, 197, 134, 244, 186, 10, 28, 132, 197, 134, 244, 186, 10, 27, 3, 227, 129, 169, 1,
197, 134, 244, 186, 10, 1, 27, 1,
],
vec![
1, 2, 197, 134, 244, 186, 10, 27, 129, 197, 134, 244, 186, 10, 26, 1, 132, 197, 134,
244, 186, 10, 27, 3, 227, 129, 169, 1, 197, 134, 244, 186, 10, 1, 27, 1,
],
vec![
1, 1, 197, 134, 244, 186, 10, 29, 132, 197, 134, 244, 186, 10, 28, 3, 227, 129, 134, 0,
],
vec![
1, 1, 197, 134, 244, 186, 10, 30, 132, 197, 134, 244, 186, 10, 29, 1, 107, 0,
],
vec![
1, 1, 197, 134, 244, 186, 10, 29, 132, 197, 134, 244, 186, 10, 28, 3, 227, 129, 134, 0,
],
vec![
1, 1, 197, 134, 244, 186, 10, 31, 132, 197, 134, 244, 186, 10, 30, 3, 227, 129, 139, 1,
197, 134, 244, 186, 10, 1, 30, 1,
],
vec![
1, 1, 197, 134, 244, 186, 10, 30, 132, 197, 134, 244, 186, 10, 29, 1, 107, 0,
],
vec![
1, 1, 197, 134, 244, 186, 10, 31, 132, 197, 134, 244, 186, 10, 30, 3, 227, 129, 139, 1,
197, 134, 244, 186, 10, 1, 30, 1,
],
vec![
1, 1, 197, 134, 244, 186, 10, 32, 135, 197, 134, 244, 186, 10, 0, 3, 9, 112, 97, 114,
97, 103, 114, 97, 112, 104, 0,
],
vec![
1, 1, 197, 134, 244, 186, 10, 32, 135, 197, 134, 244, 186, 10, 0, 3, 9, 112, 97, 114,
97, 103, 114, 97, 112, 104, 0,
],
vec![
1, 2, 197, 134, 244, 186, 10, 33, 7, 0, 197, 134, 244, 186, 10, 32, 6, 4, 0, 197, 134,
244, 186, 10, 33, 1, 107, 0,
],
vec![
1, 1, 197, 134, 244, 186, 10, 35, 132, 197, 134, 244, 186, 10, 34, 3, 227, 129, 139, 1,
197, 134, 244, 186, 10, 1, 34, 1,
],
vec![
1, 1, 197, 134, 244, 186, 10, 36, 132, 197, 134, 244, 186, 10, 35, 1, 107, 0,
],
];
let doc = Doc::new();
let mut txn = doc.transact();
for diff in diffs {
Update::decode_v1(diff.as_slice())
.map(|update| txn.apply_update(update))
.expect("applying update failed");
}
} |
@eliias Could you tell some details about the environment? I'm running your Rust debug example in windows rustc 1.65.0-nightly, yrs main branch (v0.12), and this check executes without issues. I can try to use macos as well, but I need to confirm if this issue is related to a particular build or not. |
@Horusiath I can deterministically produce the error on a M1/Arm64 (MacOS 12.6),
|
@Iwark should be fixed with Release 0.3.2 |
Thank you so much! |
Hello! Thanks for the great work 👍
Let me submit a bug report here.
Example code:
Let's say there's a
Diff
model to record everyupdate
from yjs doc.The following code will raise an exception.
Exception:
Here's some other information that may help solve the bug:
Y.applyUpdate
can handle them properly without any errors.Here are the 50 diffs I used above.
maybe It's related to this issue?
Let me know if there's anything I can help with it.
Thanks!
The text was updated successfully, but these errors were encountered: