rust-lang / rust-lang/rust-analyzer
Possible race condition when AI coders write multiple functions at once.
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 16.9k
- Forks
- 2.2k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 72
Description
<
Just something that I notices. As you can see. if the AI generates multiple step function implementations at once.
It will occasionally not be able to check if something is defined or not.
I can just fix it by restarting the server.
But it's just what I noticed.
/// https://github.com/veighnsche/llama-orch/blob/940f5d0052bef6359b962f10a8e6edbf7a249255/test-harness/bdd/Cargo.toml
[package]
name = "test-harness-bdd"
version = "0.0.0"
edition = "2021"
publish = false
license = "GPL-3.0-or-later"
authors = ["rbee contributors"]
# TEAM-076: Converted from binary to library crate
# BDD tests now run as integration tests via tests/cucumber.rs
# Run with: cargo test
[lib]
name = "test_harness_bdd"
path = "src/lib.rs"
[dependencies]
cucumber = { version = "0.20", features = ["macros"] } /// this is the library that hosts those kind of functions
tokio = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
anyhow = { workspace = true }
regex = { workspace = true }
reqwest = { workspace = true }
axum = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
tempfile = "3"
async-trait = "0.1"
uuid = { workspace = true }
shlex = "1.3" # TEAM-049: Proper shell argument parsing with quote handling
clap = { version = "4", features = ["derive"] } # TEAM-059: CLI args for mock-worker
nix = { version = "0.27", features = ["signal", "process"] } # TEAM-062: Process management for error handling
chrono = { workspace = true } # TEAM-099: Deadline propagation timestamp handling
sysinfo = "0.30" # TEAM-101: Process liveness checks via PID
serial_test = "3.0" # TEAM-101: Serial test execution for configuration tests
shellexpand = "3.1" # TEAM-102: Path expansion for tilde and environment variables
rand = "0.8" # TEAM-125: Random fuzzing inputs for validation tests
# TEAM-063: Real product dependencies for integration testing
rbee-hive = { path = "../../bin/rbee-hive" }
llm-worker-rbee = { path = "../../bin/llm-worker-rbee" }
hive-core = { path = "../../bin/shared-crates/hive-core" }
# TEAM-079: Added model-catalog for testing
# TEAM-086: Fixed path - model-catalog moved to shared-crates
model-catalog = { path = "../../bin/shared-crates/model-catalog" }
# TEAM-085: Narration verification
observability-narration-core = { path = "../../bin/shared-crates/narration-core", features = ["test-support"] }
# TEAM-079: queen-rbee temporarily disabled due to SQLite version conflict
# TEAM-080: Re-enabled after upgrading queen-rbee rusqlite to 0.32 (libsqlite3-sys 0.28)
queen-rbee = { path = "../../bin/queen-rbee" }
[dev-dependencies]
insta = { workspace = true }
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the linked test-harness/bdd/Cargo.toml and its cucumber dependency, then reproduce the concurrent step-function generation scenario if possible. Compare behavior before and after restarting the server; done should include a confirmed cause and a regression test demonstrating that concurrent definitions are checked reliably.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 32/100