Bug#1028722: [Debichem-devel] Bug#1028722: prody: FTBFS: AssertionError: 3205 != 3211 : selection 'abs(x) == sqrt(sq(x))' for Selection 'all' failed, expected 3211, selected 3205

2023-11-06 Thread Andrius Merkys

Hi,

On 2023-11-06 14:17, Santiago Vila wrote:

Note: I'd like to see this fixed in stable, but RMs require
(rightly so) that this is fixed in unstable first.


Thanks. You may look into disabling prody's part which uses biopython, 
maybe this will make it easier to fix the comparison issue in 
unstable. I don't know whether this is possible, though.


Well, I was thinking about something a lot more simple, which is
to disable the offending test, since it's clearly a bad test.


Disabling the offending test with '==' is fine. However, in sid you will 
stumble upon #1053865 which is due to a legit test case. If this helps, 
you may disable this test in sid as well.



I understand that this is not the help you expected. However, in return,
I can commit myself to checking that whatever new version trying to fix
this "the right way" works in Hetzner machines, which are the ones
where I can reproduce this problem 100% of the time.


This is more than I expect - thanks a lot! It would be best to leave 
#1053865 for the upstream.


Best,
Andrius



Bug#1028722: prody: FTBFS: AssertionError: 3205 != 3211 : selection 'abs(x) == sqrt(sq(x))' for Selection 'all' failed, expected 3211, selected 3205

2023-11-06 Thread Santiago Vila

Note: I'd like to see this fixed in stable, but RMs require
(rightly so) that this is fixed in unstable first.


Thanks. You may look into disabling prody's part which uses biopython, maybe 
this will make it easier to fix the comparison issue in unstable. I don't know 
whether this is possible, though.


Well, I was thinking about something a lot more simple, which is
to disable the offending test, since it's clearly a bad test.

I understand that this is not the help you expected. However, in return,
I can commit myself to checking that whatever new version trying to fix
this "the right way" works in Hetzner machines, which are the ones
where I can reproduce this problem 100% of the time.

Thanks.



Bug#1028722: prody: FTBFS: AssertionError: 3205 != 3211 : selection 'abs(x) == sqrt(sq(x))' for Selection 'all' failed, expected 3211, selected 3205

2023-11-06 Thread Andrius Merkys

Hi Santiago,

On 2023-11-02 01:14, Santiago Vila wrote:

El 13/10/23 a las 8:04, Andrius Merkys escribió:

To summarize: The failing test is buggy because when it fails
it does not necessarily mean that the package was misbuilt,
and in my opinion the best thing to do would be to disable it,
both in stable and unstable.

Trivial patch in the second attach.


Many thanks for investigating this issue. I will apply your patch, but 
prody would still FTBFS in sid and trixie due to unrelated 
incompatibility with python3-biopython.


Note: I'd like to see this fixed in stable, but RMs require
(rightly so) that this is fixed in unstable first.


Thanks. You may look into disabling prody's part which uses biopython, 
maybe this will make it easier to fix the comparison issue in unstable. 
I don't know whether this is possible, though.



I would be willing to join debichem and do the work
myself if it helps, for this kind of stuff.


Sure, feel free to do that. Restoring compatibility with biopython in 
unstable might be tricky, at least this is what upstream says:


https://github.com/prody/ProDy/issues/1723

Best,
Andrius



Bug#1028722: prody: FTBFS: AssertionError: 3205 != 3211 : selection 'abs(x) == sqrt(sq(x))' for Selection 'all' failed, expected 3211, selected 3205

2023-11-01 Thread Santiago Vila

El 13/10/23 a las 8:04, Andrius Merkys escribió:

To summarize: The failing test is buggy because when it fails
it does not necessarily mean that the package was misbuilt,
and in my opinion the best thing to do would be to disable it,
both in stable and unstable.

Trivial patch in the second attach.


Many thanks for investigating this issue. I will apply your patch, but prody 
would still FTBFS in sid and trixie due to unrelated incompatibility with 
python3-biopython.


Note: I'd like to see this fixed in stable, but RMs require
(rightly so) that this is fixed in unstable first.

I would be willing to join debichem and do the work
myself if it helps, for this kind of stuff.

Thanks.



Bug#1028722: prody: FTBFS: AssertionError: 3205 != 3211 : selection 'abs(x) == sqrt(sq(x))' for Selection 'all' failed, expected 3211, selected 3205

2023-10-12 Thread Andrius Merkys

Hello,

On 2023-10-12 21:22, Santiago Vila wrote:

To summarize: The failing test is buggy because when it fails
it does not necessarily mean that the package was misbuilt,
and in my opinion the best thing to do would be to disable it,
both in stable and unstable.

Trivial patch in the second attach.


