You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Joris Van den Bossche (Jira)" <ji...@apache.org> on 2021/01/11 20:06:00 UTC

[jira] [Commented] (ARROW-10472) [C++][Python] casting a scalar timestamp to date32 results in Aborted (core dump)

    [ https://issues.apache.org/jira/browse/ARROW-10472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17262915#comment-17262915 ] 

Joris Van den Bossche commented on ARROW-10472:
-----------------------------------------------

This seems to have been fixed in the meantime. Would be good to add a test for this to close this issue. 

> [C++][Python] casting a scalar timestamp to date32 results in Aborted (core dump)
> ---------------------------------------------------------------------------------
>
>                 Key: ARROW-10472
>                 URL: https://issues.apache.org/jira/browse/ARROW-10472
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++, Python
>    Affects Versions: 2.0.0
>         Environment: Ubuntu 18.04
>            Reporter: Taras Kuzyo
>            Priority: Minor
>             Fix For: 3.0.0
>
>
> Consider the following example: I have an array of timestamp[s]
> {code:java}
> >>> import pyarrow.compute as pc
> >>> import pyarrow as pa
> >>> arr = pc.strptime(['2020-11-01', '2020-11-02', '2020-11-03'], format='%Y-%m-%d', unit='s')
> >>> arr
> <pyarrow.lib.TimestampArray object at 0x7f1fc2ef4228>
> [
>  2020-11-01 00:00:00,
>  2020-11-02 00:00:00,
>  2020-11-03 00:00:00
> ]{code}
> I am able to cast the array to date32:
> {code:java}
> >>> pc.cast(arr, pa.date32())
> <pyarrow.lib.Date32Array object at 0x7f1fc2fd3588>
> [
>  2020-11-01,
>  2020-11-02,
>  2020-11-03
> ]{code}
> but when I try to do the same with a scalar I get core dumped failure
> {code:java}
> >>> arr[0]
> <pyarrow.TimestampScalar: datetime.datetime(2020, 11, 1, 0, 0)>
> >>> pc.cast(arr[0], pa.date32())
> terminate called after throwing an instance of 'mpark::bad_variant_access'
>  what(): bad_variant_access
> Aborted (core dumped) 
> {code}
>  Below is a stack trace from gdb
> {code:java}
> $ gdb /usr/bin/python3
> GNU gdb (Ubuntu 8.1-0ubuntu3.2) 8.1.0.20180409-git
> Copyright (C) 2018 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "x86_64-linux-gnu".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>.
> Find the GDB manual and other documentation resources online at:
> <http://www.gnu.org/software/gdb/documentation/>.
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> Reading symbols from /usr/bin/python3...(no debugging symbols found)...done.
> (gdb) run sample.py 
> Starting program: /usr/bin/python3 sample.py
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
> [New Thread 0x7ffff39ff700 (LWP 4314)]
> [New Thread 0x7fffebfff700 (LWP 4315)]
> [New Thread 0x7fffeb7fe700 (LWP 4316)]
> [New Thread 0x7fffe8ffd700 (LWP 4317)]
> [New Thread 0x7fffe47fc700 (LWP 4318)]
> [New Thread 0x7fffe1ffb700 (LWP 4319)]
> [New Thread 0x7fffdf7fa700 (LWP 4320)]
> [New Thread 0x7fffdcff9700 (LWP 4321)]
> [New Thread 0x7fffda7f8700 (LWP 4322)]
> [New Thread 0x7fffd7ff7700 (LWP 4323)]
> [New Thread 0x7fffd57f6700 (LWP 4324)]
> [New Thread 0x7fffd2ff5700 (LWP 4325)]
> [Thread 0x7fffd2ff5700 (LWP 4325) exited]
> [Thread 0x7fffd57f6700 (LWP 4324) exited]
> [Thread 0x7fffd7ff7700 (LWP 4323) exited]
> [Thread 0x7fffda7f8700 (LWP 4322) exited]
> [Thread 0x7fffdcff9700 (LWP 4321) exited]
> [Thread 0x7fffdf7fa700 (LWP 4320) exited]
> [Thread 0x7fffe1ffb700 (LWP 4319) exited]
> [Thread 0x7fffe47fc700 (LWP 4318) exited]
> [Thread 0x7fffe8ffd700 (LWP 4317) exited]
> [Thread 0x7fffeb7fe700 (LWP 4316) exited]
> [Thread 0x7fffebfff700 (LWP 4315) exited]
> terminate called after throwing an instance of 'mpark::bad_variant_access'
>   what():  bad_variant_access
> Thread 1 "python3" received signal SIGABRT, Aborted.
> __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
> 51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
> (gdb) backtrace 
> #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
> #1  0x00007ffff7a248b1 in __GI_abort () at abort.c:79
> #2  0x00007ffff477d957 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
> #3  0x00007ffff4783ae6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
> #4  0x00007ffff4783b21 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
> #5  0x00007ffff4783d54 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
> #6  0x00007ffff5104012 in mpark::throw_bad_variant_access() ()
>    from /usr/local/lib/python3.6/dist-packages/pyarrow/libarrow.so.200
> #7  0x00007ffff51e1f51 in arrow::compute::internal::CastFunctor<arrow::Date32Type, arrow::TimestampType, void>::Exec(arrow::compute::KernelContext*, arrow::compute::ExecBatch const&, arrow::Datum*) ()
>    from /usr/local/lib/python3.6/dist-packages/pyarrow/libarrow.so.200
> #8  0x00007ffff52ab5ab in arrow::compute::detail::ScalarExecutor::ExecuteBatch(arrow::compute::ExecBatch const&, arrow::compute::detail::ExecListener*) () from /usr/local/lib/python3.6/dist-packages/pyarrow/libarrow.so.200
> #9  0x00007ffff52abba1 in arrow::compute::detail::ScalarExecutor::Execute(std::vector<arrow::Datum, std::allocator<arrow::Datum> > const&, arrow::compute::detail::ExecListener*) ()
>    from /usr/local/lib/python3.6/dist-packages/pyarrow/libarrow.so.200
> #10 0x00007ffff529cfe6 in arrow::compute::Function::Execute(std::vector<arrow::Datum, std::allocator<arrow::Datum> > const&, arrow::compute::FunctionOptions const*, arrow::compute::ExecContext*) const [clone .localalias.47] ()
>    from /usr/local/lib/python3.6/dist-packages/pyarrow/libarrow.so.200
> #11 0x00007ffff52a5878 in arrow::compute::internal::CastMetaFunction::ExecuteImpl(std::vector<arrow::Datum, std::allocator<arrow::Datum> > const&, arrow::compute::FunctionOptions const*, arrow::compute::ExecContext*) const ()
>    from /usr/local/lib/python3.6/dist-packages/pyarrow/libarrow.so.200
> #12 0x00007ffff5299f8f in arrow::compute::MetaFunction::Execute(std::vector<arrow::Datum, std::allocator<arrow::Datum> > const&, arrow::compute::FunctionOptions const*, arrow::compute::ExecContext*) const [clone .localalias.48] ()
>    from /usr/local/lib/python3.6/dist-packages/pyarrow/libarrow.so.200
> #13 0x00007fffebb685a0 in __pyx_pf_7pyarrow_8_compute_8Function_6call(__pyx_obj_7pyarrow_8_compute_Function*, _object*, __pyx_obj_7pyarrow_8_compute_FunctionOptions*, __pyx_obj_7pyarrow_3lib_MemoryPool*) [clone .isra.455] ()
>    from /usr/local/lib/python3.6/dist-packages/pyarrow/_compute.cpython-36m-x86_64-linux-gnu.so
> #14 0x00007fffebb69309 in __pyx_pw_7pyarrow_8_compute_8Function_7call(_object*, _object*, _object*) ()
>    from /usr/local/lib/python3.6/dist-packages/pyarrow/_compute.cpython-36m-x86_64-linux-gnu.so
> #15 0x0000000000566f73 in PyCFunction_Call ()
> #16 0x00007fffebb5a855 in __Pyx_PyObject_Call(_object*, _object*, _object*) ()
>    from /usr/local/lib/python3.6/dist-packages/pyarrow/_compute.cpython-36m-x86_64-linux-gnu.so
> #17 0x00007fffebb6565a in __pyx_pw_7pyarrow_8_compute_7call_function(_object*, _object*, _object*) ()
>    from /usr/local/lib/python3.6/dist-packages/pyarrow/_compute.cpython-36m-x86_64-linux-gnu.so
> #18 0x000000000050a4a5 in ?? ()
> #19 0x000000000050beb4 in _PyEval_EvalFrameDefault ()
> #20 0x0000000000507be4 in ?? ()
> #21 0x0000000000509900 in ?? ()
> ---Type <return> to continue, or q <return> to quit---
> #22 0x000000000050a2fd in ?? ()
> #23 0x000000000050beb4 in _PyEval_EvalFrameDefault ()
> #24 0x0000000000507be4 in ?? ()
> #25 0x000000000050ad03 in PyEval_EvalCode ()
> #26 0x0000000000634e72 in ?? ()
> #27 0x0000000000634f27 in PyRun_FileExFlags ()
> #28 0x00000000006386df in PyRun_SimpleFileExFlags ()
> #29 0x0000000000639281 in Py_Main ()
> #30 0x00000000004b0dc0 in main ()
> (gdb) 
> {code}
>  



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