Skip to content

test_expressions.test_integer* fail badly while building on Debian sid amd64 python3.5 #14269

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

Closed
yarikoptic opened this issue Sep 21, 2016 · 3 comments
Labels
Linux Linux OS Testing pandas testing functions or related to the test suite Unreliable Test Unit tests that occasionally fail

Comments

@yarikoptic
Copy link
Contributor

yarikoptic commented Sep 21, 2016

Code Sample, a copy-pastable example if possible

Here is a sample (full build log and all 4 failures are at http://neuro.debian.net/_files/_buildlogs/pandas/0.18.1+git25-ga7469cf/pandas_0.18.1+git25-ga7469cf-1_amd64.build )
edit 1: it is all fine with python 2.7

======================================================================
FAIL: test_integer_with_zeros (pandas.tests.test_expressions.TestExpressions)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/build/pandas-0.18.1+git25-ga7469cf/debian/tmp/usr/lib/python3/dist-packages/pandas/tests/test_expressions.py", line 244, in test_integer_with_zeros
    assert_frame_equal)
  File "/build/pandas-0.18.1+git25-ga7469cf/debian/tmp/usr/lib/python3/dist-packages/pandas/tests/test_expressions.py", line 100, in run_arithmetic_test
    assert_func(expected, result)
  File "/build/pandas-0.18.1+git25-ga7469cf/debian/tmp/usr/lib/python3/dist-packages/pandas/util/testing.py", line 1313, in assert_frame_equal
    obj='DataFrame.iloc[:, {0}]'.format(i))
  File "/build/pandas-0.18.1+git25-ga7469cf/debian/tmp/usr/lib/python3/dist-packages/pandas/util/testing.py", line 1181, in assert_series_equal
    obj='{0}'.format(obj))
  File "pandas/src/testing.pyx", line 59, in pandas._testing.assert_almost_equal (pandas/src/testing.c:3783)
  File "pandas/src/testing.pyx", line 173, in pandas._testing.assert_almost_equal (pandas/src/testing.c:2987)
  File "/build/pandas-0.18.1+git25-ga7469cf/debian/tmp/usr/lib/python3/dist-packages/pandas/util/testing.py", line 1018, in raise_assert_detail
    raise AssertionError(msg)
AssertionError: DataFrame.iloc[:, 0] are different


DataFrame.iloc[:, 0] values are different (0.57994 %)
[left]:  [-9223372036854775808, -9223372036854775808, 1, 1, 1, -9223372036854775808, 1, 1, -9223372036854775808, 10000000000, 1, 1, -9223372036854775808, -9223372036854775808, -9223372036854775808, -9223372036854775808, -9223372036854775808, 1, -9223372036854775808, 1, 1, -9223372036854775808, -9223372036854775808, 3125, 1, -9223372036854775808, 1, 1, -9223372036854775808, 1, -9223372036854775808, 4, 1, 1, 1, -9223372036854775808, 1, 1, -9223372036854775808, 1, -9223372036854775808, -9223372036854775808, 1, 1, 1, -9223372036854775808, 1, -9223372036854775808, 387420489, 1, 1, -9223372036854775808, 1, 1, 1, -9223372036854775808, 1, 1, -9223372036854775808, -9223372036854775808, -9223372036854775808, 437893890380859392, -9223372036854775808, -9223372036854775808, -9223372036854775808, 1, 1, 1, 1, -9223372036854775808, -9223372036854775808, 1, 1, -9223372036854775808, 1, 1, -9223372036854775808, 1, 1, 1, 302875106592253, -9223372036854775808, 1, -9223372036854775808, -9223372036854775808, -9223372036854775808, -9223372036854775808, 1, 1, -9223372036854775808, 1, 1, 1, -9223372036854775808, 302875106592253, 1, -9223372036854775808, 1, 1, -9223372036854775808, ...]
[right]: [-9223372036854775808, -9223372036854775808, 1, 1, 1, -9223372036854775808, 1, 1, -9223372036854775808, 10000000000, 1, 1, -9223372036854775808, -9223372036854775808, -9223372036854775808, -9223372036854775808, -9223372036854775808, 1, -9223372036854775808, 1, 1, -9223372036854775808, -9223372036854775808, 3125, 1, -9223372036854775808, 1, 1, -9223372036854775808, 1, -9223372036854775808, 4, 1, 1, 1, -9223372036854775808, 1, 1, -9223372036854775808, 1, -9223372036854775808, -9223372036854775808, 1, 1, 1, -9223372036854775808, 1, -9223372036854775808, 387420489, 1, 1, -9223372036854775808, 1, 1, 1, -9223372036854775808, 1, 1, -9223372036854775808, -9223372036854775808, -9223372036854775808, 437893890380859375, -9223372036854775808, -9223372036854775808, -9223372036854775808, 1, 1, 1, 1, -9223372036854775808, -9223372036854775808, 1, 1, -9223372036854775808, 1, 1, -9223372036854775808, 1, 1, 1, 302875106592253, -9223372036854775808, 1, -9223372036854775808, -9223372036854775808, -9223372036854775808, -9223372036854775808, 1, 1, -9223372036854775808, 1, 1, 1, -9223372036854775808, 302875106592253, 1, -9223372036854775808, 1, 1, -9223372036854775808, ...]

