Thank you, the hint about not seeing Parquet frames helped me solve the issue. I was not linking the Parquet .so with the plugin .so. Once linked everything worked as expected.
Thank you, Rares On Sat, May 21, 2022 at 10:45 PM Micah Kornfield <emkornfi...@gmail.com> wrote: > Hi Rares, > Based on the stack trace, I'm not seeing any Arrow/Parquet related frames. > > Two things come to mind: > 1. This seems like it might be heap corruption (see > > https://stackoverflow.com/questions/10578315/segmentation-fault-in-dl-runtime-resolve > ). > Try running using ASAN or valgrind. > 2. (Less likely) It could have something to do with whether exceptions > have been compiling the parquet library (Arrow catches exceptions and > translates them to statuses). > > > -Micah > > On Sat, May 21, 2022 at 9:55 PM Rares Vernica <rvern...@gmail.com> wrote: > > > 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 > > >