-
Notifications
You must be signed in to change notification settings - Fork 588
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ryzen 3950X test failures #2680
Comments
Did you run the On my 3950x those tests work reliable after running that script (and seem to be those that fail without). |
I did run that script before running the tests, as I got the warning after running exactly the command you mention :) |
Ah sorry, I could have realized that by checking my local error outputs and noticing that this warning would have ended up in the logs in your rrtesterrs.zip. Apart from that I also get completely different errors w/o the workaround, I get errors during replay, while in your error logs the recording is already failing. (And as I already mentioned I get none of theses errors with the workaround enabled.) AFAICT these test failures are unrelated to the AMD performance counter issues. |
Try rerunning with the latest master. |
Still seeing these test failures on master.
|
Post the verbose test log? |
Hi, I'm getting a nearly identical set of failures on a Ryzen 3700U (after applying the patch in #2740 for GDB 10.1).
Verbose log file: ctest-verbose-4.log Most of the failed tests have this same error during recording:
|
Please rerun the tests with c8a468d for a better error |
Those errors now say:
On a hunch I changed
After adding some debug printing, it's reportedly the arg 6 register that has a non-0 value inside |
Good hunch! Hmm, sure looks like we're passing zero:
This is worrying. If you do something like
Are all the parameters zero there? |
Interesting - indeed, running that I checked the disassembly of
...which looks right. But, the disassembly of
Changing accordingly the 6th |
Yeah OK. Zero is passed as 'int' by default, but the parameters are actually longs. It doesn't matter for the first five parameters since they're passed in registers and the generated code zero-extends them, but the sixth parameter is in memory so it blows up. Wow, that's a massive footgun I didn't know about. |
I can't get gcc to generate that code, interestingly enough. |
ah, but clang does. |
That did it - with |
6658bdd fixes the main bug here. Please open separate issues for any remaining bugs. |
From https://twitter.com/MikeHommey/status/1306816099040673792 I tried rr on my 3950x, and I got a few errors like #2677 and #2678, but I got a couple of others, so I figured I should report them in a new issue.
The ignore_nested tests seem to be the new ones not in the other issues. I attached all of the err outputs if that is of help. Let me know if I can do anything else to be of assistance.
rrtesterrs.zip
The text was updated successfully, but these errors were encountered: