cargo-check-deadlock
lincheck
cargo-check-deadlock | lincheck | |
---|---|---|
3 | 1 | |
24 | 8 | |
- | - | |
8.1 | 7.1 | |
6 days ago | about 1 year ago | |
Rust | Rust | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cargo-check-deadlock
-
The Borrow Checker Within
Thinking about this some more, that example has a mutex in a single thread program. If it's ever reached while locked, the program is stuck. This is a demonstration that the backlink problem and single-thread deadlock detection are equivalent.
Work on compile time deadlock detection for Rust is underway.[1] It's complicated, but do-able.
[1] https://github.com/hlisdero/cargo-check-deadlock
-
Petri Net for tokio ?
And a project uses it to check for deadlocks. https://github.com/hlisdero/cargo-check-deadlock/ but it doesn't work for async code, yet.
-
Hey Rustaceans! Got a question? Ask here (23/2023)!
Hi, I'm looking for tools that can statically detect possible deadlocks in async fns. I'm aware of lockbud and cargo-check-deadlock, neither of which can analyse async code. Is there any tools that support this?
lincheck
What are some alternatives?
SMPT - SMPT is a SMT-based model checker for Petri nets focused on reachability problems that takes advantage of net reductions (polyhedral reductions).
rmc - Kani Rust Verifier [Moved to: https://github.com/model-checking/kani]
mfcc-rust
left-right - A lock-free, read-optimized, concurrency primitive.
cargo-edit - A utility for managing cargo dependencies from the command line.
crossbeam - Tools for concurrent programming in Rust
nannou - A Creative Coding Framework for Rust.
sled - the champagne of beta embedded databases
lockbud - Statically detect memory, concurrency bugs and possible panic locations for Rust.
kani - Kani Rust Verifier
rust-playground - The Rust Playground
Cargo - The Rust package manager