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

Uwe L. Korn commented on ARROW-2245:
------------------------------------

Switching the linkage back to dynamic makes the import of {{pyarrow.parquet}} 
segfault:
{code:java}
#0 0x00007f4906e32928 in std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >::basic_string(std::basic_string<char, 
std::char_traits<char>,
std::allocator<char> > const&) () from /usr/lib64/libstdc++.so.6
(gdb) bt
#0 0x00007f4906e32928 in std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >::basic_string(std::basic_string<char, 
std::char_traits<char>,
std::allocator<char> > const&) () from /usr/lib64/libstdc++.so.6
#1 0x00007f49074555bc in 
boost::re_detail_106501::cpp_regex_traits_char_layer<char>::init() () from 
/arrow/python/pyarrow/libparquet.so.1
#2 0x00007f4907446ed3 in 
boost::object_cache<boost::re_detail_106501::cpp_regex_traits_base<char>, 
boost::re_detail_106501::cpp_regex_traits_implementation<c
har> >::do_get(boost::re_detail_106501::cpp_regex_traits_base<char> const&, 
unsigned long) () from /arrow/python/pyarrow/libparquet.so.1
#3 0x00007f4907453663 in boost::basic_regex<char, boost::regex_traits<char, 
boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned 
i
nt) () from /arrow/python/pyarrow/libparquet.so.1
#4 0x00007f49073e8e5d in 
parquet::ApplicationVersion::ApplicationVersion(std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&) ()
from /arrow/python/pyarrow/libparquet.so.1
#5 0x00007f490735fa00 in _GLOBAL__sub_I_metadata.cc () from 
/arrow/python/pyarrow/libparquet.so.1
#6 0x00007f490ff7d4f3 in call_init () from /lib64/ld-linux-x86-64.so.2
#7 0x00007f490ff7d5b5 in _dl_init_internal () from /lib64/ld-linux-x86-64.so.2
#8 0x00007f490ff81054 in dl_open_worker () from /lib64/ld-linux-x86-64.so.2
#9 0x00007f490ff7d136 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
#10 0x00007f490ff808bc in _dl_open () from /lib64/ld-linux-x86-64.so.2
#11 0x00007f490fb50f9a in dlopen_doit () from /lib64/libdl.so.2
#12 0x00007f490ff7d136 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
#13 0x00007f490fb5150d in _dlerror_run () from /lib64/libdl.so.2
#14 0x00007f490fb50f11 in dlopen@@GLIBC_2.2.5 () from /lib64/libdl.so.2
#15 0x00000000004faf6c in _PyImport_GetDynLoadFunc ()
#16 0x00000000004d4b7e in _PyImport_LoadDynamicModule ()
#17 0x00000000004d2227 in ?? ()
#18 0x00000000004d332e in PyImport_ImportModuleLevel ()
#19 0x00000000004af4db in ?? ()
#20 0x0000000000422f8a in PyObject_Call ()
#21 0x00000000004b547b in PyEval_EvalFrameEx ()
#22 0x00000000004ba978 in PyEval_EvalCodeEx ()
#23 0x00000000004baaa2 in PyEval_EvalCode ()
#24 0x00000000004d1048 in PyImport_ExecCodeModuleEx ()
#25 0x00000000004d1396 in ?? (){code}

> [Python] Revert static linkage of parquet-cpp in manylinux1 wheel
> -----------------------------------------------------------------
>
>                 Key: ARROW-2245
>                 URL: https://issues.apache.org/jira/browse/ARROW-2245
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: Python
>            Reporter: Uwe L. Korn
>            Assignee: Uwe L. Korn
>            Priority: Major
>             Fix For: 0.9.0
>
>
> Although we are not in a theoretical way the authoritative source of 
> parquet-cpp with the pyarrow manylinux1 wheel, in practical way we actually 
> are this and statically linking parquet-cpp can introduce some problems that 
> dynamically linking it does not (e.g. duplicate unloading of the library if 
> you include it in a Python wheel and in the process that creates the Python 
> interpreter). 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to