#1138623 persalys FTBFS on big endian: pyinstallcheck_DataModel_load test failure

#1138623#5
Date:
2026-06-01 11:35:18 UTC
From:
To:
https://buildd.debian.org/status/logs.php?pkg=persalys&ver=20.0%2Bds-1%7Eexp1
https://buildd.debian.org/status/logs.php?pkg=persalys&ver=20.0%2Bds-1

...
      Start 76: pyinstallcheck_DataModel_load
49/54 Test #76: pyinstallcheck_DataModel_load ...........................***Failed    0.23 sec
Traceback (most recent call last):
  File "/build/reproducible-path/persalys-20.0+ds/python/test/t_DataModel_load.py", line 14, in <module>
    ott.assert_almost_equal(myDataModel.getSample(), loadedDataModel.getSample())
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/openturns/testing.py", line 120, in assert_almost_equal
    return _testing.assert_almost_equal(*args)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
RuntimeError: Value 0.00632 is not close enough to -6.97678e-262
...
98% tests passed, 1 tests failed out of 54

Total Test time (real) =  11.26 sec

The following tests FAILED:
	 76 - pyinstallcheck_DataModel_load (Failed)
Errors while running CTest
make[2]: *** [Makefile:94: test] Error 8

#1138623#12
Date:
2026-06-02 21:37:08 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
persalys, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1138623@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Pierre Gruet <pgt@debian.org> (supplier of updated persalys package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Tue, 02 Jun 2026 22:57:57 +0200
Source: persalys
Architecture: source
Version: 20.0+ds-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
Changed-By: Pierre Gruet <pgt@debian.org>
Closes: 1138623
Changes:
 persalys (20.0+ds-2) unstable; urgency=medium
 .
   * Raising tolerance for test DataModel_load (Closes: #1138623)
Checksums-Sha1:
 6aeb5c8ce6dba1e4a25483e2cc14bc8b19589070 2463 persalys_20.0+ds-2.dsc
 e6fe5b704d466ae33cfaa0fdfb93f1118c925c39 14180 persalys_20.0+ds-2.debian.tar.xz
 3f05b972f8dfec5ec4e5e35e152f172b45635a58 19859 persalys_20.0+ds-2_amd64.buildinfo
Checksums-Sha256:
 8facb254f28d2171d4b9f7d088941ad0c18b5d343b94a759b11a00500383b322 2463 persalys_20.0+ds-2.dsc
 807030de865b82557aed18ea4fa56ea80e4762d672397a2974cb8bf7b1b96a72 14180 persalys_20.0+ds-2.debian.tar.xz
 be6040f983471a749c1c067bcfb4b016ed8563053bb36b37f052d5049da223d6 19859 persalys_20.0+ds-2_amd64.buildinfo
Files:
 ff50a3e3d3642dc03a9ba13cbbb4c164 2463 science optional persalys_20.0+ds-2.dsc
 34805f761eeca078c67b5ddfa999dc62 14180 science optional persalys_20.0+ds-2.debian.tar.xz
 870d9fdda7f9dbb2064273c8432696ce 19859 science optional persalys_20.0+ds-2_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEM8soQxPpC9J9y0UjYAMWptwndHYFAmofRtcACgkQYAMWptwn
dHYltg//QqM2hyrY3TDLvs82+CBCcZ4cwA4gh4eMhPW3v7aT5mp7r+gtrBagVQT3
f8RHv8qjKkCTd9rXtDIg4WJPFDm2wtE8p3amzoeWATW90dEhgMjt3bss64i8Tjn0
6cJJ4OhpEZdQMhAhHbi3Rg8XKoUsAvr8GeVzRIR38kTTjZL/D411AMH7BAeugSUw
xQJsY7Spu3DBk1essgAv1npu4tIkLKLHXCz1aGp+lycIJURY547lwWtGzJeibPXo
ONT4lX5SlEYDtFk0g/m0kH2XqRxL9M4DZpHVt1dCCCIuksxgTU9Nk7aXCtz8sCw/
p6d1JHv707PUjeD+e/6AtUF0kHrbu+Ph58/x7+cmRo9/cWCwmZRpa2tP9+YJ4Xqh
/xFKXBBJobwHySiJaV5A5LaFLwOCjotEAte6pgofH4w3RrIEtPLDJ8okcInv9LYy
myDQ4MivUOcZzNR6ej9docLWDFO1sWeMeaHgz0g+brQOhIgsElbjsEhWKq/5jj8I
sEww/H0J6sOuI/o/1iyikONOlhrIEpib5Few1/E5Y8fJB3QF2EfbomMVhRVcgiBp
ElHlm0mTnN3OWnVkD4JoUQq0ZNzeVVQA4P3Yl3Bd1tJCzmekmdu58xN5UNeJUq5R
0gwXNp0CfBRVIKIwzuXxC5pjHPgiFWTCTxTN9Q12LoVQxAHDiQQ=
=CwAL
-----END PGP SIGNATURE-----

#1138623#26
Date:
2026-06-03 06:38:15 UTC
From:
To:
Hi,

At the moment I deactivated the test that is problematic on s390x, the
issue was forwarded upstream and is under careful investigation.

Best,

#1138623#31
Date:
2026-06-03 07:04:03 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
persalys, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1138623@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Pierre Gruet <pgt@debian.org> (supplier of updated persalys package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Wed, 03 Jun 2026 08:36:03 +0200
Source: persalys
Architecture: source
Version: 20.0+ds-3
Distribution: unstable
Urgency: medium
Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
Changed-By: Pierre Gruet <pgt@debian.org>
Closes: 1138623
Changes:
 persalys (20.0+ds-3) unstable; urgency=medium
 .
   * Skipping problematic test on s390x, forwarded upstream (Closes: #1138623)
Checksums-Sha1:
 d07c7b4c850286ada55da8ae3efa6cd8c1bc99ce 2463 persalys_20.0+ds-3.dsc
 14727a8c1f6b44c0c5eb999dc0ca8b78a6682bc3 14296 persalys_20.0+ds-3.debian.tar.xz
 83f2b2802cd6bb449e78a1ee2719abb966789eb9 7054 persalys_20.0+ds-3_source.buildinfo
Checksums-Sha256:
 f2821f52ed03da1a876d9cdf8a457fb7090211d819b1a226aef37ee908533a9e 2463 persalys_20.0+ds-3.dsc
 10f23b76e82b2e44f61921de7c579731ee01887e74f4a14f6bcd491ab9f7f2f6 14296 persalys_20.0+ds-3.debian.tar.xz
 5aca8fc56e4a266eaf6376d4e056ab31bdf3ae8e27e028ef62897f8f606afebb 7054 persalys_20.0+ds-3_source.buildinfo
Files:
 266e2cebe3701abc9dd565c0b1f048e8 2463 science optional persalys_20.0+ds-3.dsc
 93b5539e0deeb3d1d4d48ae0d7504e12 14296 science optional persalys_20.0+ds-3.debian.tar.xz
 6cd45d6c94d429518df2fcd7415e9a36 7054 science optional persalys_20.0+ds-3_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEM8soQxPpC9J9y0UjYAMWptwndHYFAmofy4MACgkQYAMWptwn
dHZBQg/+J/hEVs9lLwaUy/gpq/gYeSOGG5EgKABBgjZHayJ11z/kRTeK8QuuFreO
DEuATByo+EBcewN/VfTJoRazG3ewzRb/lIYDbkoFqfaAnyCODxMsMxCfApqZjHJk
hKb91WT5NXrclitIOQ9F4MD0W1tlqz3bMkSUUpfMZhHuwmQKFacCSkCW87YYq+o1
ieDcJQmGMVnsGuawHF34kya7u7r/TOBqsK6vTMV1wqF+5yvI34mAzPruwDyv10h9
iyCGq6S3yETLbbtWsOa4opFlkQ+10OrhUY56ENcv1Znw7Nwlsr2lPM0At/o7xInc
Xu8IxJ1cwwu3OBXVq5NrNaQiorcoQUnjcEGdHvbS1wiecccKFAqmqkKX2qnW6Ycg
smBNM/rNhAGX0tK3E2ZJM+6vk/4xLednauTQ/AfPd6WyKTvZgyAVwgsTROrobUqR
xYF2V33LOfRhpRESdVyKhYwSGjojN46fI/FVow8eOjD5glvTM0e6pvJnAyXdG5l+
ZIE1PzTxrN6ejgwpy+Dp9Q+cdMrlDPlPqie5lm/lss8r59FI5HRfrHN7UD6hy31/
6oRjvHU6bOYjqbnBPZjYaGT8gIk1+HNjiIyB1W4//XT0M1zwNifVemotvCwL1/lx
Nii+vUjbnJejDVMqVl8zs6nlhwW41neIHpEQbfgN1aE00/eAgyI=
=SY1D
-----END PGP SIGNATURE-----

#1138623#36
Date:
2026-06-04 10:27:10 UTC
From:
To:
Hi Adrian,

I was looking into this for the past 2 days.
I will just share what all I found.

So, in the `python/test/DataModel.xml` file, the file path for the two csv files (`Housing-prices-Boston.csv` and `table.csv`)
are hard coded like the following `/home/aroles/Documents/proj_persalys/studies/Housing-prices-Boston.csv` and
`/home/aroles/Documents/proj_persalys/studies/table.csv`. This is where the issue starts. Since, this is a hard coded absolute path,
the program doesn't find these files. Hence for line no. 493 in `lib/src/base/DataModel.cxx` in the function call
`ImportedDataset(fileName, inputColumns, outputColumns)`, it throws an exception and goes into the catch block and hence falls
back to the `.h5` file. Now the `.h5` file has entries in little endian format. Hence, in x86 machines, the data is read fine but fails on
s390x. But the thing is, HDF5 files are supposed to be portable across architectures (irrespective of endianness). I can see that the
call is moving into `libOT.so`. So will have to dig deeper over there to see why this is exactly happening.

Meanwhile, I tried correcting the paths (by changing them to relative paths). Now the first assertion (line 14 of `t_DataModel_load.py`)
now passes. This is since that the `.csv` file is being picked up rather than the `.h5` file. But still, the second assertion fails. That is when
I noticed another thing. The file called `table.csv` doesn't exist within the repo. I am not sure whether that is supposed to be produced
by another test case or was supposed to uploaded. But since the file is not there the control falls back to the `.h5` file and chaos
continues.

If there was a `table.csv` file, then changing the path names and uploading this file should fix the issue. Or another work around we
could do is to add the necessary byte swaps in the `t_DataModel_load.py` file.

Thanks,
Pranav