Antoine Pitrou created ARROW-2259: ------------------------------------- Summary: [C++] importing pyarrow segfaults in boost_regex Key: ARROW-2259 URL: https://issues.apache.org/jira/browse/ARROW-2259 Project: Apache Arrow Issue Type: Bug Components: C++ Reporter: Antoine Pitrou
This is new (started on changeset bfac60dd73bffa5f7bcefc890486268036182278) and seems related to the use of boost_regex. I am building on Ubuntu 16.04 with the {{boost-cpp}} package from conda-forge. Here is the gdb backtrace: {code} #0 std::string::_Rep::_M_is_leaked (this=this@entry=0xffffffffffffffe8) at /home/msarahan/miniconda2/conda-bld/compilers_linux-64_1507259624353/work/.build/x86_64-conda_cos6-linux-gnu/build/build-cc-gcc-final/x86_64-conda_cos6-linux-gnu/libstdc++-v3/include/bits/basic_string.h:3075 #1 0x00007ffff1014856 in std::string::_Rep::_M_grab (this=0xffffffffffffffe8, __alloc1=..., __alloc2=...) at /home/msarahan/miniconda2/conda-bld/compilers_linux-64_1507259624353/work/.build/x86_64-conda_cos6-linux-gnu/build/build-cc-gcc-final/x86_64-conda_cos6-linux-gnu/libstdc++-v3/include/bits/basic_string.h:3126 #2 0x00007ffff101489d in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string (this=0x7fffffffa0e0, __str=...) at /home/msarahan/miniconda2/conda-bld/compilers_linux-64_1507259624353/work/.build/x86_64-conda_cos6-linux-gnu/build/build-cc-gcc-final/x86_64-conda_cos6-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:613 #3 0x00007ffff0a791fc in boost::re_detail_106600::cpp_regex_traits_char_layer<char>::init() () from /home/antoine/miniconda3/envs/pyarrow/bin/../lib/libboost_regex.so.1.66.0 #4 0x00007ffff0ac1803 in boost::object_cache<boost::re_detail_106600::cpp_regex_traits_base<char>, boost::re_detail_106600::cpp_regex_traits_implementation<char> >::do_get(boost::re_detail_106600::cpp_regex_traits_base<char> const&, unsigned long) () from /home/antoine/miniconda3/envs/pyarrow/bin/../lib/libboost_regex.so.1.66.0 #5 0x00007ffff0acb62b in boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int) () from /home/antoine/miniconda3/envs/pyarrow/bin/../lib/libboost_regex.so.1.66.0 #6 0x00007ffff182b6cb in boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::assign (this=0x7fffffffa700, p1=0x7ffff18a61e2 "(.*?)\\s*(?:(version\\s*(?:([^(]*?)\\s*(?:\\(\\s*build\\s*([^)]*?)\\s*\\))?)?)?)", p2=0x7ffff18a622a "", f=0) at /home/antoine/miniconda3/envs/pyarrow/include/boost/regex/v4/basic_regex.hpp:381 #7 0x00007ffff182b657 in boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::assign (this=0x7fffffffa700, p=0x7ffff18a61e2 "(.*?)\\s*(?:(version\\s*(?:([^(]*?)\\s*(?:\\(\\s*build\\s*([^)]*?)\\s*\\))?)?)?)", f=0) at /home/antoine/miniconda3/envs/pyarrow/include/boost/regex/v4/basic_regex.hpp:366 #8 0x00007ffff180e103 in boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::basic_regex (this=0x7fffffffa700, p=0x7ffff18a61e2 "(.*?)\\s*(?:(version\\s*(?:([^(]*?)\\s*(?:\\(\\s*build\\s*([^)]*?)\\s*\\))?)?)?)", f=0) at /home/antoine/miniconda3/envs/pyarrow/include/boost/regex/v4/basic_regex.hpp:335 #9 0x00007ffff180b430 in parquet::ApplicationVersion::ApplicationVersion (this=0x7ffff1b98bf8 <parquet::ApplicationVersion::PARQUET_251_FIXED_VERSION>, created_by=...) at /home/antoine/parquet-cpp/src/parquet/metadata.cc:452 #10 0x00007ffff16bfa21 in __cxx_global_var_init.1(void) () at /home/antoine/parquet-cpp/src/parquet/metadata.cc:35 #11 0x00007ffff16bfbfe in _GLOBAL__sub_I_metadata.stdout.fsol.16106.d9N3Ps.ii () from /home/antoine/miniconda3/envs/pyarrow/bin/../lib/libparquet.so.1 #12 0x00007ffff7de76ba in call_init (l=<optimized out>, argc=argc@entry=3, argv=argv@entry=0x7fffffffd7b8, env=env@entry=0x7fffffffd7d8) at dl-init.c:72 #13 0x00007ffff7de77cb in call_init (env=0x7fffffffd7d8, argv=0x7fffffffd7b8, argc=3, l=<optimized out>) at dl-init.c:30 #14 _dl_init (main_map=main_map@entry=0x8acbb0, argc=3, argv=0x7fffffffd7b8, env=0x7fffffffd7d8) at dl-init.c:120 #15 0x00007ffff7dec8e2 in dl_open_worker (a=a@entry=0x7fffffffaa90) at dl-open.c:575 #16 0x00007ffff7de7564 in _dl_catch_error (objname=objname@entry=0x7fffffffaa80, errstring=errstring@entry=0x7fffffffaa88, mallocedp=mallocedp@entry=0x7fffffffaa7f, operate=operate@entry=0x7ffff7dec4d0 <dl_open_worker>, args=args@entry=0x7fffffffaa90) at dl-error.c:187 #17 0x00007ffff7debda9 in _dl_open (file=0x7ffff6238ae0 "/home/antoine/arrow/python/pyarrow/lib.cpython-36m-x86_64-linux-gnu.so", mode=-2147483646, caller_dlopen=0x7ffff7a53e21 <_PyImport_FindSharedFuncptr+417>, nsid=-2, argc=<optimized out>, argv=<optimized out>, env=0x7fffffffd7d8) at dl-open.c:660 #18 0x00007ffff747bf09 in dlopen_doit (a=a@entry=0x7fffffffacc0) at dlopen.c:66 #19 0x00007ffff7de7564 in _dl_catch_error (objname=0x632e00, errstring=0x632e08, mallocedp=0x632df8, operate=0x7ffff747beb0 <dlopen_doit>, args=0x7fffffffacc0) at dl-error.c:187 #20 0x00007ffff747c571 in _dlerror_run (operate=operate@entry=0x7ffff747beb0 <dlopen_doit>, args=args@entry=0x7fffffffacc0) at dlerror.c:163 #21 0x00007ffff747bfa1 in __dlopen (file=file@entry=0x7ffff6238ae0 "/home/antoine/arrow/python/pyarrow/lib.cpython-36m-x86_64-linux-gnu.so", mode=<optimized out>) at dlopen.c:87 #22 0x00007ffff7a53e21 in _PyImport_FindSharedFuncptr (prefix=prefix@entry=0x7ffff7add326 "PyInit", shortname=shortname@entry=0x7ffff2d887a8 "lib", pathname=pathname@entry=0x7ffff6238ae0 "/home/antoine/arrow/python/pyarrow/lib.cpython-36m-x86_64-linux-gnu.so", fp=fp@entry=0x0) at ./Python/dynload_shlib.c:95 [...] {code} [~cpcloud] -- This message was sent by Atlassian JIRA (v7.6.3#76005)