Closed susilehtola closed 2 years ago
I think I know what's wrong here: the s390x is a big-endian machine, whereas most modern processors (i.e. x86) are little-endian. This is example is reading a binary restart file, and it is presumably endian-dependent and failing to read the file correctly. "OLDENS" is part of the error message of detecting a "corrupt" restart file.
I can rewrite this restart feature to be endian-independent, but it won't be an immediate fix. Alternatively, I could try to use CMake's system for detecting endian-ness and only run this test on little-endian machines, or figure out how to convert the restart file and have a separate big-endian version of the test prepared.
Is there a system to suppress specific combinations of tests and systems in the Fedora test process?
Is there a system to suppress specific combinations of tests and systems in the Fedora test process?
Yes, I can apply a platform dependent patch that disables the tests on architectures it shouldn't be run on.
I have a simple solution: I will rewrite the test to generate the binary restart file before reading it instead of loading a pre-generated restart file. Therefore, it will be generated with the same endianness as is read. We don't actually need restart files to be portable between machines of different endianness. The only downside is that the test is slower, since it has to run a full SCF cycle on a large protein rather than starting from a nearly-converged density matrix.
https://kojipkgs.fedoraproject.org//work/tasks/7437/88727437/build.log