Add a Valgrind GitHub Actions workflow#1104
Add a Valgrind GitHub Actions workflow#1104wilfwilson wants to merge 6 commits intosemigroups:mainfrom
Conversation
147ead5 to
9dca240
Compare
|
I'm not seeing the valgrind job actually running, is that just me? |
Oh right it's only triggered by changes in the kernel module, any chance you can make a white space change so we can see it failing? |
90b826c to
ac440b0
Compare
|
@james-d-mitchell It's running! Fun times. |
ac440b0 to
f8b4e2c
Compare
|
Looks like it failed after running testinstall with acting methods off... with 2834 errors 😱 |
Zoiks that is not a small number |
|
Hopefully it's the same one error happening 2834 times 🤞 |
|
I'll have a look on Wednesday |
f8b4e2c to
9addd58
Compare
9addd58 to
4ff066b
Compare
|
@james-d-mitchell I suggest that you give me sufficient permissions on this repository such that I can fiddle with the respository settings vis-a-vis GitHub Actions. I propose that we merge this PR, but have the settings for the Valgrind CI job to not fail the PR status checks. i.e. it runs when necessary, and gives a pass/fail status on the relevant job, but it doesn't stop the PR from being merged, and on the lists of pull requests, it doesn't stop a PR from still having a green tick next to it (if everything is fine). Once we've addressed all of the relevant issues (ahem), we can become strict about making sure that no PR introduces new Valgrind issues. |
4ff066b to
0cb382e
Compare
0cb382e to
9c9ed9f
Compare
9c9ed9f to
75b67f4
Compare
|
I've just tried to replicate this valgrind job locally, and my PC is consistently running out of memory whilst running the standard tests with valgrind enabled. I'm going to do some digging to see if I can find the tests that cause this, and will report back. |
|
Thanks @Joseph-Edwards, we could also just run the quick tests, I don't think it's reasonable to expect all the tests to run in a reasonable amount of time/memory with valgrind enabled. |
|
I ran the valgrind job again, this time omitting the tests in The full output can be found here. I've tried to wrap my head around the 4 errors that we are receiving. I think they're related to the 808 bytes that valgrind claims are "possibly lost". There's a good chance that these are false positives, so we might be best to ignore/suppress them. From here, we have a few questions we may wish to answer:
Questions 1. and 2. may not be important enough to warrant exploring at the moment. For question 3., I see a few reasonable options. The first is to not run valgrind on the standard tests at all. Another potential solution is to run valgrind on most of the standard tests apart from the ones in the offending Tietze file, only checking for "definitely lost" and "indirectly lost" leaks. I think I prefer the second of these two cases, simply because it tests more things. I'm happy to hear other suggestions for how to proceed. |
|
Your preferred option sounds good Joe |
This is basically a copy of the file in Digraphs: thank you whoever made that!
To see that the workflow functions as expected, see here: https://github.com/wilfwilson/Semigroups/actions/runs/17740854488/job/50414239468
Note that the job fails, because Valgrind does indeed find some issues...