You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2020/09/22 14:56:00 UTC

[jira] [Updated] (ARROW-10054) [C++] Slice methods should return empty arrays instead of crashing

     [ https://issues.apache.org/jira/browse/ARROW-10054?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ASF GitHub Bot updated ARROW-10054:
-----------------------------------
    Labels: pull-request-available  (was: )

> [C++] Slice methods should return empty arrays instead of crashing
> ------------------------------------------------------------------
>
>                 Key: ARROW-10054
>                 URL: https://issues.apache.org/jira/browse/ARROW-10054
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: C++
>    Affects Versions: 1.0.1
>            Reporter: David Li
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> This crashes because of a CHECK assert. However, it's surprising to Python users who would expect an empty slice, or at least an exception.
> {code:java}
> >>> import pyarrow as pa
> >>> table = pa.table([[1,2,3], [4,5,6]], names=["a", "b"])
> >>> table.slice(4, 5)
> /arrow/cpp/src/arrow/chunked_array.cc:122:  Check failed: (offset) <= (length_) Slice offset greater than array length
> /home/lidavidm/Code/twosigma/arrow/venv2/lib/python3.8/site-packages/pyarrow/libarrow.so.200(+0x550e68)[0x7fe2dead1e68]
> /home/lidavidm/Code/twosigma/arrow/venv2/lib/python3.8/site-packages/pyarrow/libarrow.so.200(_ZN5arrow4util8ArrowLogD1Ev+0xdd)[0x7fe2dead27dd]
> /home/lidavidm/Code/twosigma/arrow/venv2/lib/python3.8/site-packages/pyarrow/libarrow.so.200(_ZNK5arrow12ChunkedArray5SliceEll+0x634)[0x7fe2debdfdd4]
> /home/lidavidm/Code/twosigma/arrow/venv2/lib/python3.8/site-packages/pyarrow/libarrow.so.200(_ZNK5arrow11SimpleTable5SliceEll+0x64)[0x7fe2deb798e4]
> /home/lidavidm/Code/twosigma/arrow/venv2/lib/python3.8/site-packages/pyarrow/lib.cpython-38-x86_64-linux-gnu.so(+0x168425)[0x7fe2dfb5a425]
> /usr/lib/libpython3.8.so.1.0(+0x130ed5)[0x7fe2e08feed5]
> /usr/lib/libpython3.8.so.1.0(_PyEval_EvalFrameDefault+0x761)[0x7fe2e08ecac1]
> /usr/lib/libpython3.8.so.1.0(_PyEval_EvalCodeWithName+0x304)[0x7fe2e08eb044]
> /usr/lib/libpython3.8.so.1.0(PyEval_EvalCode+0x23)[0x7fe2e099c3a3]
> /usr/lib/libpython3.8.so.1.0(+0x1d9c18)[0x7fe2e09a7c18]
> /usr/lib/libpython3.8.so.1.0(+0x1d3e33)[0x7fe2e09a1e33]
> /usr/lib/libpython3.8.so.1.0(+0x10151a)[0x7fe2e08cf51a]
> /usr/lib/libpython3.8.so.1.0(PyRun_InteractiveLoopFlags+0xee)[0x7fe2e08d07ff]
> /usr/lib/libpython3.8.so.1.0(PyRun_AnyFileExFlags+0x3e)[0x7fe2e086b08e]
> /usr/lib/libpython3.8.so.1.0(+0x89ca3)[0x7fe2e0857ca3]
> /usr/lib/libpython3.8.so.1.0(Py_BytesMain+0x39)[0x7fe2e0990c59]
> /usr/lib/libc.so.6(__libc_start_main+0xf2)[0x7fe2e062d152]
> python(_start+0x2e)[0x5611f54b104e]
>  {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)