[ https://issues.apache.org/jira/browse/ARROW-12011?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Antoine Pitrou resolved ARROW-12011. ------------------------------------ Resolution: Fixed Issue resolved by pull request 10988 [https://github.com/apache/arrow/pull/10988] > [C++][Python] Crashes and incorrect results when converting large integers to > dates > ----------------------------------------------------------------------------------- > > Key: ARROW-12011 > URL: https://issues.apache.org/jira/browse/ARROW-12011 > Project: Apache Arrow > Issue Type: Bug > Components: C++, Python > Affects Versions: 3.0.0 > Environment: OS: Windows 10 Pro (Version 20H2) > CPU: AMD Ryzen 5 1600 Six-Core Processor 3.20 GHz > Python: 3.8.8 AMD64 > pyarrow is latest version installed with pip > Reporter: Tim Evans > Assignee: Antoine Pitrou > Priority: Major > Labels: pull-request-available > Fix For: 5.0.1, 6.0.0 > > Time Spent: 3h 10m > Remaining Estimate: 0h > > Running this code snippet will cause a crash. This happens for a range of > numbers around this one as well: > > {code:java} > import pyarrow > date = pyarrow.array([-1448879500], pyarrow.date32()) > print(date) > {code} > I don't know where this crash is coming from, so it might be in the C++ code > rather than the Python bindings. > For other extreme numbers you get the wrong result. It looks like something > is overflowing. Here is the input and result for a few different examples: > * -2000000000 -> 31179-12-27 > * -1000000000 -> 16574-12-29 > * 2000000000 -> -27240-01-06 > * 1000000000 -> -12635-01-03 > I would prefer if these gave errors rather than silently overflowing. > -- This message was sent by Atlassian Jira (v8.3.4#803005)