Test failures on selected architectures #1055

Closed
ghisvail opened this Issue Oct 12, 2015 · 27 comments

Comments

Projects
None yet
4 participants
Contributor

ghisvail commented Oct 12, 2015

I left the Debian builders running for a week with the latest v3.1.2. It builds fine on all architectures but the test suite fails for a number of architectures.

Looking at the build logs, all these architectures fail on the same tests:

     12 - Test_susan_cpu (OTHER_FAULT)
     31 - Test_orb_cpu (Failed)
     51 - Test_imageio_cpu (Failed)
     55 - Test_harris_cpu (Failed)

orb, imageio and harris apparently fail with a tolerance / expected value error, whereas susan generates a malloc error.

As always the full build logs are available here.

Contributor

ghisvail commented Oct 14, 2015

FYI, the latest version of ArrayFire cannot migrate to Debian testing (the future stable release), although the mandatory rest period in unstable has passed, because of the missing build on powerpc.

Contributor

ghisvail commented Jan 7, 2016

Alirght, most problems were fixed with v3.2.2.

The following architectures (mips, powerpc, s390x) still fails because of one unit test: Test_imageio_cpu. This failure could well be endianness related, since all three architectures are big-endian.

Owner

shehzan10 commented Jan 7, 2016

I checked the logs for the powerpc and s390x. It doesn't seem to be an endian related thing as other tests in the file are passing.
I noted that the PNG and BMP tests are failing for saveImage whereas the JPG tests are passing, which is highly peculiar.
Do you think there could be an issue with upstream libraries such as libpng?

If I gave to you a patch for the tests that would show more information about the failure, would you be able to run that for the select architectures?

On a side note, can you remind me of the reason why linear algebra ("dense") tests are being skipped?

Hi @shehzan10, I can test patches on porterboxes with not too much issues.

Just give me a commit id and I'll do a test build :)
(I leave Ghislain to answer to other points).

Owner

shehzan10 commented Jan 7, 2016

I don't think I'll be committing to this arrayfire repo as its more of a debugging thing rather than a official bug fix. I can do 1 of 2 things:

  1. Create a git patch and upload it to this issue.
  2. Commit it to a branch in my personal arrayfire fork.

What would you prefer?

also a patch here is fine :)

I can wget github.com/project/name/commitid.patch also

Owner

shehzan10 commented Jan 7, 2016

Attaching patch.
Note: Had to rename extension .patch to .txt to attach to the issue.

test_imageio_v3.2.2.txt

Contributor

ghisvail commented Jan 7, 2016

On a side note, can you remind me of the reason why linear algebra ("dense") tests are being skipped?

@shehzan10 Because they take too much time to execute on some architectures.

Contributor

ghisvail commented Jan 7, 2016

I can test patches on porterboxes with not too much issues.

@LocutusOfBorg you are gonna have to teach me this one day :)

@ghisvail you just need to be a DM and ask for access, or be a DD and have it
https://db.debian.org/machines.cgi :)

Owner

pavanky commented Jan 7, 2016

@ghisvail FYI if you build arrayfire with OpenBLAS instead of ATLAS or Netlib BLAS, the tests will be significantly faster. The atlas library shipped on most distros (atleast the debian based ones) uses only one core. The Netlib BLAS library also uses only one core at a time.

If there is an option to use OpenBLAS during the build phase and let the user choose whatever BLAS alternative he wants later, that would work wonderfully.

Owner

pavanky commented Jan 7, 2016

@ghisvail can you also strikeout the issues that are fixed and perhaps add anything new you are seeing in the original description ?

Contributor

ghisvail commented Jan 7, 2016

@pavanky Thanks for the suggestion. The packaging already takes advantage of OpenBLAS if installed as a BLAS alternative. However, not all architectures supports it so the default should remain Netlib for now.

here you have the log file!
(only the testsuite run)
log.zip

Owner

pavanky commented Jan 8, 2016

Interesting. It looks like the channels are flipped (bgr vs rgb) for whatever reason. Other than that the data looks good.

Owner

pavanky commented Jan 8, 2016

@LocutusOfBorg

Can you test again with the following patch ?

#1218

testing, it will take a little bit to build (26% now)

seems to be working correctly @ghisvail hot fix in Debian?

      Start 98: Test_ycbcr_rgb_cpu
90/90 Test #98: Test_ycbcr_rgb_cpu ...............   Passed    0.02 sec

100% tests passed, 0 tests failed out of 90
Contributor

ghisvail commented Jan 8, 2016

wget https://github.com/pavanky/arrayfire/commit/5940d4bc93a5f644ffb51d699d6effa2564418c1.patch
add-patch 5940d4bc93a5f644ffb51d699d6effa2564418c1.patch
rm 5940d4bc93a5f644ffb51d699d6effa2564418c1.patch
dpkg-buildpackage -S -d
dput mentors ../arrayfire*.changes 

enjoy!

(YMMW, just issued some stuff)

Owner

shehzan10 commented Jan 8, 2016

I think we can merge it in so that you can use the commit from the arrayfire org repo.

as you wish, even better that way, so the commit id is easily searchable on main history
(even if I think on the next release it will be dropped because already applied)

Contributor

ghisvail commented Jan 8, 2016

Owner

shehzan10 commented Jan 8, 2016

Ok, thats done.

Are there any other code patches you are using that we could integrate? If I remember correctly, I believe you are using a couple of patches for CMake config.

@pavanky pavanky added the test label Jan 8, 2016

Contributor

ghisvail commented Jan 8, 2016

@shehzan10 Thanks for providing the commit id.

I have already forwarded all patches that could be relevant to you guys. The remaining ones are Debian specific.

@pavanky pavanky closed this Feb 25, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment