MRChemSoft/mrcpp

Tests fail on s390x architecture

Opened this issue · 5 comments

mrcpp was accepted into Fedora, and I started building the packages.

I am seeing consistent test failures across releases on the s390x architecture. For instance, here's the Fedora 34 build log

Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.KpS3KI
+ umask 022
+ cd /builddir/build/BUILD
+ cd mrcpp-1.4.1
+ cd s390x-redhat-linux-gnu
+ /usr/bin/ctest --output-on-failure --force-new-ctest-process -j2
Test project /builddir/build/BUILD/mrcpp-1.4.1/s390x-redhat-linux-gnu
      Start  1: clear_grid
      Start  2: build_grid
 1/27 Test  #2: build_grid .......................   Passed    0.01 sec
      Start  3: addition
 2/27 Test  #3: addition .........................***Failed    0.68 sec
      Start  4: map
 3/27 Test  #1: clear_grid .......................***Failed    0.87 sec
      Start  5: multiplication
 4/27 Test  #4: map ..............................***Failed    0.23 sec
      Start  6: square
 5/27 Test  #5: multiplication ...................***Failed    0.50 sec
      Start  7: projection
 6/27 Test  #6: square ...........................***Failed    0.53 sec
      Start  8: mw_filter
 7/27 Test  #8: mw_filter ........................***Failed    0.01 sec
      Start  9: scaling_basis
 8/27 Test  #9: scaling_basis ....................   Passed    0.01 sec
      Start 10: legendre_poly
 9/27 Test #10: legendre_poly ....................   Passed    0.00 sec
      Start 11: polynomials
10/27 Test #11: polynomials ......................   Passed    0.01 sec
      Start 12: gaussians
11/27 Test  #7: projection .......................***Failed    0.40 sec
      Start 13: periodic_narrow_gaussian
12/27 Test #13: periodic_narrow_gaussian .........   Passed    0.02 sec
      Start 14: periodic_wide_gaussian
13/27 Test #14: periodic_wide_gaussian ...........   Passed    0.01 sec
      Start 15: periodic_gaussExp
14/27 Test #12: gaussians ........................***Failed    0.32 sec
      Start 16: derivative_operator
15/27 Test #15: periodic_gaussExp ................   Passed    0.01 sec
      Start 17: helmholtz_operator
16/27 Test #17: helmholtz_operator ...............***Failed    0.46 sec
      Start 18: identity_convolution
17/27 Test #18: identity_convolution .............***Failed    0.09 sec
      Start 19: poisson_operator
18/27 Test #19: poisson_operator .................***Failed    0.13 sec
      Start 20: band_width
19/27 Test #20: band_width .......................   Passed    0.03 sec
      Start 21: bounding_box
20/27 Test #21: bounding_box .....................   Passed    0.01 sec
      Start 22: function_tree
21/27 Test #22: function_tree ....................***Failed    0.03 sec
      Start 23: mw_tree
22/27 Test #23: mw_tree ..........................   Passed    0.02 sec
      Start 24: node_box
23/27 Test #24: node_box .........................   Passed    0.01 sec
      Start 25: node_index
24/27 Test #25: node_index .......................   Passed    0.02 sec
      Start 26: tree_io
25/27 Test #26: tree_io ..........................***Failed    0.04 sec
      Start 27: scaling_factor
26/27 Test #27: scaling_factor ...................***Failed    0.04 sec
27/27 Test #16: derivative_operator ..............Subprocess killed***Exception:  67.65 sec
44% tests passed, 15 tests failed out of 27
Label Time Summary:
addition                    =   0.68 sec*proc (1 test)
band_width                  =   0.03 sec*proc (1 test)
bounding_box                =   0.01 sec*proc (1 test)
build_grid                  =   0.01 sec*proc (1 test)
clear_grid                  =   0.87 sec*proc (1 test)
derivative_operator         =  67.65 sec*proc (1 test)
function_tree               =   0.03 sec*proc (1 test)
gaussians                   =   0.32 sec*proc (1 test)
helmholtz_operator          =   0.46 sec*proc (1 test)
identity_convolution        =   0.09 sec*proc (1 test)
legendre_poly               =   0.00 sec*proc (1 test)
map                         =   0.23 sec*proc (1 test)
multiplication              =   0.50 sec*proc (1 test)
mw_filter                   =   0.01 sec*proc (1 test)
mw_tree                     =   0.02 sec*proc (1 test)
node_box                    =   0.01 sec*proc (1 test)
node_index                  =   0.02 sec*proc (1 test)
periodic_gausExp            =   0.01 sec*proc (1 test)
periodic_narrow_gaussian    =   0.02 sec*proc (1 test)
periodic_wide_gaussian      =   0.01 sec*proc (1 test)
poisson_operator            =   0.13 sec*proc (1 test)
polynomials                 =   0.01 sec*proc (1 test)
projection                  =   0.40 sec*proc (1 test)
scaling_basis               =   0.01 sec*proc (1 test)
scaling_factor              =   0.04 sec*proc (1 test)
square                      =   0.53 sec*proc (1 test)
tree_io                     =   0.04 sec*proc (1 test)
Total Test time (real) =  69.51 sec
The following tests FAILED:
	  1 - clear_grid (Failed)
	  3 - addition (Failed)
	  4 - map (Failed)
	  5 - multiplication (Failed)
	  6 - square (Failed)
	  7 - projection (Failed)
	  8 - mw_filter (Failed)
	 12 - gaussians (Failed)
	 16 - derivative_operator (Subprocess killed)
	 17 - helmholtz_operator (Failed)
	 18 - identity_convolution (Failed)
	 19 - poisson_operator (Failed)
	 22 - function_tree (Failed)
	 26 - tree_io (Failed)
	 27 - scaling_factor (Failed)
Errors while running CTest
error: Bad exit status from /var/tmp/rpm-tmp.KpS3KI (%check)
RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.KpS3KI (%check)
Child return code was: 1

Apparently, I could get shell access to a s390x machine to debug the issues
https://fedoraproject.org/wiki/Architectures/s390x#Shell_access_for_debugging

But the simpler option could be to just disable the architecture since it's not really relevant for HPC. Opinions?

Hmm, I would be happy with disabling.

Disabled.

mrcpp is now available as a Fedora package; the updates should hit stable in a few weeks.

Great, thanks!

The Fedora s390x people seem to think you are making assumptions about endianness

https://bugzilla.redhat.com/show_bug.cgi?id=2035671

I think they would like your feedback