westonpace commented on PR #39216:
URL: https://github.com/apache/arrow/pull/39216#issuecomment-1865209184

   I believe I can reproduce the flaky test failure and get the following 
backtrace:
   
   ```
   Thread 20 "python" received signal SIGSEGV, Segmentation fault.
   [Switching to Thread 0x7fff59d58640 (LWP 58788)]
   0x00007ffff5cc8dc7 in aesni_encrypt () from 
/home/pace/miniconda3/envs/conbench3/lib/python3.11/lib-dynload/../../libcrypto.so.3
   (gdb) bt
   #0  0x00007ffff5cc8dc7 in aesni_encrypt () from 
/home/pace/miniconda3/envs/conbench3/lib/python3.11/lib-dynload/../../libcrypto.so.3
   #1  0x00007ffff5ecbf4d in CRYPTO_gcm128_decrypt_ctr32 () from 
/home/pace/miniconda3/envs/conbench3/lib/python3.11/lib-dynload/../../libcrypto.so.3
   #2  0x00007ffff5f7bcf6 in generic_aes_gcm_cipher_update () from 
/home/pace/miniconda3/envs/conbench3/lib/python3.11/lib-dynload/../../libcrypto.so.3
   #3  0x00007ffff5fc88f9 in gcm_cipher_internal () from 
/home/pace/miniconda3/envs/conbench3/lib/python3.11/lib-dynload/../../libcrypto.so.3
   #4  0x00007ffff5fc93ac in ossl_gcm_stream_update () from 
/home/pace/miniconda3/envs/conbench3/lib/python3.11/lib-dynload/../../libcrypto.so.3
   #5  0x00007ffff5de2a6f in EVP_DecryptUpdate () from 
/home/pace/miniconda3/envs/conbench3/lib/python3.11/lib-dynload/../../libcrypto.so.3
   #6  0x00007fffe5f2fc31 in 
parquet::encryption::AesDecryptor::AesDecryptorImpl::GcmDecrypt 
(this=0x555556b22fa0, ciphertext=0x7fff4802ac84 "*", ciphertext_len=46, 
       key=0x555556035d90 
"\017\341sn\f\020\332M;٭\266\005\357@k\312\001\205\021\022a]w\367(-ڣ\334", 
<incomplete sequence \322>, key_len=32, aad=0x555556c7caa0 
"h\320\177\331\325:Vl\004", aad_len=13, 
       plaintext=0x7fff44001180 "\274") at 
/home/pace/dev/arrow/cpp/src/parquet/encryption/encryption_internal.cc:499
   #7  0x00007fffe5f30b23 in 
parquet::encryption::AesDecryptor::AesDecryptorImpl::Decrypt 
(this=0x555556b22fa0, ciphertext=0x7fff4802ac84 "*", ciphertext_len=0, 
       key=0x555556035d90 
"\017\341sn\f\020\332M;٭\266\005\357@k\312\001\205\021\022a]w\367(-ڣ\334", 
<incomplete sequence \322>, key_len=32, aad=0x555556c7caa0 
"h\320\177\331\325:Vl\004", aad_len=13, 
       plaintext=0x7fff44001180 "\274") at 
/home/pace/dev/arrow/cpp/src/parquet/encryption/encryption_internal.cc:590
   #8  0x00007fffe5f2e0f2 in parquet::encryption::AesDecryptor::Decrypt 
(this=0x5555569d4720, plaintext=0x7fff4802ac84 "*", plaintext_len=0, 
       key=0x555556035d90 
"\017\341sn\f\020\332M;٭\266\005\357@k\312\001\205\021\022a]w\367(-ڣ\334", 
<incomplete sequence \322>, key_len=32, aad=0x555556c7caa0 
"h\320\177\331\325:Vl\004", aad_len=13, 
       ciphertext=0x7fff44001180 "\274") at 
/home/pace/dev/arrow/cpp/src/parquet/encryption/encryption_internal.cc:356
   #9  0x00007fffe5be6a1b in parquet::Decryptor::Decrypt (this=0x555556c7ca40, 
ciphertext=0x7fff4802ac84 "*", ciphertext_len=0, plaintext=0x7fff44001180 
"\274")
       at 
/home/pace/dev/arrow/cpp/src/parquet/encryption/internal_file_decryptor.cc:40
   #10 0x00007fffe5921b1f in 
parquet::ThriftDeserializer::DeserializeMessage<parquet::format::PageHeader> 
(this=0x7fff59d57438, buf=0x7fff4802ac84 "*", len=0x7fff59d573f0, 
deserialized_msg=0x7fff4c002688, 
       decryptor=0x555556c7ca40) at 
/home/pace/dev/arrow/cpp/src/parquet/thrift_internal.h:420
   #11 0x00007fffe582b25e in parquet::(anonymous 
namespace)::SerializedPageReader::NextPage (this=0x7fff4c002620) at 
/home/pace/dev/arrow/cpp/src/parquet/column_reader.cc:449
   #12 0x00007fffe58d8b57 in parquet::(anonymous 
namespace)::ColumnReaderImplBase<parquet::PhysicalType<(parquet::Type::type)2> 
>::ReadNewPage (this=0x7fff4c001aa8)
       at /home/pace/dev/arrow/cpp/src/parquet/column_reader.cc:720
   #13 0x00007fffe58ae61c in parquet::(anonymous 
namespace)::ColumnReaderImplBase<parquet::PhysicalType<(parquet::Type::type)2> 
>::HasNextInternal (this=0x7fff4c001aa8)
       at /home/pace/dev/arrow/cpp/src/parquet/column_reader.cc:700
   #14 0x00007fffe5884017 in parquet::internal::(anonymous 
namespace)::TypedRecordReader<parquet::PhysicalType<(parquet::Type::type)2> 
>::ReadRecords (this=0x7fff4c001aa0, num_records=6)
       at /home/pace/dev/arrow/cpp/src/parquet/column_reader.cc:1389
   #15 0x00007fffe56185d7 in parquet::arrow::(anonymous 
namespace)::LeafReader::LoadBatch (this=0x5555569ede00, records_to_read=6) at 
/home/pace/dev/arrow/cpp/src/parquet/arrow/reader.cc:482
   #16 0x00007fffe564c33a in parquet::arrow::ColumnReaderImpl::NextBatch 
(this=0x5555569ede00, batch_size=6, out=0x7fff59d57a30) at 
/home/pace/dev/arrow/cpp/src/parquet/arrow/reader.cc:109
   #17 0x00007fffe5614a49 in parquet::arrow::(anonymous 
namespace)::FileReaderImpl::ReadColumn (this=0x55555693c2e0, i=0, 
row_groups=std::vector of length 1, capacity 1 = {...}, reader=0x5555569ede00, 
       out=0x7fff59d57a30) at 
/home/pace/dev/arrow/cpp/src/parquet/arrow/reader.cc:284
   #18 0x00007fffe5624b9a in operator() (__closure=0x7fff4c004ce8, i=0, 
reader=std::shared_ptr<parquet::arrow::ColumnReaderImpl> (use count 2, weak 
count 0) = {...})
       at /home/pace/dev/arrow/cpp/src/parquet/arrow/reader.cc:1252
   #19 0x00007fffe5644a41 in 
arrow::detail::ContinueFuture::operator()<parquet::arrow::(anonymous 
namespace)::FileReaderImpl::DecodeRowGroups(std::shared_ptr<parquet::arrow::(anonymous
 namespace)::FileReaderImpl>, const std::vector<int>&, const std::vector<int>&, 
arrow::internal::Executor*)::<lambda(size_t, 
std::shared_ptr<parquet::arrow::ColumnReaderImpl>)>&, long unsigned int&, 
std::shared_ptr<parquet::arrow::ColumnReaderImpl>&>(arrow::Future<std::shared_ptr<arrow::ChunkedArray>
 >, struct {...} &) const (this=0x7fff4c004cc8, next=..., f=...) at 
/home/pace/dev/arrow/cpp/src/arrow/util/future.h:150
   #20 0x00007fffe5644167 in std::__invoke_impl<void, 
arrow::detail::ContinueFuture&, 
arrow::Future<std::shared_ptr<arrow::ChunkedArray> >&, 
parquet::arrow::(anonymous 
namespace)::FileReaderImpl::DecodeRowGroups(std::shared_ptr<parquet::arrow::(anonymous
 namespace)::FileReaderImpl>, const std::vector<int>&, const std::vector<int>&, 
arrow::internal::Executor*)::<lambda(size_t, 
std::shared_ptr<parquet::arrow::ColumnReaderImpl>)>&, long unsigned int&, 
std::shared_ptr<parquet::arrow::ColumnReaderImpl>&>(std::__invoke_other, 
arrow::detail::ContinueFuture &) (__f=...) at 
/usr/include/c++/11/bits/invoke.h:61
   #21 0x00007fffe564334f in std::__invoke<arrow::detail::ContinueFuture&, 
arrow::Future<std::shared_ptr<arrow::ChunkedArray> >&, 
parquet::arrow::(anonymous 
namespace)::FileReaderImpl::DecodeRowGroups(std::shared_ptr<parquet::arrow::(anonymous
 namespace)::FileReaderImpl>, const std::vector<int>&, const std::vector<int>&, 
arrow::internal::Executor*)::<lambda(size_t, 
std::shared_ptr<parquet::arrow::ColumnReaderImpl>)>&, long unsigned int&, 
std::shared_ptr<parquet::arrow::ColumnReaderImpl>&>(arrow::detail::ContinueFuture
 &) (__fn=...) at /usr/include/c++/11/bits/invoke.h:96
   #22 0x00007fffe5641dbf in 
std::_Bind<arrow::detail::ContinueFuture(arrow::Future<std::shared_ptr<arrow::ChunkedArray>
 >, parquet::arrow::(anonymous 
namespace)::FileReaderImpl::DecodeRowGroups(std::shared_ptr<parquet::arrow::(anonymous
 namespace)::FileReaderImpl>, const std::vector<int>&, const std::vector<int>&, 
arrow::internal::Executor*)::<lambda(size_t, 
std::shared_ptr<parquet::arrow::ColumnReaderImpl>)>, long unsigned int, 
std::shared_ptr<parquet::arrow::ColumnReaderImpl>)>::__call<void, 0, 1, 2, 
3>(std::tuple<> &&, std::_Index_tuple<0, 1, 2, 3>) (this=0x7fff4c004cc8, 
__args=...) at /usr/include/c++/11/functional:420
   #23 0x00007fffe5641320 in 
std::_Bind<arrow::detail::ContinueFuture(arrow::Future<std::shared_ptr<arrow::ChunkedArray>
 >, parquet::arrow::(anonymous 
namespace)::FileReaderImpl::DecodeRowGroups(std::shared_ptr<parquet::arrow::(anonymous
 namespace)::FileReaderImpl>, const std::vector<int>&, const std::vector<int>&, 
arrow::internal::Executor*)::<lambda(size_t, 
std::shared_ptr<parquet::arrow::ColumnReaderImpl>)>, long unsigned int, 
std::shared_ptr<parquet::arrow::ColumnReaderImpl>)>::operator()<>(void) 
(this=0x7fff4c004cc8) at /usr/include/c++/11/functional:503
   #24 0x00007fffe563c20f in 
arrow::internal::FnOnce<void()>::FnImpl<std::_Bind<arrow::detail::ContinueFuture(arrow::Future<std::shared_ptr<arrow::ChunkedArray>
 >, parquet::arrow::(anonymous 
namespace)::FileReaderImpl::DecodeRowGroups(std::shared_ptr<parquet::arrow::(anonymous
 namespace)::FileReaderImpl>, const std::vector<int>&, const std::vector<int>&, 
arrow::internal::Executor*)::<lambda(size_t, 
std::shared_ptr<parquet::arrow::ColumnReaderImpl>)>, long unsigned int, 
std::shared_ptr<parquet::arrow::ColumnReaderImpl>)> >::invoke(void) 
(this=0x7fff4c004cc0) at 
/home/pace/dev/arrow/cpp/src/arrow/util/functional.h:152
   #25 0x00007fffed99223d in arrow::internal::FnOnce<void ()>::operator()() && 
(this=0x7fff59d57cf0) at 
/home/pace/dev/arrow/cpp/src/arrow/util/functional.h:140
   #26 0x00007fffed984007 in arrow::internal::WorkerLoop 
(state=std::shared_ptr<arrow::internal::ThreadPool::State> (use count 9, weak 
count 1) = {...}, it={_M_id = {_M_thread = 140734700553792}})
       at /home/pace/dev/arrow/cpp/src/arrow/util/thread_pool.cc:457
   #27 0x00007fffed98693d in operator() (__closure=0x7fff4c001458) at 
/home/pace/dev/arrow/cpp/src/arrow/util/thread_pool.cc:618
   #28 0x00007fffed9902b4 in std::__invoke_impl<void, 
arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()> 
>(std::__invoke_other, struct {...} &&) (__f=...) at 
/usr/include/c++/11/bits/invoke.h:61
   #29 0x00007fffed990243 in 
std::__invoke<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
 >(struct {...} &&) (__fn=...) at /usr/include/c++/11/bits/invoke.h:96
   #30 0x00007fffed990150 in 
std::thread::_Invoker<std::tuple<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
 > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x7fff4c001458)
       at /usr/include/c++/11/bits/std_thread.h:259
   --Type <RET> for more, q to quit, c to continue without paging--
   #31 0x00007fffed9900bf in 
std::thread::_Invoker<std::tuple<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
 > >::operator()(void) (this=0x7fff4c001458)
       at /usr/include/c++/11/bits/std_thread.h:266
   #32 0x00007fffed990088 in 
std::thread::_State_impl<std::thread::_Invoker<std::tuple<arrow::internal::ThreadPool::LaunchWorkersUnlocked(int)::<lambda()>
 > > >::_M_run(void) (this=0x7fff4c001450)
       at /usr/include/c++/11/bits/std_thread.h:211
   #33 0x00007ffff582ea93 in std::execute_native_thread_routine (__p=<optimized 
out>) at ../../../../../libstdc++-v3/src/c++11/thread.cc:82
   #34 0x00007ffff7c94ac3 in start_thread (arg=<optimized out>) at 
./nptl/pthread_create.c:442
   #35 0x00007ffff7d26660 in clone3 () at 
../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
   
   ```


-- 
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