Skip to content
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

igraph_hrg test fails on i386 arch in Debain Sid environment #2482

Closed
jgmbenoit opened this issue Feb 6, 2024 · 6 comments
Closed

igraph_hrg test fails on i386 arch in Debain Sid environment #2482

jgmbenoit opened this issue Feb 6, 2024 · 6 comments

Comments

@jgmbenoit
Copy link
Contributor

Dear Maintainers,

it appears that the latest igraph source (version 0.10.9) fails the igraph_hrg test in the Debian Sid environment on the i386 architecture. The corresponding auto-build log is available at the Debian igraph auto-build webpage

@szhorvat
Copy link
Member

szhorvat commented Feb 6, 2024

This is likely harmless, and has to do with the known numerical instability of these functions ... I'll have a look in a couple of days. If anyone knows an easy way to test on that platform, let me know. We do run CI tests with x87 math, and those tests do not fail.

@szhorvat
Copy link
Member

szhorvat commented Feb 6, 2024

Copying the relevant part of the test output before the build log disappears:

521/554 Test #508: test::igraph_hrg ...................................***Failed    0.20 sec
-- Test case output differs from the expected output
-- See diff below:
-- -------------------------------------------------------
--- /<<PKGBUILDDIR>>/tests/unit/igraph_hrg.out	2024-02-04 21:40:29.000000000 +0000
+++ /<<PKGBUILDDIR>>/_BUILD_STATIC/tests/test_igraph_hrg.out	2024-02-05 11:14:47.195150846 +0000
@@ -1,24 +1,24 @@
-Vertex # 25, left: # 29, right: # 43, prob: 0.0067
-Vertex # 26, left: # 13, right: # 46, prob:      1
-Vertex # 27, left: # 14, right: # 19, prob:      1
-Vertex # 28, left: # 15, right: # 16, prob:      0
-Vertex # 29, left: # 28, right: # 41, prob:   0.23
-Vertex # 30, left: # 33, right: # 37, prob:   0.13
-Vertex # 31, left: #  8, right: # 34, prob:      1
-Vertex # 32, left: # 23, right: # 24, prob:      0
-Vertex # 33, left: # 22, right: # 27, prob:      0
-Vertex # 34, left: #  7, right: # 44, prob:      1
-Vertex # 35, left: # 17, right: # 39, prob:    0.1
-Vertex # 36, left: # 12, right: # 20, prob:      0
-Vertex # 37, left: # 26, right: # 36, prob:      0
-Vertex # 38, left: # 42, right: # 45, prob:      1
-Vertex # 39, left: # 21, right: # 48, prob:      0
-Vertex # 40, left: #  2, right: #  5, prob:      1
-Vertex # 41, left: # 32, right: # 35, prob:      0
-Vertex # 42, left: #  4, right: # 31, prob:      1
-Vertex # 43, left: #  0, right: # 47, prob:      1
-Vertex # 44, left: #  6, right: #  9, prob:      1
-Vertex # 45, left: #  1, right: # 40, prob:      1
-Vertex # 46, left: # 11, right: # 18, prob:      0
-Vertex # 47, left: #  3, right: # 38, prob:      1
-Vertex # 48, left: # 10, right: # 30, prob:   0.25
+Vertex # 25, left: # 33, right: # 36, prob:  0.029
+Vertex # 26, left: # 19, right: # 20, prob:      0
+Vertex # 27, left: # 14, right: # 26, prob:      1
+Vertex # 28, left: # 10, right: # 37, prob:   0.15
+Vertex # 29, left: # 21, right: # 30, prob:      0
+Vertex # 30, left: # 18, right: # 35, prob:      0
+Vertex # 31, left: #  1, right: # 42, prob:      1
+Vertex # 32, left: # 16, right: # 41, prob:      1
+Vertex # 33, left: # 32, right: # 39, prob:      0
+Vertex # 34, left: #  0, right: # 45, prob:      1
+Vertex # 35, left: # 11, right: # 17, prob:      0
+Vertex # 36, left: # 27, right: # 28, prob:      0
+Vertex # 37, left: # 43, right: # 48, prob:      0
+Vertex # 38, left: #  6, right: #  9, prob:      1
+Vertex # 39, left: # 13, right: # 29, prob:   0.75
+Vertex # 40, left: #  5, right: # 44, prob:      1
+Vertex # 41, left: # 23, right: # 24, prob:      0
+Vertex # 42, left: # 40, right: # 47, prob:      1
+Vertex # 43, left: #  3, right: # 31, prob:      1
+Vertex # 44, left: #  8, right: # 34, prob:      1
+Vertex # 45, left: #  2, right: #  4, prob:      1
+Vertex # 46, left: # 12, right: # 22, prob:      0
+Vertex # 47, left: #  7, right: # 38, prob:      1
+Vertex # 48, left: # 15, right: # 46, prob:      1
-- -------------------------------------------------------
CMake Error at /<<PKGBUILDDIR>>/etc/cmake/run_legacy_test.cmake:67 (message):
  Exiting test.

@jgmbenoit
Copy link
Contributor Author

If anyone knows an easy way to test on that platform, let me know.

On Debian based distribution running on a amd64 architecture, we can create i386 chroot environments.
The following two links might be good starting point:
https://wiki.debian.org/Schroot/
https://wiki.ubuntu.com/SimpleSbuild/

@szhorvat
Copy link
Member

Currently I don't have access to any x86 machines at all, and I'm not sure when I'd have the sort of access that allows a chroot. I simply don't have the resource to debug this.

I looked at the commit history, and it seems that I re-enabled this test in this commit:

ffb499f#diff-790ac84eea526803c98ecb2b2e62d424cb42899f24e7ecbbe53bb4a0295b36e4

It is possible that the difference in behaviour was already present. I wonder why it was disabled in the first place.

For the moment I suggest removing tests/unit/igraph_hrg.out to disable output checking for this test.

@szhorvat
Copy link
Member

This part of the test was already commented out in the very first version of this test, 13 years go, see fdf756f

ntamas added a commit that referenced this issue Feb 12, 2024
@ntamas
Copy link
Member

ntamas commented Feb 12, 2024

Removing the expected output of the test for the time being, see the commit above. We can revert it later if/when we have time to debug this.

@ntamas ntamas closed this as completed Feb 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants