Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 773610 - dev-python/pandas-1.2.1 fails test TestTimestampProperties.test_is_leap_year
Summary: dev-python/pandas-1.2.1 fails test TestTimestampProperties.test_is_leap_year
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Science Related Packages
URL:
Whiteboard:
Keywords: TESTFAILURE
: 779394 (view as bug list)
Depends on:
Blocks: 772500
  Show dependency tree
 
Reported: 2021-03-01 17:11 UTC by Thomas Deutschmann (RETIRED)
Modified: 2021-04-14 08:24 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Deutschmann (RETIRED) gentoo-dev 2021-03-01 17:11:40 UTC
> _________________________________ TestTimestampProperties.test_is_leap_year[tzlocal()] _________________________________
> [gw4] linux -- Python 3.8.7 /usr/bin/python3.8
> 
> self = <pandas.tests.scalar.timestamp.test_timestamp.TestTimestampProperties object at 0x7f3d7400>
> tz_naive_fixture = tzlocal()
> 
>     def test_is_leap_year(self, tz_naive_fixture):
>         tz = tz_naive_fixture
>         # GH 13727
>         dt = Timestamp("2000-01-01 00:00:00", tz=tz)
>         assert dt.is_leap_year
>         assert isinstance(dt.is_leap_year, bool)
>     
>         dt = Timestamp("1999-01-01 00:00:00", tz=tz)
>         assert not dt.is_leap_year
>     
>         dt = Timestamp("2004-01-01 00:00:00", tz=tz)
>         assert dt.is_leap_year
>     
> >       dt = Timestamp("2100-01-01 00:00:00", tz=tz)
> 
> pandas/tests/scalar/timestamp/test_timestamp.py:155: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> pandas/_libs/tslibs/timestamps.pyx:1095: in pandas._libs.tslibs.timestamps.Timestamp.__new__
>     ???
> pandas/_libs/tslibs/conversion.pyx:398: in pandas._libs.tslibs.conversion.convert_to_tsobject
>     ???
> pandas/_libs/tslibs/conversion.pyx:625: in pandas._libs.tslibs.conversion._convert_str_to_tsobject
>     ???
> pandas/_libs/tslibs/tzconversion.pyx:53: in pandas._libs.tslibs.tzconversion.tz_localize_to_utc_single
>     ???
> pandas/_libs/tslibs/tzconversion.pyx:585: in pandas._libs.tslibs.tzconversion._tz_convert_tzlocal_utc
>     ???
> pandas/_libs/tslibs/tzconversion.pyx:550: in pandas._libs.tslibs.tzconversion._tzlocal_get_offset_components
>     ???
> /usr/lib/python3.8/site-packages/dateutil/tz/tz.py:222: in utcoffset
>     if self._isdst(dt):
> /usr/lib/python3.8/site-packages/dateutil/tz/tz.py:291: in _isdst
>     dstval = self._naive_is_dst(dt)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> 
> self = tzlocal(), dt = datetime.datetime(2100, 1, 1, 0, 0)
> 
>     def _naive_is_dst(self, dt):
>         timestamp = _datetime_to_timestamp(dt)
> >       return time.localtime(timestamp + time.timezone).tm_isdst
> E       OverflowError: timestamp out of range for platform time_t
> 
> /usr/lib/python3.8/site-packages/dateutil/tz/tz.py:260: OverflowError
> =================================================== warnings summary ===================================================
> pandas/tests/io/parser/test_c_parser_only.py::test_buffer_rd_bytes[c_high]
> pandas/tests/io/parser/test_c_parser_only.py::test_buffer_rd_bytes[c_low]
>   /var/tmp/portage/dev-python/pandas-1.2.1/work/pandas-1.2.1-python3_8/lib/pandas/io/common.py:558: RuntimeWarning: compression has no effect when passing a non-binary object as input.
>     ioargs = _get_filepath_or_buffer(
> 
> pandas/tests/scalar/timedelta/test_arithmetic.py::TestTimedeltaMultiplicationDivision::test_td_div_nan[nan1]
>   /var/tmp/portage/dev-python/pandas-1.2.1/work/pandas-1.2.1-python3_8/lib/pandas/tests/scalar/timedelta/test_arithmetic.py:445: RuntimeWarning: invalid value encountered in double_scalars
>     result = td // nan
> 
> -- Docs: https://docs.pytest.org/en/stable/warnings.html
> =============================================== short test summary info ================================================
> FAILED pandas/tests/scalar/timestamp/test_timestamp.py::TestTimestampProperties::test_is_leap_year[tzlocal()] - Overf...
> ================= 1 failed, 142515 passed, 8411 skipped, 1048 xfailed, 3 warnings in 416.42s (0:06:56) =================
>  * ERROR: dev-python/pandas-1.2.1::gentoo failed (test phase):
>  *   Tests failed with python3.8


Portage 3.0.13 (python 3.8.7-final-0, default/linux/x86/17.0, gcc-9.3.0, glibc-2.32-r7, 5.4.97-gentoo-x86 i686)
=================================================================
System uname: Linux-5.4.97-gentoo-x86-i686-with-glibc2.1.3
KiB Mem:     3106076 total,    954920 free
KiB Swap:    8387560 total,   8387560 free
Timestamp of repository gentoo: Mon, 01 Mar 2021 14:22:12 +0000
Head commit of repository gentoo: 6dc7e02eeb6b5810659276570da180374a33d407

sh bash 5.0_p18
ld GNU ld (Gentoo 2.35.1 p2) 2.35.1
ccache version 4.1 [enabled]
app-shells/bash:          5.0_p18::gentoo
dev-lang/perl:            5.30.3::gentoo
dev-lang/python:          3.7.9-r2::gentoo, 3.8.7-r1::gentoo, 3.9.1-r1::gentoo
dev-util/ccache:          4.1::gentoo
dev-util/cmake:           3.18.5::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.7::gentoo
sys-apps/openrc:          0.42.1-r1::gentoo
sys-apps/sandbox:         2.20::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r5::gentoo
sys-devel/automake:       1.16.2-r1::gentoo
sys-devel/binutils:       2.35.1-r1::gentoo
sys-devel/gcc:            9.3.0-r2::gentoo
sys-devel/gcc-config:     2.3.3::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.10::gentoo (virtual/os-headers)
sys-libs/glibc:           2.32-r7::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: git
    sync-uri: https://anongit.gentoo.org/git/repo/sync/gentoo.git
    priority: -1000

ABI="x86"
ABI_X86="32"
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="*"
ACCEPT_PROPERTIES="*"
ACCEPT_RESTRICT="*"
ADA_TARGET="gnat_2018"
ARCH="x86"
BINPKG_COMPRESS="bzip2"
BROOT=""
CBUILD="i686-pc-linux-gnu"
CCACHE_DIR="/var/cache/ccache"
CFLAGS="-O2 -pipe -march=pentium4m -mtune=pentium4m -Wno-error=jump-misses-init -Wno-error=sign-compare"
CHOST="i686-pc-linux-gnu"
CHOST_x86="i686-pc-linux-gnu"
COLLISION_IGNORE="/lib/modules/*"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CPU_FLAGS_X86="mmx mmxext sse sse2"
CXXFLAGS="-O2 -pipe -march=pentium4m -mtune=pentium4m -Wno-error=jump-misses-init -Wno-error=sign-compare"
DEFAULT_ABI="x86"
EDITOR="/usr/bin/mcedit"
ELIBC="glibc"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
EPREFIX=""
EROOT="/"
ESYSROOT="/"
FCFLAGS="-O2 -march=i686 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg ccache cgroup config-protect-if-modified distlocks downgrade-backup ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -march=i686 -pipe"
GCC_SPECS=""
GRUB_PLATFORMS="efi-32 pc"
GSETTINGS_BACKEND="dconf"
HOME="/root"
INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/9.3.0/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.35.1/info:/usr/share/info"
INPUT_DEVICES="libinput"
IUSE_IMPLICIT="abi_x86_32 prefix prefix-guest prefix-stack"
KERNEL="linux"
L10N="en en-US de de-DE"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LC_MESSAGES="C"
LC_PAPER="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LIBDIR_x86="lib"
LINGUAS="en de"
LOGNAME="root"
LUA_SINGLE_TARGET="lua5-1"
LUA_TARGETS="lua5-1"
MAIL="/var/mail/root"
MAKEOPTS="--jobs 5 --load-average 7.95"
MANPAGER="manpager"
MOTD_SHOWN="pam"
MULTILIB_ABIS="x86"
NOCOLOR="true"
OFFICE_IMPLEMENTATION="libreoffice"
OPENCL_PROFILE="ocl-icd"
OPENGL_PROFILE="xorg-x11"
PAGER="/usr/bin/less"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/lib/llvm/11/bin"
PHP_TARGETS="php7-3 php7-4"
POSTGRES_TARGETS="postgres10 postgres11"
PWD="/root"
PYTHONDONTWRITEBYTECODE="1"
PYTHON_SINGLE_TARGET="python3_8"
PYTHON_TARGETS="python3_8"
QT_GRAPHICSSYSTEM="raster"
ROOT="/"
ROOTPATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/lib/llvm/11/bin"
RUBY_TARGETS="ruby25 ruby26"
SHELL="/bin/bash"
SHLVL="2"
SSH_TTY="/dev/pts/0"
SYSROOT="/"
TERM="tmux-256color"
TMUX="/tmp//tmux-0/default,3318,0"
TMUX_PANE="%2"
TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE="1"
USER="root"
USERLAND="GNU"
VIDEO_CARDS="vmware"
XDG_RUNTIME_DIR="/run/user/0"
XDG_SESSION_CLASS="user"
XDG_SESSION_ID="2"
XDG_SESSION_TYPE="tty"
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2021-03-16 21:40:45 UTC
What's your pytest version?  Where's the build log?
Comment 2 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2021-03-30 16:27:42 UTC
*** Bug 779394 has been marked as a duplicate of this bug. ***
Comment 3 Thomas Deutschmann (RETIRED) gentoo-dev 2021-03-30 16:45:43 UTC
The file you are trying to attach is 1465 kilobytes (KB) in size. Attachments cannot be more than 1000 KB.
We recommend that you try to compress the file by using bzip2, gzip, tar or lzma alternatively you may want to store your attachment elsewhere and then paste the URL to this file on the attachment creation page in the appropriate text field, which you can access by clicking the "paste text as attachment" link.


https://0x0.st/-be7.gz


pytest --version
pytest 6.2.2
Comment 4 Matt Turner gentoo-dev 2021-03-30 17:17:45 UTC
>       dt = Timestamp("2100-01-01 00:00:00", tz=tz)
> ...
>       return time.localtime(timestamp + time.timezone).tm_isdst
> E     OverflowError: timestamp out of range for platform time_t

Looks like you're building on a 32-bit x86 system. time_t is probably 32-bit and thus is unable to represent a date of 2100.

>             assert q1 == q2
> E           assert 1.7000000000000002 == 1.7
> E             +1.7000000000000002
> E             -1.7

This sort of stuff looks like x87 floating-point precision differences. Basically unsolvable.
Comment 5 Thomas Deutschmann (RETIRED) gentoo-dev 2021-03-30 17:29:01 UTC
Yes, x86 (32bit).
Comment 6 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2021-03-30 19:03:53 UTC
I've tried to reproduce this in a 32-bit chroot, and something caused the OverflowErrors to be ignored.  I'm wondering why they aren't ignored on your system.
Comment 7 Matt Turner gentoo-dev 2021-03-30 19:31:22 UTC
Kernel version differences? https://lkml.org/lkml/2020/1/29/355 says

> As a result, linux-5.6, or my backport of the patches to 5.4 [1], should
> be the first release that can serve as a base for a 32-bit system designed
> to run beyond year 2038, with a few remaining caveats:
> 
> - All user space must be compiled with a 64-bit time_t, which will be
>   supported in the coming musl-1.2 and glibc-2.32 releases, along with
>   installed kernel headers from linux-5.6 or higher.

I see from Whissi's emerge --info that he's running v5.4.
Comment 8 Thomas Deutschmann (RETIRED) gentoo-dev 2021-03-31 10:13:25 UTC
That's why I am not a fan of running stabilization in chroots: You aren't running with all arch limitations. QEMU/type 2 hypervisor is minimum requirement for proper arch testing if you don't have access to the hardware.
Comment 9 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2021-03-31 10:15:41 UTC
(In reply to Matt Turner from comment #7)
> Kernel version differences? https://lkml.org/lkml/2020/1/29/355 says
> 
> > As a result, linux-5.6, or my backport of the patches to 5.4 [1], should
> > be the first release that can serve as a base for a 32-bit system designed
> > to run beyond year 2038, with a few remaining caveats:
> > 
> > - All user space must be compiled with a 64-bit time_t, which will be
> >   supported in the coming musl-1.2 and glibc-2.32 releases, along with
> >   installed kernel headers from linux-5.6 or higher.
> 
> I see from Whissi's emerge --info that he's running v5.4.

Doubt it.  The message explicitly said that the OverflowError did happen and the whole test was skipped because of it.
Comment 10 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2021-04-14 08:24:35 UTC
What's your dev-python/cython version?