Potential bug in WCR
- Dominant language
- Python
- Stars
- 593
- Forks
- 163
- Avg merge
- 2d 23h
- Merged PRs (30d)
- 60
Description
There was a test failure during a normal _push to master_ run (we run CI for every push to master which includes merging a PR):
https://github.com/spcl/dace/actions/runs/6906483658/job/18791617536#step:6:2301
The affected test runs this DaCe program:
https://github.com/spcl/dace/blob/12b998193d966ce656384aaba9dfd32395a4d42c/tests/python_frontend/augassign_wcr_test.py#L44-L51
Which gets tested here:
https://github.com/spcl/dace/blob/12b998193d966ce656384aaba9dfd32395a4d42c/tests/python_frontend/augassign_wcr_test.py#L158-L163
The failure is summarized by this log excerpt:
```log
FAILED tests/python_frontend/augassign_wcr_test.py::test_augassign_wcr4 - assert False
+ where False = (array([1., 3., 6., 6., 5., 6., 6., 6., 5., 3.]), array([1., 3., 6., 6., 6., 6., 6., 6., 5., 3.]))
+ where = np.allclose
```
Here, clearly the 5th value of the left array (`val` coming from the DaCe generated program) should be a `6` and not a `5`.
This test passed previous runs and also the following run to master. It currently seems unlikely that a bug was temporarily introduced and later fixed. It seems more likely that we have a bug which only causes test failures rarely (if a race-condition gets triggered the right way).
A possible next step would be to look at the generated source for this DaCe program and verify if the source code should properly protect against a potential race-condition.
(I'm currently working on other things, but wanted to create this issue for tracking...)
Contributor guide
Assessment
This issue has not been assessed yet.