You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Tim Evans (Jira)" <ji...@apache.org> on 2021/03/18 01:45:00 UTC

[jira] [Created] (ARROW-12011) [Python] Crashes and incorrect results when converting large integers to dates

Tim Evans created ARROW-12011:
---------------------------------

             Summary: [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: 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


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)