Fix flakiness of Verilator debug test in CI
Nobody has claimed this yet.
- Dominant language
- SystemVerilog
- Stars
- 38
- Forks
- 21
- Avg merge
- 2d 23h
- Merged PRs (30d)
- 14
Description
The Verilator debug test has intermittent timeouts which were not identified as errors due to a mistake in the test script.
Examples:
2026-07-15: https://github.com/lowRISC/mocha/actions/runs/29402763888/job/87311320619
Silent timeout
2026-07-15: https://github.com/lowRISC/mocha/actions/runs/29404079750/job/87315625900
Silent timeout
2026-07-13: https://github.com/lowRISC/mocha/actions/runs/29268618032/job/86880723612
Silent timeout
2026-07-13: https://github.com/lowRISC/mocha/actions/runs/29268585613/job/86880569783
Successful with unexpected log:
jtag0: Rejecting additional connection
2026-07-10: https://github.com/lowRISC/mocha/actions/runs/29079384100/job/86318761150
Successful with unexpected log:
Error: timed out while waiting for target halted
TARGET: riscv-cheri.cpu - Not halted
in procedure 'ocd_gdb_restart'
2026-07-09: https://github.com/lowRISC/mocha/actions/runs/29008488739/job/86086202687
Silent timeout
2026-07-09: https://github.com/lowRISC/mocha/actions/runs/29007257100/job/86082071894
Silent timeout
2026-07-08: https://github.com/lowRISC/mocha/actions/runs/28948578282/job/85889262401
Silent timeout
2026-07-07: https://github.com/lowRISC/mocha/actions/runs/28796060276/job/85839102057
Silent timeout
2026-07-01: https://github.com/lowRISC/mocha/actions/runs/28502548329/job/84483321134
Silent timeout
The suspected cause is a conflict between multiple debug test instances on the same machine, due to multiple virtual JTAG devices or network port conflict.
Contributor guide
No contributing guide indexed for this repository
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 inspecting the CI test script for the Verilator debug test and compare it with the linked failing action runs. Investigate whether concurrent instances share virtual JTAG devices or network ports, and verify that timeouts and unexpected debug logs are reported as failures. Done means the test no longer flakes from instance conflicts and failures are not silent.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions
- Domain
- ci-cd, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100