You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Antoine Pitrou (Jira)" <ji...@apache.org> on 2021/02/17 16:42:00 UTC

[jira] [Commented] (ARROW-4133) [C++/Python] ORC adapter should fail gracefully if /etc/timezone is missing instead of aborting

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

Antoine Pitrou commented on ARROW-4133:
---------------------------------------

cc [~yingzhou474]

> [C++/Python] ORC adapter should fail gracefully if /etc/timezone is missing instead of aborting
> -----------------------------------------------------------------------------------------------
>
>                 Key: ARROW-4133
>                 URL: https://issues.apache.org/jira/browse/ARROW-4133
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++, Python
>            Reporter: Krisztian Szucs
>            Priority: Major
>              Labels: orc
>             Fix For: 4.0.0
>
>
> The following core was genereted by nightly build: https://travis-ci.org/kszucs/crossbow/builds/473397855
> {code}
> Core was generated by `/opt/conda/bin/python /opt/conda/bin/pytest -v --pyargs pyarrow'.
> Program terminated with signal SIGABRT, Aborted.
> #0  __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.
> [Current thread is 1 (Thread 0x7fea61f9e740 (LWP 179))]
> (gdb) bt
> #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
> #1  0x00007fea608c8801 in __GI_abort () at abort.c:79
> #2  0x00007fea4b3483df in __gnu_cxx::__verbose_terminate_handler ()
>     at /opt/conda/conda-bld/compilers_linux-64_1534514838838/work/.build/x86_64-conda_cos6-linux-gnu/src/gcc/libstdc++-v3/libsupc++/vterminate.cc:95
> #3  0x00007fea4b346b16 in __cxxabiv1::__terminate (handler=<optimized out>)
>     at /opt/conda/conda-bld/compilers_linux-64_1534514838838/work/.build/x86_64-conda_cos6-linux-gnu/src/gcc/libstdc++-v3/libsupc++/eh_terminate.cc:47
> #4  0x00007fea4b346b4c in std::terminate ()
>     at /opt/conda/conda-bld/compilers_linux-64_1534514838838/work/.build/x86_64-conda_cos6-linux-gnu/src/gcc/libstdc++-v3/libsupc++/eh_terminate.cc:57
> #5  0x00007fea4b346d28 in __cxxabiv1::__cxa_throw (obj=0x2039220,
>     tinfo=0x7fea494803d0 <typeinfo for orc::TimezoneError>,
>     dest=0x7fea49087e52 <orc::TimezoneError::~TimezoneError()>)
>     at /opt/conda/conda-bld/compilers_linux-64_1534514838838/work/.build/x86_64-conda_cos6-linux-gnu/src/gcc/libstdc++-v3/libsupc++/eh_throw.cc:95
> #6  0x00007fea49086824 in orc::getTimezoneByFilename (filename=...)
>     at /build/cpp/orc_ep-prefix/src/orc_ep/c++/src/Timezone.cc:704
> #7  0x00007fea490868d2 in orc::getLocalTimezone () at /build/cpp/orc_ep-prefix/src/orc_ep/c++/src/Timezone.cc:713                                                                                                                             #8  0x00007fea49063e59 in orc::RowReaderImpl::RowReaderImpl (this=0x204fe30, _contents=..., opts=...)
>     at /build/cpp/orc_ep-prefix/src/orc_ep/c++/src/Reader.cc:185
> #9  0x00007fea4906651e in orc::ReaderImpl::createRowReader (this=0x1fb41b0, opts=...)
>     at /build/cpp/orc_ep-prefix/src/orc_ep/c++/src/Reader.cc:630
> #10 0x00007fea48c2d904 in arrow::adapters::orc::ORCFileReader::Impl::ReadSchema (this=0x1270600, opts=...,                                                                                                                                        out=0x7ffe0ccae7b0) at /arrow/cpp/src/arrow/adapters/orc/adapter.cc:264
> #11 0x00007fea48c2e18d in arrow::adapters::orc::ORCFileReader::Impl::Read (this=0x1270600, out=0x7ffe0ccaea00)
>     at /arrow/cpp/src/arrow/adapters/orc/adapter.cc:302
> #12 0x00007fea48c2a8b9 in arrow::adapters::orc::ORCFileReader::Read (this=0x1e14d10, out=0x7ffe0ccaea00)
>     at /arrow/cpp/src/arrow/adapters/orc/adapter.cc:697                                                                                                                                                                                       #13 0x00007fea48218c9d in __pyx_pf_7pyarrow_4_orc_9ORCReader_12read (__pyx_v_self=0x7fea43de8688,
>     __pyx_v_include_indices=0x7fea61d07b70 <_Py_NoneStruct>) at _orc.cpp:3865
> #14 0x00007fea48218b31 in __pyx_pw_7pyarrow_4_orc_9ORCReader_13read (__pyx_v_self=0x7fea43de8688,
>     __pyx_args=0x7fea61f5e048, __pyx_kwds=0x7fea444f78b8) at _orc.cpp:3813
> #15 0x00007fea61910cbd in _PyCFunction_FastCallDict (func_obj=func_obj@entry=0x7fea444b9558,
>     args=args@entry=0x7fea44a40fa8, nargs=nargs@entry=0, kwargs=kwargs@entry=0x7fea444f78b8)
>     at Objects/methodobject.c:231
> #16 0x00007fea61910f16 in _PyCFunction_FastCallKeywords (func=func@entry=0x7fea444b9558,
>     stack=stack@entry=0x7fea44a40fa8, nargs=0, kwnames=kwnames@entry=0x7fea47d81d30) at Objects/methodobject.c:294
> #17 0x00007fea619aa0da in call_function (pp_stack=pp_stack@entry=0x7ffe0ccaecf0, oparg=<optimized out>,
>     kwnames=kwnames@entry=0x7fea47d81d30) at Python/ceval.c:4837
> #18 0x00007fea619abb46 in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>)
>     at Python/ceval.c:3351
> #19 0x00007fea619a9cde in _PyEval_EvalCodeWithName (_co=0x7fea47d9f6f0, globals=globals@entry=0x7fea47d9a750,
>     locals=locals@entry=0x0, args=<optimized out>, argcount=1, kwnames=0x0, kwargs=0x206b078, kwcount=0,
>     kwstep=kwstep@entry=1, defs=0x7fea47d81e98, defcount=defcount@entry=1, kwdefs=kwdefs@entry=0x0, closure=0x0,
>     name=name@entry=0x7fea61ee2ce0, qualname=0x7fea47dc9df0) at Python/ceval.c:4166]
> {code}
> Occured after commit https://github.com/apache/arrow/commit/c7cb1cee388bbfa890ce724f6a7a95991bd8eb1f
> Because ORC test was enabled: https://github.com/apache/arrow/commit/c7cb1cee388bbfa890ce724f6a7a95991bd8eb1f#diff-40c8affe619a826a115f8d07bfdcc095R31
> Locally reproduce with :
> {code}
> $ git checkout c7cb1cee388bbfa890ce724f6a7a95991bd8eb1f
> $ docker-compose build cpp
> $ docker-compose build python
> $ docker-compose run python bash
> # arrow/ci/docker_build_cpp.sh
> # arrow/ci/docker_build_python.sh
> # ulimit -c unlimited
> # pytest -v --pyargs pyarrow
> # apt-get install -y gdb
> # gdb python -c core
> # (gdb) bt
> {code}
> Solution is to properly setup timezone:
> {code}
> export DEBIAN_FRONTEND=noninteractive
> apt-get install -y tzdata
> {code}



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