Many thanks for investigating this issue. I will apply your patch, but 
prody would still FTBFS in sid and trixie due to unrelated 
incompatibility with python3-biopython.


Best,
Andrius



Bug#1028722: prody: FTBFS: AssertionError: 3205 != 3211 : selection 'abs(x) == sqrt(sq(x))' for Selection 'all' failed, expected 3211, selected 3205

2023-10-12 Thread Santiago Vila

tags 1028722 + patch
thanks

Hello.

I asked Drew Parsons to look at this bug because he reported a similar
bug with severity:serious here:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1053265

In both cases the failure happens while comparing floating
point numbers using the equality comparison operator (==),
or something similarly dangerous.

It's true that in a first look it might seem that it's comparing
integer numbers, but as upstream explains here:

https://github.com/prody/ProDy/issues/1594#issuecomment-1748400116

it's actually comparing vectors of floating point numbers and
after that it's counting the number of matches between those vectors.

This is known to be a bad practice and should be avoided, as
machines with different floating point implementations
may yield different results for the "same" math operation.

This is why it fails 100% of the time in the virtual
machines from Hetzner where I tried, and for this reason
I would consider this to be a violation of Policy 4.2.

As an experiment (suggested by Drew) I ran today
"autopkgtest -B -- null" on a Hetzner machine using the
installed packages from the archive (built by the official buildds)
and as expected it also fails that way (see first attach).

To summarize: The failing test is buggy because when it fails
it does not necessarily mean that the package was misbuilt,
and in my opinion the best thing to do would be to disable it,
both in stable and unstable.

Trivial patch in the second attach.

Thanks.=== FAILURES ===
__ TestSelect.testFunctionSelection13 __

self = 
pdb = 'pdb3mht', test = ('abs(x) == sqrt(sq(x))', 3211), type_ = 'function'
kwargs = {}, atoms = 
selstr = 'abs(x) == sqrt(sq(x))', natoms = 3211, selstr2 = None
sel = array([   0,1,2, ..., 3208, 3209, 3210])

def func(self, pdb=case, test=test, type_=type_, **kwargs):

atoms = SELECTION_TESTS[pdb]['ag']

selstr = test[0]
natoms = test[1]
selstr2 = None
kwargs = EMPTYDICT
if len(test) == 3:
selstr2 = test[2]
if len(test) == 4:
kwargs = test[3]

if natoms is None:
self.assertRaises(prody.select.SelectionError,
SELECT.getIndices, atoms, selstr, **kwargs)
elif selstr2 is None:
sel = SELECT.getIndices(atoms, selstr, **kwargs)
>   self.assertEqual(len(sel), natoms,
'selection {0} for {1} failed, expected '
'{2}, selected {3}'.format(repr(selstr),
str(atoms), natoms, len(sel)))
E   AssertionError: 3205 != 3211 : selection 'abs(x) == sqrt(sq(x))' 
for AtomGroup 3mht failed, expected 3211, selected 3205

tests/atomic/test_select.py:442: AssertionError
__ TestSelect.testFunctionSelection14 __

self = 
pdb = 'pdb3mht', test = ('abs(x) == sqrt(sq(x))', 3211), type_ = 'function'
kwargs = {}, atoms = 
selstr = 'abs(x) == sqrt(sq(x))', natoms = 3211, selstr2 = None
sel = array([   0,1,2, ..., 3208, 3209, 3210])

@dec.slow
def func(self, pdb=case, test=test, type_=type_, **kwargs):

atoms = SELECTION_TESTS[pdb]['all']

selstr = test[0]
natoms = test[1]
selstr2 = None
kwargs = EMPTYDICT
if len(test) == 3:
selstr2 = test[2]
if len(test) == 4:
kwargs = test[3]

if natoms is None:
self.assertRaises(prody.select.SelectionError,
SELECT.getIndices, atoms, selstr, **kwargs)
elif selstr2 is None:
sel = SELECT.getIndices(atoms, selstr, **kwargs)
>   self.assertEqual(len(sel), natoms,
'selection {0} for {1} failed, expected '
'{2}, selected {3}'.format(repr(selstr),
str(atoms), natoms, len(sel)))
E   AssertionError: 3205 != 3211 : selection 'abs(x) == sqrt(sq(x))' 
for Selection 'all' failed, expected 3211, selected 3205

tests/atomic/test_select.py:483: AssertionError
=== warnings summary ===
utilities/misctools.py:424
  /usr/lib/python3/dist-packages/prody/utilities/misctools.py:424: 
DeprecationWarning: pkg_resources is deprecated as an API. See 
https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources

../Bio/pairwise2.py:278
  /usr/lib/python3/dist-packages/Bio/pairwise2.py:278: 
