jorisvandenbossche commented on issue #38626:
URL: https://github.com/apache/arrow/issues/38626#issuecomment-1801519523

   I can confirm the segfault, both with pyarrow 13.0 and main from a few days 
ago. The gdb bactrace:
   
   ```
   Thread 1 "python" received signal SIGSEGV, Segmentation fault.
   0x0000555555737cdc in new_threadstate (interp=0x0, init=init@entry=1) at 
/usr/local/src/conda/python-3.10.6/Python/pystate.c:616
   616  /usr/local/src/conda/python-3.10.6/Python/pystate.c: No such file or 
directory.
   (gdb) bt
   #0  0x0000555555737cdc in new_threadstate (interp=0x0, init=init@entry=1) at 
/usr/local/src/conda/python-3.10.6/Python/pystate.c:616
   #1  0x00005555555fa7ce in PyThreadState_New (interp=<optimized out>) at 
/usr/local/src/conda/python-3.10.6/Python/pystate.c:684
   #2  PyGILState_Ensure () at 
/usr/local/src/conda/python-3.10.6/Python/pystate.c:1504
   #3  0x00007ffff6d183f7 in arrow::py::PyAcquireGIL::acquire (this=<synthetic 
pointer>) at 
/home/joris/scipy/repos/arrow/python/pyarrow/src/arrow/python/common.h:115
   #4  arrow::py::PyAcquireGIL::acquire (this=<synthetic pointer>) at 
/home/joris/scipy/repos/arrow/python/pyarrow/src/arrow/python/common.h:113
   #5  arrow::py::PyAcquireGIL::PyAcquireGIL (this=<synthetic pointer>) at 
/home/joris/scipy/repos/arrow/python/pyarrow/src/arrow/python/common.h:109
   #6  arrow::py::OwnedRefNoGIL::~OwnedRefNoGIL (this=0x555555e35b38, 
__in_chrg=<optimized out>) at 
/home/joris/scipy/repos/arrow/python/pyarrow/src/arrow/python/common.h:233
   #7  arrow::py::OwnedRefNoGIL::~OwnedRefNoGIL (this=0x555555e35b38, 
__in_chrg=<optimized out>) at 
/home/joris/scipy/repos/arrow/python/pyarrow/src/arrow/python/common.h:227
   #8  arrow::py::PyExtensionType::~PyExtensionType (this=0x555555e35ac0, 
__in_chrg=<optimized out>) at 
/home/joris/scipy/repos/arrow/python/pyarrow/src/arrow/python/extension_type.h:31
   #9  arrow::py::PyExtensionType::~PyExtensionType (this=0x555555e35ac0, 
__in_chrg=<optimized out>) at 
/home/joris/scipy/repos/arrow/python/pyarrow/src/arrow/python/extension_type.h:31
   #10 0x00007ffff5684815 in 
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release 
(this=0x555555e79bc0)
       at 
/home/joris/miniconda3/envs/arrow-dev/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/shared_ptr_base.h:158
   #11 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count 
(this=0x555555e62a20, __in_chrg=<optimized out>)
       at 
/home/joris/miniconda3/envs/arrow-dev/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/shared_ptr_base.h:736
   #12 std::__shared_ptr<arrow::ExtensionType, 
(__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x555555e62a18, 
__in_chrg=<optimized out>)
       at 
/home/joris/miniconda3/envs/arrow-dev/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/shared_ptr_base.h:1188
   #13 std::shared_ptr<arrow::ExtensionType>::~shared_ptr (this=0x555555e62a18, 
__in_chrg=<optimized out>) at 
/home/joris/miniconda3/envs/arrow-dev/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/shared_ptr.h:121
   #14 std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const, std::shared_ptr<arrow::ExtensionType> >::~pair 
(this=0x555555e629f8, __in_chrg=<optimized out>)
       at 
/home/joris/miniconda3/envs/arrow-dev/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/stl_pair.h:211
   #15 
__gnu_cxx::new_allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char,
 std::char_traits<char>, std::allocator<char> > const, 
std::shared_ptr<arrow::ExtensionType> >, true> 
>::destroy<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const, std::shared_ptr<arrow::ExtensionType> > > 
(__p=0x555555e629f8, this=<optimized out>)
       at 
/home/joris/miniconda3/envs/arrow-dev/x86_64-conda-linux-gnu/include/c++/10.4.0/ext/new_allocator.h:162
   #16 
std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char,
 std::char_traits<char>, std::allocator<char> > const, 
std::shared_ptr<arrow::ExtensionType> >, true> > 
>::destroy<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const, std::shared_ptr<arrow::ExtensionType> > > 
(__p=0x555555e629f8, __a=...)
       at 
/home/joris/miniconda3/envs/arrow-dev/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/alloc_traits.h:531
   #17 
std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char,
 std::char_traits<char>, std::allocator<char> > const, 
std::shared_ptr<arrow::ExtensionType> >, true> > >::_M_deallocate_node 
(__n=0x555555e629f0, this=<optimized out>) at 
/home/joris/miniconda3/envs/arrow-dev/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/hashtable_policy.h:2054
   #18 
std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char,
 std::char_traits<char>, std::allocator<char> > const, 
std::shared_ptr<arrow::ExtensionType> >, true> > >::_M_deallocate_nodes 
(this=<optimized out>, __n=0x555555d68f00) at 
/home/joris/miniconda3/envs/arrow-dev/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/hashtable_policy.h:2076
   #19 std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
std::shared_ptr<arrow::ExtensionType> >, 
std::allocator<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
std::shared_ptr<arrow::ExtensionType> > >, std::__detail::_Select1st, 
std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, 
false, true> >::clear (this=0x555555e58450)
       at 
/home/joris/miniconda3/envs/arrow-dev/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/hashtable.h:2085
   #20 std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
std::shared_ptr<arrow::ExtensionType> >, 
std::allocator<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
std::shared_ptr<arrow::ExtensionType> > >, std::__detail::_Select1st, 
std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, 
false, true> >::~_Hashtable (this=0x555555e58450, __in_chrg=<optimized out>)
       at 
/home/joris/miniconda3/envs/arrow-dev/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/hashtable.h:1442
   #21 std::unordered_map<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, 
std::shared_ptr<arrow::ExtensionType>, 
std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >, 
std::allocator<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
std::shared_ptr<arrow::ExtensionType> > > >::~unordered_map 
(this=0x555555e58450, __in_chrg=<optimized out>)
       at 
/home/joris/miniconda3/envs/arrow-dev/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/unordered_map.h:102
   #22 arrow::ExtensionTypeRegistryImpl::~ExtensionTypeRegistryImpl 
(this=0x555555e58420, __in_chrg=<optimized out>) at 
/home/joris/scipy/repos/arrow/cpp/src/arrow/extension_type.cc:97
   #23 0x00007ffff5684a5a in 
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release 
(this=0x555555e58410)
       at 
/home/joris/miniconda3/envs/arrow-dev/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/shared_ptr_base.h:158
   #24 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count 
(this=<optimized out>, __in_chrg=<optimized out>)
       at 
/home/joris/miniconda3/envs/arrow-dev/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/shared_ptr_base.h:736
   #25 std::__shared_ptr<arrow::ExtensionTypeRegistry, 
(__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=<optimized out>, 
__in_chrg=<optimized out>)
       at 
/home/joris/miniconda3/envs/arrow-dev/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/shared_ptr_base.h:1188
   #26 std::shared_ptr<arrow::ExtensionTypeRegistry>::~shared_ptr 
(this=<optimized out>, __in_chrg=<optimized out>)
       at 
/home/joris/miniconda3/envs/arrow-dev/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/shared_ptr.h:121
   ```
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to