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
GOST-34.11 tests fail on i686 #882
Comments
|
Thanks for the report. I have not seen this issue before so it may be GCC 7 specific. I will look into it, but may be some time before I have a chance to build a GCC 7 binary from source and try things out. |
|
Using Any hints where to look first resp. how to get more verbose output from the testsuite? |
|
Sorry it looks like the output you got is all that is available in the 1.10 tests. Can you try to replicate using latest master? The code for GOST 34.11 has not really changed much between 1.10 and 2.0, so if this is a GCC 7 miscompilation problem it likely affects both versions, and the error output in newer versions should be more helpful. Another useful test would be to build the |
|
The hash is indeed wrong: Will try to reproduce with 2.0 now. |
|
Here's the output of For the record, that's 2.0.1, built with If it helps, I can also try with HEAD. BTW, |
|
Unfortunately I am unable to replicate with current master and a recent GCC 7 snapshot. Both 32-bit and 64-bit build passes all tests without problems. :/ |
|
Thanks for testing. I am still seeing the issue with this GCC which is admittedly not as recent as yours ;) So I will wait for the next GCC update in Fedora and then re-check. |
|
Still fails with Further testing shows that the problem is only there if compiled with |
|
There are 13 differences regarding the optimization flags between Didn't try all combinations, but it seems In order to file a bug with GCC we'd need to strip down the test case a little bit, I guess. |
|
Thanks for tracking this down. Something about how the Arch distribution of GCC is built must be bypassing the bug you are encountering. The I would bet to reproduce, take (from master) lines 123-210 of |
|
Sorry, was a bit short of time in the last months - will look into this again. For now, sort of a status update, the issue is still present with gcc version 7.1.1 20170718 (Red Hat 7.1.1-6) (GCC) and Botan 2.1.0. |
|
Trying to package the latest version of botan for Arch Linux (gcc 7), I get failing tests for gost_3411 and also these modules:
|
|
@xyproto Can you post details? I develop on Arch (gcc 7.1.1) and haven't seen any problems. |
|
@xyproto Also just tried an i386 build in case that was the issue, but everything passes there also. :( |
|
@randombit Sorry for the lack of details, I was in a rush. I will submit as a new issue and test on two different machines. |
For whatever reason GCC 7 on i386 miscompiles this loop under -O3. I was not able to reduce the bug to a small testcase - extracting the problem section of the code to its own file, it behaves correctly. Also oddly, I was never able to repro this using Arch's gcc-multilib i386 compiler. But when compiled with the 'native' i386 compiler in a chroot it immediately fails. See GH #1148 and GH #882
|
@randombit Indeed that workaround helps, thanks! As noted earlier, I also tried to further isolate the issue, but that turned out to be not that easy, also due to time constraints. |
|
Thanks for confirming, I will apply the fix to 1.10 branch also then. |
|
@thmo I have backported to 1.10 branch. I am not bothering to push out a new release just for this but it will be fixed in a future release and you can ship the patch for now. Closing. Thanks for the report and sorry it took so long to track this down - I still don't really get why this seemingly only manifests on a 'native' 32-bit compiler but not a multilib style build, but whatever. |
In Fedora's latest mass rebuild with gcc7, the Botan package failed to rebuild on i686, due to a failing check. See https://bugzilla.redhat.com/show_bug.cgi?id=1423245 which has the full build logs attached.
This was with Botan 1.10.14, but the problem also shows up with 1.10.15.
This only happens on i686, builds on x86_64, ppc64, ppc64le, aarch64 and armv7hl succeeded.
The text was updated successfully, but these errors were encountered: