[Debian-med-packaging] Bug#1026061: bart: FTBFS randomly in bullseye (failing test)

Bernhard Übelacker bernhardu at mailbox.org
Sun Jan 1 14:39:33 GMT 2023


Dear Maintainer,
I could reproduce this failure in a bullseye VM.
There the "test_nufft_adjoint" fails in about 1.2 % of the runs.

Attached diff helps to make it more visible.

It looks like the float comparison fails because the
limit of "1.E-6f" is slightly not enough.

If interpret following floating point comparison document right,
then the failing cases are just 8 representable floats "ULPs"
away from the expected value, below 8 it does not fail.

   https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/

Maybe upstream could consider changing that
float comparison to something like this:

   https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/ddraw/tests/ddraw7.c#l61


In the newer Bookworm package I have found following patch,
which does relax exactly this test:

   https://salsa.debian.org/med-team/bart/-/blob/master/debian/patches/0003-relax-failing-unit-test.patch

But for some reason it does still not fail if I remove that
patch in the Bookworm version.

Kind regards,
Bernhard



make utest
while true; do ./test_nufft ; done


Bullseye/stable/bart-0.6.00:
- -1.067273+3.247031i - -1.067273+3.247030i - sc1=6.3619987432198080e+01 sc2=6.3619926397041880e+01 diff=9.6109602054639254e-07 diff_ulp=7
adjoint diff: 0.000001 9.6109602054639254e-07, limit: 9.9999999747524271e-07
         ./test_nufft:  1/ 1 passed.

- -1.067273+3.247030i - -1.067273+3.247030i - sc1=6.3619926397041830e+01 sc2=6.3619926397041880e+01 diff=8.3446502685546875e-07 diff_ulp=7
adjoint diff: 0.000001 8.3446502685546875e-07, limit: 9.9999999747524271e-07
         ./test_nufft:  1/ 1 passed.

- -1.067273+3.247031i - -1.067273+3.247030i - sc1=6.3619987432198087e+01 sc2=6.3619926397041880e+01 diff=8.5963040419301251e-07 diff_ulp=6
adjoint diff: 0.000001 8.5963040419301251e-07, limit: 9.9999999747524271e-07
         ./test_nufft:  1/ 1 passed.

- -1.067272+3.247031i - -1.067273+3.247030i - sc1=6.3619987432198073e+01 sc2=6.3619926397041880e+01 diff=1.0662403155947686e-06 diff_ulp=8
adjoint diff: 0.000001 1.0662403155947686e-06, limit: 9.9999999747524271e-07
ERROR:         ./test_nufft:  0/ 1 passed.

- -1.067273+3.247031i - -1.067273+3.247030i - sc1=6.3619987432198087e+01 sc2=6.3619926397041880e+01 diff=8.5963040419301251e-07 diff_ulp=6
adjoint diff: 0.000001 8.5963040419301251e-07, limit: 9.9999999747524271e-07
         ./test_nufft:  1/ 1 passed.

- -1.067273+3.247031i - -1.067273+3.247030i - sc1=6.3619987432198080e+01 sc2=6.3619926397041880e+01 diff=9.6109602054639254e-07 diff_ulp=7
adjoint diff: 0.000001 9.6109602054639254e-07, limit: 9.9999999747524271e-07
         ./test_nufft:  1/ 1 passed.


Bookworm/testing/bart-0.8.00:
- -1.067272+3.247031i - -1.067273+3.247030i - sc1=6.3619987432198073e+01 sc2=6.3619926397041880e+01 diff=1.0662403155947686e-06 diff_ulp=8
adjoint diff: 0.000000 3.1195452265819767e-07, limit: 9.9999999747524271e-07
         ./test_nufft:  1/ 1 passed.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: make_it_more_visible.patch
Type: text/x-patch
Size: 1449 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-med-packaging/attachments/20230101/215a9f70/attachment.bin>


More information about the Debian-med-packaging mailing list