----------------------------------------------------------------------
Ran 10884 tests in 932.762s

FAILED (SKIP=542, failures=4)
True
WHAT THE
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2500 entries, 0 to 2499
Data columns (total 2 columns):
int64       2500 non-null int64
category    2500 non-null category
dtypes: category(1), int64(1)
memory usage: 22.1 KB
<class 'pandas.core.frame.DataFrame'>
Int64Index: 275 entries, 0 to 2499
Data columns (total 2 columns):
int64       275 non-null int64
category    275 non-null category
dtypes: category(1), int64(1)
memory usage: 4.6 KB
zounds!
default called array('d', [1.1, 2.2, 3.3])
ext_hook called 123 b'\x9a\x99\x99\x99\x99\x99\xf1?\x9a\x99\x99\x99\x99\x99\x01@ffffff\n@'
debian/rules:100: recipe for target 'python-test3.5' failed
make[1]: *** [python-test3.5] Error 1
make[1]: Leaving directory '/build/pandas-0.18.1+git25-ga7469cf'
debian/rules:48: recipe for target 'binary' failed
make: *** [binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
I: copying local configuration

output of pd.show_versions()

> PYTHONPATH=lib.linux-x86_64-3.5 python3.5  -c 'import pandas; pandas.show_versions()'

INSTALLED VERSIONS
------------------
commit: None
python: 3.5.2.final.0
python-bits: 64
OS: Linux
OS-release: 4.8.0-rc5+
machine: x86_64
processor: 
byteorder: little
LC_ALL: C
LANG: C
LOCALE: None.None

pandas: 0.18.1+git25-ga7469cf
nose: 1.3.7
pip: None
setuptools: 27.1.2
Cython: 0.24.1
numpy: 1.11.1rc1
scipy: 0.18.0
statsmodels: None
xarray: None
IPython: None
sphinx: 1.4.6
patsy: None
dateutil: 2.5.3
pytz: 2015.7
blosc: None
bottleneck: None
tables: 3.2.2
numexpr: 2.6.1
matplotlib: 1.5.3
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: 4.5.1
html5lib: 0.999
httplib2: None
apiclient: None
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: 2.8
boto: None
pandas_datareader: None

any clear ideas?

@yarikoptic
Copy link
Contributor Author

so noone observed it before and only I am that lucky? ok then , here are more detail bits:

(Pdb) np.unique(right.get_values()[np.where(left.get_values() != right.get_values())])
array([437893890380859375], dtype=int64)
(Pdb) np.unique(left.get_values()[np.where(left.get_values() != right.get_values())])
array([437893890380859392])
(Pdb) np.unique(left.get_values()[np.where(left.get_values() != right.get_values())]).dtype
dtype('int64')
(Pdb) np.unique(right.get_values()[np.where(left.get_values() != right.get_values())]).dtype
dtype('int64')
(Pdb) bt
  /usr/lib/python3.5/unittest/case.py(58)testPartExecutor()
-> yield
  /usr/lib/python3.5/unittest/case.py(600)run()
-> testMethod()
  /build/pandas-0.18.1+git25-ga7469cf/build/lib.linux-x86_64-3.5/pandas/tests/test_expressions.py(107)test_integer_arithmetic()
-> assert_frame_equal)
  /build/pandas-0.18.1+git25-ga7469cf/build/lib.linux-x86_64-3.5/pandas/tests/test_expressions.py(100)run_arithmetic_test()
