lowRISC / lowRISC/mocha

Fix flakiness of Verilator debug test in CI

Open
#683 0 comments 0 reactions 0 assignees View on GitHub

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

  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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.