BiopythonDeprecationWarning: Bio.pairwise2 has been deprecated, and we intend 
to remove it in a future release of Biopython. As an alternative, please 
consider using Bio.Align.PairwiseAligner as a replacement, and contact the 
Biopython developers if you still need the Bio.pairwise2 module.
warnings.warn(

apps/evol_apps/__init__.py:3
  /usr/lib/python3/dist-packages/prody/apps/evol_apps/__init__.py:3: 
DeprecationWarning: the imp module is de

Bug#1028722: [Debichem-devel] Bug#1028722: prody: FTBFS: AssertionError: 3205 != 3211 : selection 'abs(x) == sqrt(sq(x))' for Selection 'all' failed, expected 3211, selected 3205

2023-10-02 Thread Andrius Merkys

Hello,

On 2023-09-30 15:11, Drew Parsons wrote:

There seems to be ambiguity about the reproducibility of this bug.
That's possibly consistent with problems with rounding, though the bug
here seems to be more than an issue with floating point precision.

Upstream has made a new release.  I suggest packaging and uploading
the new version. That will give more fresh information on the state of
the build, whether the FTBFS is reliably reproducible.


prody is incompatible with the version of python3-biopython in Debian, 
even in the new upstream release. Upstream has been informed about that 
[1]. I am OK with letting prody fall out of testing, unless someone 
wants to help the upstream to update to newer python3-biopython.


[1] https://github.com/prody/ProDy/issues/1723

Best,
Andrius



Bug#1028722: prody: FTBFS: AssertionError: 3205 != 3211 : selection 'abs(x) == sqrt(sq(x))' for Selection 'all' failed, expected 3211, selected 3205

2023-09-30 Thread Drew Parsons
Source: prody
Followup-For: Bug #1028722

There seems to be ambiguity about the reproducibility of this bug.
That's possibly consistent with problems with rounding, though the bug
here seems to be more than an issue with floating point precision.

Upstream has made a new release.  I suggest packaging and uploading
the new version. That will give more fresh information on the state of
the build, whether the FTBFS is reliably reproducible.



Bug#1028722: [Debichem-devel] Bug#1028722: prody: FTBFS: AssertionError: 3205 != 3211 : selection 'abs(x) == sqrt(sq(x))' for Selection 'all' failed, expected 3211, selected 3205

2023-02-04 Thread Lucas Nussbaum
Hi,

On 27/01/23 at 14:31 +0200, Andrius Merkys wrote:
> Control: severity -1 important
> Control: tags -1 + moreinfo unreproducible
> 
> Hello,
> 
> On 2023-01-27 13:40, Adrian Bunk wrote:
> > On Sat, Jan 14, 2023 at 01:42:10PM +0100, Lucas Nussbaum wrote:
> > > Source: prody
> > > Version: 2.3.1+dfsg-3
> > > Severity: serious
> > > Justification: FTBFS
> > > Tags: bookworm sid ftbfs
> > > User: lu...@debian.org
> > > Usertags: ftbfs-20230113 ftbfs-bookworm
> > > 
> > > Hi,
> > > 
> > > During a rebuild of all packages in sid, your package failed to build
> > > on amd64.
> > > ...
> > > > ==
> > > > FAIL: testFunctionSelection13 
> > > > (prody.tests.atomic.test_select.TestSelect)
> > > > Test function selections 'abs(x) == sqrt(sq(x))' for pdb3mht
> > > > --
> > > > Traceback (most recent call last):
> > > >File 
> > > > "/<>/.pybuild/cpython3_3.10_prody/build/prody/tests/atomic/test_select.py",
> > > >  line 442, in func
> > > >  self.assertEqual(len(sel), natoms,
> > > > AssertionError: 3205 != 3211 : selection 'abs(x) == sqrt(sq(x))' for 
> > > > AtomGroup 3mht failed, expected 3211, selected 3205
> > > > 
> > > > ==
> > > > FAIL: testFunctionSelection14 
> > > > (prody.tests.atomic.test_select.TestSelect)
> > > > Test function selections "abs(x) == sqrt(sq(x))"
> > > > --
> > > > Traceback (most recent call last):
> > > >File 
> > > > "/<>/.pybuild/cpython3_3.10_prody/build/prody/tests/atomic/test_select.py",
> > > >  line 483, in func
> > > >  self.assertEqual(len(sel), natoms,
> > > > AssertionError: 3205 != 3211 : selection 'abs(x) == sqrt(sq(x))' for 
> > > > Selection 'all' failed, expected 3211, selected 3205
> > > > 
> > > > --
> > > > Ran 954 tests in 46.514s
> > > > 
> > > > FAILED (failures=2, skipped=37)
> > > ...
> > 
> > Are you still able to reproduce this?
> > 
> > It built both on the buildds and in reproducible:
> > https://buildd.debian.org/status/package.php?p=prody
> > https://tests.reproducible-builds.org/debian/history/prody.html
> 
> I cannot reproduce this neither in sid nor bookworm. Maybe this has
> something to do with temporary broken numpy.

It still fails for me

Lucas



Bug#1028722: [Debichem-devel] Bug#1028722: prody: FTBFS: AssertionError: 3205 != 3211 : selection 'abs(x) == sqrt(sq(x))' for Selection 'all' failed, expected 3211, selected 3205

2023-01-27 Thread Andrius Merkys

Control: severity -1 important
Control: tags -1 + moreinfo unreproducible

Hello,

On 2023-01-27 13:40, Adrian Bunk wrote:

On Sat, Jan 14, 2023 at 01:42:10PM +0100, Lucas Nussbaum wrote:

Source: prody
Version: 2.3.1+dfsg-3
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20230113 ftbfs-bookworm

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.
...

==
FAIL: testFunctionSelection13 (prody.tests.atomic.test_select.TestSelect)
Test function selections 'abs(x) == sqrt(sq(x))' for pdb3mht
--
Traceback (most recent call last):
   File 
"/<>/.pybuild/cpython3_3.10_prody/build/prody/tests/atomic/test_select.py",
 line 442, in func
 self.assertEqual(len(sel), natoms,
AssertionError: 3205 != 3211 : selection 'abs(x) == sqrt(sq(x))' for AtomGroup 
3mht failed, expected 3211, selected 3205

==
FAIL: testFunctionSelection14 (prody.tests.atomic.test_select.TestSelect)
Test function selections "abs(x) == sqrt(sq(x))"
--
Traceback (most recent call last):
   File 
"/<>/.pybuild/cpython3_3.10_prody/build/prody/tests/atomic/test_select.py",
 line 483, in func
 self.assertEqual(len(sel), natoms,
AssertionError: 3205 != 3211 : selection 'abs(x) == sqrt(sq(x))' for Selection 
'all' failed, expected 3211, selected 3205

--
Ran 954 tests in 46.514s

FAILED (failures=2, skipped=37)

...


Are you still able to reproduce this?

It built both on the buildds and in reproducible:
https://buildd.debian.org/status/package.php?p=prody
https://tests.reproducible-builds.org/debian/history/prody.html


I cannot reproduce this neither in sid nor bookworm. Maybe this has 
something to do with temporary broken numpy.


Andrius



Bug#1028722: prody: FTBFS: AssertionError: 3205 != 3211 : selection 'abs(x) == sqrt(sq(x))' for Selection 'all' failed, expected 3211, selected 3205

2023-01-27 Thread Adrian Bunk
On Sat, Jan 14, 2023 at 01:42:10PM +0100, Lucas Nussbaum wrote:
> Source: prody
> Version: 2.3.1+dfsg-3
> Severity: serious
> Justification: FTBFS
> Tags: bookworm sid ftbfs
> User: lu...@debian.org
> Usertags: ftbfs-20230113 ftbfs-bookworm
> 
> Hi,
> 
> During a rebuild of all packages in sid, your package failed to build
> on amd64.
>...
> > ==
> > FAIL: testFunctionSelection13 (prody.tests.atomic.test_select.TestSelect)
> > Test function selections 'abs(x) == sqrt(sq(x))' for pdb3mht
> > --
> > Traceback (most recent call last):
> >   File 
> > "/<>/.pybuild/cpython3_3.10_prody/build/prody/tests/atomic/test_select.py",
> >  line 442, in func
> > self.assertEqual(len(sel), natoms,
> > AssertionError: 3205 != 3211 : selection 'abs(x) == sqrt(sq(x))' for 
> > AtomGroup 3mht failed, expected 3211, selected 3205
> > 
> > ==
> > FAIL: testFunctionSelection14 (prody.tests.atomic.test_select.TestSelect)
> > Test function selections "abs(x) == sqrt(sq(x))"
> > --
> > Traceback (most recent call last):
> >   File 
> > "/<>/.pybuild/cpython3_3.10_prody/build/prody/tests/atomic/test_select.py",
> >  line 483, in func
> > self.assertEqual(len(sel), natoms,
> > AssertionError: 3205 != 3211 : selection 'abs(x) == sqrt(sq(x))' for 
> > Selection 'all' failed, expected 3211, selected 3205
> > 
> > --
> > Ran 954 tests in 46.514s
> > 
> > FAILED (failures=2, skipped=37)
>...

Are you still able to reproduce this?

It built both on the buildds and in reproducible:
https://buildd.debian.org/status/package.php?p=prody
https://tests.reproducible-builds.org/debian/history/prody.html

Thanks
Adrian