vx-lang / vx-lang/Vx

Parallel arch: add a ThreadSanitizer CI job to dynamically prove data-race freedom

Open
#202 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

build-ci parallel-frontend testing
Dominant language
Rust
Stars
14
Forks
2
Avg merge
12h 42m
Merged PRs (30d)
61

Description

The zero-lock architecture (#197) claims data-race freedom by design. Today that is guarded
statically (the CI lock lint that rejects Mutex/RwLock/OnceLock/… in src/) and by
determinism tests (order + cross-thread-count, pipeline.rs; 64-thread isolation,
architecture_test.rs). Those are strong but infer race freedom.

The gold-standard dynamic check is ThreadSanitizer: build + run the parallel pipeline tests
under -Zsanitizer=thread (nightly, with a sanitizer-instrumented std via -Zbuild-std), which
flags any actual data race at runtime.

Scope:

  • A CI job (nightly toolchain) running the parallel tests (compile_pipeline*,
    concurrent_compilations_have_isolated_topologies, the determinism tests) under TSan.
  • A stress iteration count so rare races surface.
  • Document how to run it locally.

Deferred as CI infrastructure; noted in docs/parallel_compiler_architecture.md §9.5.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with docs/parallel_compiler_architecture.md §9.5, then inspect the existing CI configuration and the parallel test entry points named in the issue: pipeline.rs and architecture_test.rs. The job should use a nightly toolchain with ThreadSanitizer and run the listed tests repeatedly; done also includes local-run documentation and no reported races.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
ci-cd, compilers, testing-qa
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.