DynamoRIO / DynamoRIO/dynamorio

win64 burst_traceopts non-det failure

Open
#6,423 0 comments 0 reactions 0 assignees View on GitHub
Component-Tests
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 18h
Merged PRs (30d)
30

Description

This started failing, maybe as part of the recent spate of failures?
https://github.com/DynamoRIO/dynamorio/actions/runs/6801885635/job/18493723120?pr=6414
```
263/305 Test #266: code_api|tool.drcacheoff.burst_traceopts .........................***Failed 0.39 sec
Running cmd |D:/a/dynamorio/dynamorio/build_debug-internal-64/clients/bin64/tool.drcacheoff.burst_traceopts.exe|
CMake Error at D:/a/dynamorio/dynamorio/suite/tests/runmulti.cmake:111 (message):
*** cmd failed (3): Assertion failed: status_opt == scheduler_t::STATUS_OK
&& status_noopt == scheduler_t::STATUS_OK, file
D:\a\dynamorio\dynamorio\clients\drcachesim\tests\burst_traceopts.cpp, line
265

abort() has been called***
```

I can't repro on my win64 setup: it passes 20x in a row there.

When I put in tmate and ran just this test: it passed!
https://github.com/DynamoRIO/dynamorio/actions/runs/6802953296/job/18497172665?pr=6414

I repeated, with tmate enabled on success too, and again it passed:
https://github.com/DynamoRIO/dynamorio/actions/runs/6803115563/job/18497701618?pr=6414

I logged in and ran ctest --repeat-until-fail 50 -R burst_traceopts and it
passed all 50 times. Grrr. Yet another failure we can't reproduce unless it
lands on a certain VM in the GA cloud??

Contributor guide

Open the contributing guide

Research direction

Start with clients/drcachesim/tests/burst_traceopts.cpp at line 265 and suite/tests/runmulti.cmake at line 111 to understand the failing status assertion. Run ctest --repeat-until-fail 50 -R burst_traceopts on win64, then compare behavior with the referenced GitHub Actions jobs. Done means identifying the nondeterministic cause and making the test pass reliably in CI.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp, github-actions
Domain
ci-cd, operating-systems, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.