Get assertion failed
- Dominant language
- Rust
- Stars
- 120
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
I happened to run into this error running [`papaya`](https://github.com/ibraheemdev/papaya) under bustle.
```
thread '' panicked at 'assertion failed: `(left == right)`
left: `false`,
right: `true`: get(17225765586053087836) 19337850 145067 12727980', /home/ibraheem/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bustle-0.5.1/src/lib.rs:464:21
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
```
I cannot reproduce it and I have no idea how it occur because it seems to indicate that `get` returned a value even though `remove` succeeded on the same thread. I'm not completely familiar with how bustle chooses operations, is it possible that I ran into a rare bug where `bustle` allowed another thread to insert the same key again?
The workload did not include any updates or upserts, if that simplifies things.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by examining the assertion at bustle-0.5.1/src/lib.rs:464 and the workload behavior described when running papaya under bustle. Investigate how bustle chooses operations and whether another thread can insert the same key after removal. Done means identifying a reproducible cause or ruling out the suspected scheduling issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100