-> assert_func(expected, result)
  /build/pandas-0.18.1+git25-ga7469cf/build/lib.linux-x86_64-3.5/pandas/util/testing.py(1313)assert_frame_equal()
-> obj='DataFrame.iloc[:, {0}]'.format(i))
> /build/pandas-0.18.1+git25-ga7469cf/build/lib.linux-x86_64-3.5/pandas/util/testing.py(1181)assert_series_equal()
-> obj='{0}'.format(obj))
  /build/pandas-0.18.1+git25-ga7469cf/build/pandas/src/testing.pyx(59)pandas._testing.assert_almost_equal (pandas/src/testing.c:3783)()
  /build/pandas-0.18.1+git25-ga7469cf/build/pandas/src/testing.pyx(173)pandas._testing.assert_almost_equal (pandas/src/testing.c:2987)()
  /build/pandas-0.18.1+git25-ga7469cf/build/lib.linux-x86_64-3.5/pandas/util/testing.py(1018)raise_assert_detail()
-> raise AssertionError(msg)

I didn't look in detail so my observation might be completely irrelevant but note that in one case numpy reports the dtype while printing array and in another doesn't...

(Pdb) runique = np.unique(right.get_values()[np.where(left.get_values() != right.get_values())])
(Pdb) lunique = np.unique(left.get_values()[np.where(left.get_values() != right.get_values())])
(Pdb) runique.dtype == lunique.dtype
True
(Pdb) runique.dtype is lunique.dtype
False

... more later...

@FRidh
Copy link

FRidh commented Nov 9, 2016

We have a failure here as well when using gcc 6.
http://hydra.nixos.org/build/43371820/nixlog/11/raw
The problem does not seem to occur with gcc 5.4.0.

Debian Testing/Sid also use gcc 6.

raspbian-autopush pushed a commit to raspbian-packages/pandas that referenced this issue Mar 7, 2017
pandas (0.19.0+git14-ga40e185-1) unstable; urgency=medium

  * New upstream post-release (includes some bugfixes) snapshot
  * debian/patches
    - dropped changeset_ and up_ patches adopted upstream, refreshed the rest
  * debian/rules,patches
    - save debian-based version into __version.py, so doesn't conflict with
      upstream tests of public API
    - exclude for now test_expressions on python3
      (see pandas-dev/pandas#14269)

[dgit import unpatched pandas 0.19.0+git14-ga40e185-1]
@jbrockmendel jbrockmendel added the Unreliable Test Unit tests that occasionally fail label Dec 25, 2019
@mroeschke mroeschke added the Linux Linux OS label Apr 19, 2020
@mroeschke
Copy link
Member

Thanks for these results and sorry this were never addressed.

It appears these results were run on fairly old versions of Python and pandas and it would be good to have a updated version of this run.

So going to close as these results are fairly old but happy to reopen if we can get and updated run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Linux Linux OS Testing pandas testing functions or related to the test suite Unreliable Test Unit tests that occasionally fail
Projects
None yet
Development

No branches or pull requests

5 participants