pandas
pandas copied to clipboard
nightly builds failing since 19 July on MacPython / pandas-wheels
https://dev.azure.com/pandas-dev/pandas-wheels/_build?definitionId=3&_a=summary
https://anaconda.org/scipy-wheels-nightly/pandas/files
and also seeing test failures when building wheels for 1.4.x https://github.com/MacPython/pandas-wheels/pull/173
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
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
.
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
@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)
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
Just need open a PR to make a small change to Travis and then can close this. (MacPython/pandas-wheels@b0845f7)
travis green on main https://github.com/MacPython/pandas-wheels/runs/7915756330 so closing