You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@arrow.apache.org by "Wes McKinney (JIRA)" <ji...@apache.org> on 2016/07/01 22:56:11 UTC

[jira] [Commented] (ARROW-220) Pyarrow installed through conda segfaults on import

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

Wes McKinney commented on ARROW-220:
------------------------------------

At this moment, I am seeing on my system:

{code}
$ python -c 'import pyarrow.parquet'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/wesm/anaconda3/envs/test_pyarrow/lib/python2.7/site-packages/pyarrow/../../.././libparquet.so)
{code}

I'm on Ubuntu 14.04, where gcc 4.8 is the default library. This will be solved by statically linking libstdc++ (since we are building with gcc 4.9 in Travis CI) -- I'm going to try adding the static linking again now that PARQUET-489 has been taken care of (so there will be fewer symbol conflicts) to see if we can get a working conda dev build.

The longer term solution here is to move our conda artifact builds to centos6/rhel6 with the devtoolset. See for example:

https://github.com/conda-forge/docker-images/blob/master/linux-anvil/Dockerfile

We might even put the builds on conda-forge so we can post "stable" dev builds (not actually official releases). 

> Pyarrow installed through conda segfaults on import
> ---------------------------------------------------
>
>                 Key: ARROW-220
>                 URL: https://issues.apache.org/jira/browse/ARROW-220
>             Project: Apache Arrow
>          Issue Type: Bug
>            Reporter: Artem Tarasov
>              Labels: python
>
> Operating system: Linux
> Steps to reproduce:
> {noformat}
> conda create -y -n test_pyarrow python=2.7
> source activate test_pyarrow
> conda install -y -c apache/label/dev pyarrow
> python -c 'import pyarrow.parquet'
> {noformat}
> Fails with
> {noformat}
> *** Error in `python': free(): invalid pointer: 0x00007f275a09bbc0 ***
> Aborted
> {noformat}
> Full backtrace from running python under GDB:
> {noformat}
> #0  0x00007ffff6d39cc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
> #1  0x00007ffff6d3d0d8 in __GI_abort () at abort.c:89
> #2  0x00007ffff6d76394 in __libc_message (do_abort=do_abort@entry=1, fmt=fmt@entry=0x7ffff6e84b28 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175
> #3  0x00007ffff6d8266e in malloc_printerr (ptr=<optimized out>, str=0x7ffff6e80c19 "free(): invalid pointer", action=1) at malloc.c:4996
> #4  _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:3840
> #5  0x00007fffec08f640 in _M_dispose (__a=..., this=<optimized out>) at /usr/include/c++/4.9/bits/basic_string.h:249
> #6  ~basic_string (this=0x7fffffffd1a0, __in_chrg=<optimized out>) at /usr/include/c++/4.9/bits/basic_string.h:547
> #7  __gnu_cxx::new_allocator<arrow::Field>::construct<arrow::Field<char const (&) [1], std::shared_ptr<arrow::UInt8Type> const&> > (this=<optimized out>, __p=0x7163d0)
>     at /usr/include/c++/4.9/ext/new_allocator.h:120
> #8  0x00007fffec0854a6 in _S_construct<arrow::Field, char const (&) [1], std::shared_ptr<arrow::UInt8Type> const&> (__p=0x7163d0, __a=...) at /usr/include/c++/4.9/bits/alloc_traits.h:253
> #9  construct<arrow::Field, char const (&) [1], std::shared_ptr<arrow::UInt8Type> const&> (__p=0x7163d0, __a=...) at /usr/include/c++/4.9/bits/alloc_traits.h:399
> #10 _Sp_counted_ptr_inplace<char const (&) [1], std::shared_ptr<arrow::UInt8Type> const&> (__a=..., this=0x7163c0) at /usr/include/c++/4.9/bits/shared_ptr_base.h:515
> #11 construct<std::_Sp_counted_ptr_inplace<arrow::Field, std::allocator<arrow::Field>, (__gnu_cxx::_Lock_policy)2>, std::allocator<arrow::Field> const, char const (&) [1], std::shared_ptr<arrow::UInt8Type> const&> (__p=0x7163c0, this=<synthetic pointer>) at /usr/include/c++/4.9/ext/new_allocator.h:120
> #12 _S_construct<std::_Sp_counted_ptr_inplace<arrow::Field, std::allocator<arrow::Field>, (__gnu_cxx::_Lock_policy)2>, std::allocator<arrow::Field> const, char const (&) [1], std::shared_ptr<arrow::UInt8Type> const&> (__p=<optimized out>, __a=<synthetic pointer>) at /usr/include/c++/4.9/bits/alloc_traits.h:253
> #13 construct<std::_Sp_counted_ptr_inplace<arrow::Field, std::allocator<arrow::Field>, (__gnu_cxx::_Lock_policy)2>, std::allocator<arrow::Field> const, char const (&) [1], std::shared_ptr<arrow::UInt8Type> const&> (__p=<optimized out>, __a=<synthetic pointer>) at /usr/include/c++/4.9/bits/alloc_traits.h:399
> #14 __shared_count<arrow::Field, std::allocator<arrow::Field>, char const (&) [1], std::shared_ptr<arrow::UInt8Type> const&> (__a=..., this=0x7fffffffd1f8) at /usr/include/c++/4.9/bits/shared_ptr_base.h:619
> #15 __shared_ptr<std::allocator<arrow::Field>, char const (&) [1], std::shared_ptr<arrow::UInt8Type> const&> (__a=..., __tag=..., this=0x7fffffffd1f0) at /usr/include/c++/4.9/bits/shared_ptr_base.h:1090
> #16 shared_ptr<std::allocator<arrow::Field>, char const (&) [1], std::shared_ptr<arrow::UInt8Type> const&> (__a=..., __tag=..., this=0x7fffffffd1f0) at /usr/include/c++/4.9/bits/shared_ptr.h:316
> #17 allocate_shared<arrow::Field, std::allocator<arrow::Field>, char const (&) [1], std::shared_ptr<arrow::UInt8Type> const&> (__a=...) at /usr/include/c++/4.9/bits/shared_ptr.h:588
> #18 make_shared<arrow::Field, char const (&) [1], std::shared_ptr<arrow::UInt8Type> const&> () at /usr/include/c++/4.9/bits/shared_ptr.h:604
> #19 __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at /home/travis/build/apache/arrow/cpp/src/arrow/parquet/schema.cc:50
> #20 _GLOBAL__sub_I_schema.cc(void) () at /home/travis/build/apache/arrow/cpp/src/arrow/parquet/schema.cc:306
> #21 0x00007ffff7dea13a in call_init (l=<optimized out>, argc=argc@entry=3, argv=argv@entry=0x7fffffffe0d8, env=env@entry=0x749b80) at dl-init.c:78
> #22 0x00007ffff7dea223 in call_init (env=<optimized out>, argv=<optimized out>, argc=<optimized out>, l=<optimized out>) at dl-init.c:36
> #23 _dl_init (main_map=main_map@entry=0x9f5660, argc=3, argv=0x7fffffffe0d8, env=0x749b80) at dl-init.c:126
> #24 0x00007ffff7deec70 in dl_open_worker (a=a@entry=0x7fffffffd4b8) at dl-open.c:577
> #25 0x00007ffff7de9ff4 in _dl_catch_error (objname=objname@entry=0x7fffffffd4a8, errstring=errstring@entry=0x7fffffffd4b0, mallocedp=mallocedp@entry=0x7fffffffd4a0, 
>     operate=operate@entry=0x7ffff7dee9a0 <dl_open_worker>, args=args@entry=0x7fffffffd4b8) at dl-error.c:187
> #26 0x00007ffff7dee3bb in _dl_open (file=0x71f590 "/home/lomereiter/miniconda2/envs/test_pyarrow/lib/python2.7/site-packages/pyarrow/parquet.so", mode=-2147483646, caller_dlopen=<optimized out>, nsid=-2, 
>     argc=3, argv=0x7fffffffe0d8, env=0x749b80) at dl-open.c:661
> #27 0x00007ffff75d202b in dlopen_doit (a=a@entry=0x7fffffffd6d0) at dlopen.c:66
> #28 0x00007ffff7de9ff4 in _dl_catch_error (objname=0x625d90, errstring=0x625d98, mallocedp=0x625d88, operate=0x7ffff75d1fd0 <dlopen_doit>, args=0x7fffffffd6d0) at dl-error.c:187
> #29 0x00007ffff75d262d in _dlerror_run (operate=operate@entry=0x7ffff75d1fd0 <dlopen_doit>, args=args@entry=0x7fffffffd6d0) at dlerror.c:163
> #30 0x00007ffff75d20c1 in __dlopen (file=<optimized out>, mode=<optimized out>) at dlopen.c:87
> #31 0x00007ffff7b22dde in _PyImport_GetDynLoadFunc (fqname=<optimized out>, shortname=<optimized out>, 
>     pathname=0x71f590 "/home/lomereiter/miniconda2/envs/test_pyarrow/lib/python2.7/site-packages/pyarrow/parquet.so", fp=0x704920) at Python/dynload_shlib.c:130
> #32 0x00007ffff7b078d8 in _PyImport_LoadDynamicModule (name=0x6b6fe0 "pyarrow.parquet", pathname=0x71f590 "/home/lomereiter/miniconda2/envs/test_pyarrow/lib/python2.7/site-packages/pyarrow/parquet.so", 
>     fp=0x704920) at ./Python/importdl.c:42
> #33 0x00007ffff7b05f81 in import_submodule (mod=0x7ffff7e82b08, subname=0x6b6fe8 "parquet", fullname=0x6b6fe0 "pyarrow.parquet") at Python/import.c:2704
> #34 0x00007ffff7b061f4 in load_next (mod=0x7ffff7e82b08, altmod=0x7ffff7e82b08, p_name=<optimized out>, buf=0x6b6fe0 "pyarrow.parquet", p_buflen=0x7fffffffdb00) at Python/import.c:2519
> #35 0x00007ffff7b06860 in import_module_level (level=<optimized out>, fromlist=0x7ffff7da3cd0 <_Py_NoneStruct>, locals=<optimized out>, globals=<optimized out>, name=0x0) at Python/import.c:2236
> #36 PyImport_ImportModuleLevel (name=<optimized out>, globals=<optimized out>, locals=<optimized out>, fromlist=0x7ffff7da3cd0 <_Py_NoneStruct>, level=<optimized out>) at Python/import.c:2292
> #37 0x00007ffff7ae614f in builtin___import__ (self=<optimized out>, args=<optimized out>, kwds=<optimized out>) at Python/bltinmodule.c:49
> #38 0x00007ffff7a3cd23 in PyObject_Call (func=0x7ffff7fb6fc8, arg=<optimized out>, kw=<optimized out>) at Objects/abstract.c:2546
> #39 0x00007ffff7ae6633 in PyEval_CallObjectWithKeywords (func=0x7ffff7fb6fc8, arg=0x7ffff7e9ff70, kw=<optimized out>) at Python/ceval.c:4219
> #40 0x00007ffff7aeb29e in PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2622
> ---Type <return> to continue, or q <return> to quit---
> #41 0x00007ffff7af0a2e in PyEval_EvalCodeEx (co=0x7ffff7eb6e30, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0)
>     at Python/ceval.c:3582
> #42 0x00007ffff7af0b42 in PyEval_EvalCode (co=<optimized out>, globals=<optimized out>, locals=<optimized out>) at Python/ceval.c:669
> #43 0x00007ffff7b0f5cc in run_mod (arena=0x641360, flags=<optimized out>, locals=0x7ffff7f58168, globals=0x7ffff7f58168, filename=0x7ffff7b3f7ed "<string>", mod=<optimized out>) at Python/pythonrun.c:1370
> #44 PyRun_StringFlags (str=0x601010 "import pyarrow.parquet\n", start=257, globals=0x7ffff7f58168, locals=0x7ffff7f58168, flags=<optimized out>) at Python/pythonrun.c:1333
> #45 0x00007ffff7b108f0 in PyRun_SimpleStringFlags (command=0x601010 "import pyarrow.parquet\n", flags=0x7fffffffdfb0) at Python/pythonrun.c:974
> #46 0x00007ffff7b26457 in Py_Main (argc=<optimized out>, argv=<optimized out>) at Modules/main.c:589
> #47 0x00007ffff6d24ec5 in __libc_start_main (main=0x400710 <main>, argc=3, argv=0x7fffffffe0d8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe0c8)
>     at libc-start.c:287
> #48 0x0000000000400649 in _start ()
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)