Hello,

We have a plugin that writes both Arrow and Parquet format files. We are
experiencing an issue when using Parquet format, while Arrow format works
just fine. More exactly, the process crashes in parquet::arrow::WriteTable.

Using gdb we identified the line when the process crashes
https://github.com/Paradigm4/bridge/blob/8c34f3b940b10a38eb8900cd05d7ee6aa7c082b0/src/PhysicalXSave.cpp#L494

The gdb output is:

(gdb) catch syscall exit_group
Catchpoint 1 (syscall 'exit_group' [231])
(gdb) c
Continuing.
[Switching to Thread 0x7f104b7f6700 (LWP 2363)]

Catchpoint 1 (call to syscall exit_group), 0x00007f105c031901 in _exit ()
from /lib64/ld-linux-x86-64.so.2
(gdb) bt
#0  0x00007f105c031901 in _exit () from /lib64/ld-linux-x86-64.so.2
#1  0x00007f105c0276ba in _dl_signal_error () from
/lib64/ld-linux-x86-64.so.2
#2  0x00007f105c02776e in _dl_signal_cerror () from
/lib64/ld-linux-x86-64.so.2
#3  0x00007f105c0229aa in _dl_lookup_symbol_x () from
/lib64/ld-linux-x86-64.so.2
#4  0x00007f105c026dee in _dl_fixup () from /lib64/ld-linux-x86-64.so.2
#5  0x00007f105c02eaaa in _dl_runtime_resolve_xsavec () from
/lib64/ld-linux-x86-64.so.2
#6  0x00007f1051926a88 in scidb::ArrowWriter::finalize
(this=this@entry=0x7f104b7f2e40,
arrowBuffer=std::shared_ptr (empty) 0x0) at PhysicalXSave.cpp:494
#7  0x00007f105192802f in scidb::ArrowWriter::writeArrowBuffer
(this=this@entry=0x7f104b7f2e40, chunkIters=std::vector of length 1,
capacity 1 = {...}, coordMapper=...,
    arrowBuffer=std::shared_ptr (empty) 0x0) at PhysicalXSave.cpp:280
#8  0x00007f105192b35e in scidb::PhysicalXSave::execute
(this=0x7f1034004f00, inputArrays=..., query=warning: RTTI symbol not found
for class 'std::_Sp_counted_ptr_inplace<scidb::Query,
std::allocator<scidb::Query>, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class
'std::_Sp_counted_ptr_inplace<scidb::Query, std::allocator<scidb::Query>,
(__gnu_cxx::_Lock_policy)2>'
std::shared_ptr (count 8, weak 8) 0x8f348e0) at PhysicalXSave.cpp:879
#9  0x0000000000af71b7 in
scidb::PhysicalOperator::executeWrapper(std::vector<std::shared_ptr<scidb::Array>,
std::allocator<std::shared_ptr<scidb::Array> > >&,
std::shared_ptr<scidb::Query>) ()
#10 0x0000000000b3bc3d in
scidb::QueryProcessorImpl::execute(std::shared_ptr<scidb::PhysicalQueryPlanNode>
const&, std::shared_ptr<scidb::Query> const&, int) ()
#11 0x0000000000b3c1b5 in
scidb::QueryProcessorImpl::execute(std::shared_ptr<scidb::Query> const&) ()
#12 0x0000000000a0dd49 in
scidb::ServerMessageHandleJob::handleExecutePhysicalPlan() ()
#13 0x0000000000a0ee23 in
scidb::ServerMessageHandleJob::handlePreparePhysicalPlan() ()
#14 0x0000000000a0addf in scidb::ServerMessageHandleJob::run() ()
#15 0x0000000000a32ed8 in
scidb::Job::executeOnQueue(std::weak_ptr<scidb::WorkQueue>&,
std::shared_ptr<scidb::SerializationCtx>&) ()
#16 0x0000000000a6e938 in scidb::WorkQueue::WorkQueueJob::run() ()
#17 0x0000000000a32ff0 in scidb::Job::execute() ()
#18 0x0000000000a3fefc in scidb::Thread::_threadFunction() ()
#19 0x0000000000a409b9 in scidb::Thread::threadFunction(void*) ()
#20 0x00007f1058fc8ea5 in start_thread () from /lib64/libpthread.so.0
#21 0x00007f1057ea7b0d in clone () from /lib64/libc.so.6
(gdb) c
Continuing.
[Thread 0x7f10525ff700 (LWP 2355) exited]
[Thread 0x7f104bbf8700 (LWP 2361) exited]
[Thread 0x7f104b9f7700 (LWP 2362) exited]
[Thread 0x7f104b7f6700 (LWP 2363) exited]
[Thread 0x7f104b5f5700 (LWP 2364) exited]
[Thread 0x7f104b3f4700 (LWP 2365) exited]
[Thread 0x7f104abf3700 (LWP 2371) exited]
[Thread 0x7f104a9f2700 (LWP 2372) exited]
[Thread 0x7f104a7f1700 (LWP 2373) exited]
[Thread 0x7f104a5f0700 (LWP 2374) exited]
[Inferior 1 (process 2351) exited with code 0177]


Any ideas on what could be the culprit?

Thank  you!
Rares

Reply via email to