-
Notifications
You must be signed in to change notification settings - Fork 4k
Description
Running this code snippet will cause a crash. This happens for a range of numbers around this one as well:
import pyarrow
date = pyarrow.array([-1448879500], pyarrow.date32())
print(date)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.
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 / @pitrou
Related issues:
- [C++] Audit uses of datetime formatting (relates to)
- [C++] Validate temporal data in ValidateArrayFull (relates to)
PRs and other links:
Note: This issue was originally created as ARROW-12011. Please see the migration documentation for further details.