openexr icon indicating copy to clipboard operation
openexr copied to clipboard

Fedora: Some tests fail for s390x arch

Open hobbes1069 opened this issue 4 years ago • 14 comments

Since we got the arm test issues squared away I wonder if we could also see what's going on with s390x.

Because there's so much output I won't paste it all here but you can open the build log and search for "%check" to jump to where the tests are run.

https://kojipkgs.fedoraproject.org//work/tasks/910/76780910/build.log

hobbes1069 avatar Oct 06 '21 02:10 hobbes1069

Here's the first relevant failure in the log:

23/111 Test  #25: OpenEXRCore.testReadDeep ..................Subprocess aborted***Exception:   0.14 sec
tempDir = '/var/tmp/OpenEXR_k0Rol9/': 24
=======
Running testReadDeep
  generating deep scanline file '/var/tmp/OpenEXR_k0Rol9/randomtempdeep.exr' compression 0
  --> done
Core Test failed: packed.size() == (sampcount[N-1]) * bps
           file:/builddir/build/BUILD/openexr-3.1.2/src/test/OpenEXRCoreTest/deep.cpp
           line:456
       function:void testReadDeep(const string&)

cary-ilm avatar Oct 13 '21 17:10 cary-ilm

Another:

 61/111 Test  #60: OpenEXR.testCompression ...................Subprocess aborted***Exception:   5.57 sec
tempDir = /var/tmp/OpenEXRTest_OKQVVFJH
=======
Running testCompression
...
compression 8, x sampling 1, y sampling 1: writing reading comparingDWA compression detected too big a difference. Got 1 expected 0.000732422
OpenEXRTest: /builddir/build/BUILD/openexr-3.1.2/src/test/OpenEXRTest/testCompression.cpp:454: void {anonymous}::writeRead({anonymous}::pixelArray&, const char*, bool, int, int, int, int, Imf_3_1::Compression, int, int): Assertion `fabs(a1/denominator - a2/denominator) < 0.1' failed.

cary-ilm avatar Oct 13 '21 17:10 cary-ilm

And several failures similar to this:

91/111 Test  #93: OpenEXR.testRgba ..........................Subprocess aborted***Exception:   0.46 sec
tempDir = /var/tmp/OpenEXRTest_VIPWNBDG
=======
Running testRgba
...
writing reading OpenEXRTest: /builddir/build/BUILD/openexr-3.1.2/src/test/OpenEXRTest/compareDwa.cpp:96: void compareDwa(int, int, const Imf_3_1::Array2D<Imf_3_1::Rgba>&, const Imf_3_1::Array2D<Imf_3_1::Rgba>&, Imf_3_1::RgbaChannels): Assertion `relError < .1' failed.

cary-ilm avatar Oct 13 '21 17:10 cary-ilm

If access to a s390x system would be useful, please let me know (sharkcz at fedoraproject.org).

sharkcz avatar Oct 13 '21 18:10 sharkcz

I haven't got time to dive into this, but is this a historical preservation effort? Or am I misunderstanding that s390x is the last of the old 360 mainframes? If this is historic iron, I'm just wondering if some 32bit/64 bit detection code fell off a cliff and is trying to build 64 bit OpenEXR on a 32 bit machine (or vice versa, was there ever a 64 bit s390x?) If there is some necessary architecture support to make this viable, I wonder if someone in the mainframe community would want to take that on?

meshula avatar Oct 14 '21 06:10 meshula

s390x is the nickname for the modern 64-bit mainframes (and "s390" is the 32-bit variant going back to the S/360). The main difference to eg. i686/x86_64 is that s390/s390x is a (always) big endian arch, like ppc/ppc32/ppc64, sparc or mips. And the reason for test failures on big endians could be wrong code (assuming little endian) in the main library/project or the main code is good, but little endian assumptions exist in the tests.

sharkcz avatar Oct 14 '21 15:10 sharkcz

Thanks for that explanation! I had no idea :)

One more question, did OpenEXR work on s390x until recently, and then broke, or has it always failed?

meshula avatar Oct 15 '21 05:10 meshula

per https://src.fedoraproject.org/rpms/openexr/c/b278b7e1e53dd9b7fd783f8df5491dff37563500?branch=rawhide there were some issues even earlier (issue #876), but the ones reported here are the only remaining ones.

sharkcz avatar Oct 15 '21 08:10 sharkcz

@cary-ilm, if you haven't seen my email reply yet, then check your spam box too, please.

sharkcz avatar Oct 15 '21 08:10 sharkcz

For posterity I tried building 3.1.5 with s390x to see if anything had changed. With the caveat that I used qemu emulation as the builders are down for maintenance, the following tests fail:

The following tests FAILED:
	 25 - OpenEXRCore.testReadDeep (Subprocess aborted)
	 60 - OpenEXR.testCompression (Subprocess aborted)
	 93 - OpenEXR.testRgba (Subprocess aborted)
	 94 - OpenEXR.testRgbaThreading (Subprocess aborted)
	 96 - OpenEXR.testSampleImages (Subprocess aborted)
	 98 - OpenEXR.testSharedFrameBuffer (Subprocess aborted)
	103 - OpenEXR.testTiledRgba (Subprocess aborted)

Build logs can be provided if needed.

hobbes1069 avatar Feb 11 '23 13:02 hobbes1069

Thanks for the update, it appears these are the same issues as in the OP. There will be a point release soon, perhaps it makes sense to re-run the tests on top of tree instead of 3.1.5, or wait for the point release, but bearing in mind that to my knowledge nothing has changed with respect to support for big-endian systems. After testing a new release, addressing the remaining issues might require s390x community involvement ~ PRs would certainly be welcome.

meshula avatar Feb 11 '23 21:02 meshula

@sharkcz, you did set me up with remote access to a s390 system, but I never succeeded in getting any time to further investigate. I did get connected to the machine (back in 2021), but didn't spend enough time with it to narrow the problem. I'd love to find someone with more bandwidth to investigate further.

@hobbes1069 , can you share the build logs for the failures? Similarly, I'm not sure they'll be all that informative, but I'd at least like to see what they say.

cary-ilm avatar Feb 15 '23 02:02 cary-ilm

I've kicked off a build just now, you can use the link for the build.log once it's complete. https://koji.fedoraproject.org/koji/taskinfo?taskID=97575052

I also asked for some assistance on the Fedora developer mailing list. Hopefully they'll have some time to poke around.

hobbes1069 avatar Feb 16 '23 13:02 hobbes1069

WIth 3.1.9, the same tests fail on s390x plus those mentioned in #1460.

yselkowitz avatar Jul 10 '23 23:07 yselkowitz