pandas icon indicating copy to clipboard operation
pandas copied to clipboard

nightly builds failing since 19 July on MacPython / pandas-wheels

Open simonjayhawkins opened this issue 2 years ago • 3 comments

https://dev.azure.com/pandas-dev/pandas-wheels/_build?definitionId=3&_a=summary

https://anaconda.org/scipy-wheels-nightly/pandas/files

simonjayhawkins avatar Aug 02 '22 19:08 simonjayhawkins

and also seeing test failures when building wheels for 1.4.x https://github.com/MacPython/pandas-wheels/pull/173

simonjayhawkins avatar Aug 03 '22 20:08 simonjayhawkins

It seems to me, that this is a bug on our side. This was not caused by a change on our side in that interval but by a hypothesis release.

https://github.com/pandas-dev/pandas/pull/47952

This was caused by a hypothesis change to how the integers function works in 6.52.2. They are now testing the interval bounds more strictly, which causes overflow errors on our side. A depdendency of this version is missing on conda, hence we only get this when installing with pip.

https://github.com/HypothesisWorks/hypothesis/issues/2942 and the associated pr

We could pin hypothesis as a short term solution to get the builds passing. If we determine this is indeed a bug on our side, we have to fix it.

Edit: Alternatively, we could skip the test for windows and macos for now

phofl avatar Aug 03 '22 23:08 phofl

I think the test is also partially to blame, as it defines the interval.

For eg: in test_timedelta.py:test_round_sanity, the max value for val is set to lib.i8max, which is probably 2^63 - 1.

@given(val=st.integers(min_value=iNaT + 1, max_value=lib.i8max))

The code then converts val to a timedelta object with that many nanoseconds. The overflow happens when Timedelta.ceil(td, "D") is applied to it, i.e adding a day worth of nanoseconds(8.64e13).

The falsifying case I encountered was still some ways from SLONG_MAX -

[2022-07-22T21:07:33.539Z] pandas/_libs/tslibs/fields.pyx:688: OverflowError
[2022-07-22T21:07:33.539Z] ---------------------------------- Hypothesis ----------------------------------
[2022-07-22T21:07:33.539Z] Falsifying example: test_round_sanity(
[2022-07-22T21:07:33.539Z]     val=9223286400000000001,
[2022-07-22T21:07:33.539Z]     self=<pandas.tests.scalar.timestamp.test_unary_ops.TestTimestampUnaryOps at 0x18e165910>,
[2022-07-22T21:07:33.539Z]     method=<cyfunction Timestamp.ceil at 0x1b56adee0>,
[2022-07-22T21:07:33.539Z] )

One idea is to reduce the max_value by Timedelta(1, "D").nanoseconds.

vtikoo avatar Aug 05 '22 00:08 vtikoo

We could pin hypothesis as a short term solution to get the builds passing. If we determine this is indeed a bug on our side, we have to fix it.

hypothesis has been pinned for now https://github.com/MacPython/pandas-wheels/pull/190

simonjayhawkins avatar Aug 17 '22 12:08 simonjayhawkins

@lithomas1 This issue is about nightly builds so changing the milestone back to 1.5

Just need open a PR to make a small change to Travis and then can close this. (https://github.com/MacPython/pandas-wheels/pull/173/commits/b0845f7dfc1f49a6d9f304ab2d1c835aabe71d06)

simonjayhawkins avatar Aug 19 '22 09:08 simonjayhawkins

Just need open a PR to make a small change to Travis and then can close this. (MacPython/pandas-wheels@b0845f7)

https://github.com/MacPython/pandas-wheels/pull/191

simonjayhawkins avatar Aug 19 '22 10:08 simonjayhawkins

Just need open a PR to make a small change to Travis and then can close this. (MacPython/pandas-wheels@b0845f7)

MacPython/pandas-wheels#191

travis green on main https://github.com/MacPython/pandas-wheels/runs/7915756330 so closing

simonjayhawkins avatar Aug 19 '22 10:08 simonjayhawkins