[ https://issues.apache.org/jira/browse/IMPALA-9250?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Work on IMPALA-9250 started by Quanlong Huang. ---------------------------------------------- > HdfsOrcScanner crash in calling orc::createReader > ------------------------------------------------- > > Key: IMPALA-9250 > URL: https://issues.apache.org/jira/browse/IMPALA-9250 > Project: IMPALA > Issue Type: Bug > Reporter: Quanlong Huang > Assignee: Quanlong Huang > Priority: Blocker > Labels: impala-orc-experimental > Attachments: alltypes_year=2010_month=1_000005_0.orc > > > Encounter a crash when running the test_scanners_fuzz test for orc: > {code} > Crash reason: SIGSEGV > Crash address: 0x0 > Process uptime: not available > Thread 313 (crashed) > 0 libstdc++.so.6.0.21 + 0xd0328 > 1 impalad!orc::TypeImpl::addStructField(std::string const&, > std::unique_ptr<orc::Type, std::default_delete<orc::Type> >) [new_allocator.h > : 120 + 0xd] > 2 impalad!orc::convertType(orc::proto::Type const&, orc::proto::Footer > const&) [TypeImpl.cc : 414 + 0x10] > 3 impalad!orc::ReaderImpl::ReaderImpl(std::shared_ptr<orc::FileContents>, > orc::ReaderOptions const&, unsigned long, unsigned long) [Reader.cc : 413 + > 0x9] > 4 impalad!orc::createReader(std::unique_ptr<orc::InputStream, > std::default_delete<orc::InputStream> >, orc::ReaderOptions const&) > [Reader.cc : 1135 + 0x20] > 5 impalad!impala::HdfsOrcScanner::ProcessFileTail() [hdfs-orc-scanner.cc : > 250 + 0x4e] > 6 impalad!impala::HdfsOrcScanner::Open(impala::ScannerContext*) > [hdfs-orc-scanner.cc : 168 + 0x19] > 7 > impalad!impala::HdfsScanNodeBase::CreateAndOpenScannerHelper(impala::HdfsPartitionDescriptor*, > impala::ScannerContext*, boost::scoped_ptr<impala::HdfsScanner>*) > [hdfs-scan-node-base.cc : 730 + 0x29] > 8 > impalad!impala::HdfsScanNode::ProcessSplit(std::vector<impala::FilterContext, > std::allocator<impala::FilterContext> > const&, impala::MemPool*, > impala::io::ScanRange*, long*) [hdfs-scan-node.cc : 494 + 0x2b] > 9 impalad!impala::HdfsScanNode::ScannerThread(bool, long) > [hdfs-scan-node.cc : 416 + 0x2a] > 10 > impalad!impala::HdfsScanNode::ThreadTokenAvailableCb(impala::ThreadResourcePool*)::{lambda()#1}::operator()() > const + 0x30 > 11 > impalad!boost::detail::function::void_function_obj_invoker0<impala::HdfsScanNode::ThreadTokenAvailableCb(impala::ThreadResourcePool*)::<lambda()>, > void>::invoke [function_template.hpp : 153 + 0xc] > 12 impalad!boost::function0<void>::operator()() const [function_template.hpp > : 767 + 0x11] > 13 impalad!impala::Thread::SuperviseThread(std::string const&, std::string > const&, boost::function<void ()>, impala::ThreadDebugInfo const*, > impala::Promise<long, (impala::PromiseMode)0>*) [thread.cc : 360 + 0xf] > 14 impalad!void boost::_bi::list5<boost::_bi::value<std::string>, > boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, > boost::_bi::value<impala::ThreadDebugInfo*>, > boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > >::operator()<void (*)(std::string const&, std::string const&, > boost::function<void ()>, impala::ThreadDebugInfo const*, > impala::Promise<long, (impala::PromiseMode)0>*), > boost::_bi::list0>(boost::_bi::type<void>, void (*&)(std::string const&, > std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, > impala::Promise<long, (impala::PromiseMode)0>*), boost::_bi::list0&, int) > [bind.hpp : 525 + 0x15] > 15 impalad!boost::_bi::bind_t<void, void (*)(std::string const&, std::string > const&, boost::function<void ()>, impala::ThreadDebugInfo const*, > impala::Promise<long, (impala::PromiseMode)0>*), > boost::_bi::list5<boost::_bi::value<std::string>, > boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, > boost::_bi::value<impala::ThreadDebugInfo*>, > boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > > >::operator()() [bind_template.hpp : 20 + 0x22] > 16 impalad!boost::detail::thread_data<boost::_bi::bind_t<void, void > (*)(std::string const&, std::string const&, boost::function<void ()>, > impala::ThreadDebugInfo const*, impala::Promise<long, > (impala::PromiseMode)0>*), boost::_bi::list5<boost::_bi::value<std::string>, > boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, > boost::_bi::value<impala::ThreadDebugInfo*>, > boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > > > >::run() [thread.hpp : 116 + 0x12] > 17 impalad!thread_proxy + 0xda > 18 libpthread-2.23.so + 0x76ba > 19 libc-2.23.so + 0x10741d > {code} > Another similar crash: > {code} > Thread 302 (crashed) > 0 libstdc++.so.6.0.21 + 0xd0328 > 1 impalad!orc::TypeImpl::addStructField(std::string const&, > std::unique_ptr<orc::Type, std::default_delete<orc::Type> >) [new_allocator.h > : 120 + 0xd] > 2 impalad!orc::convertType(orc::proto::Type const&, orc::proto::Footer > const&) [TypeImpl.cc : 414 + 0x10] > 3 impalad!orc::ReaderImpl::ReaderImpl(std::shared_ptr<orc::FileContents>, > orc::ReaderOptions const&, unsigned long, unsigned long) [Reader.cc : 413 + > 0x9] > 4 impalad!orc::createReader(std::unique_ptr<orc::InputStream, > std::default_delete<orc::InputStream> >, orc::ReaderOptions const&) > [Reader.cc : 1135 + 0x20] > 5 impalad!impala::HdfsOrcScanner::ProcessFileTail() [hdfs-orc-scanner.cc : > 250 + 0x4e] > 6 impalad!impala::HdfsOrcScanner::Open(impala::ScannerContext*) > [hdfs-orc-scanner.cc : 168 + 0x19] > 7 > impalad!impala::HdfsScanNodeBase::CreateAndOpenScannerHelper(impala::HdfsPartitionDescriptor*, > impala::ScannerContext*, boost::scoped_ptr<impala::HdfsScanner>*) > [hdfs-scan-node-base.cc : 730 + 0x29] > 8 > impalad!impala::HdfsScanNode::ProcessSplit(std::vector<impala::FilterContext, > std::allocator<impala::FilterContext> > const&, impala::MemPool*, > impala::io::ScanRange*, long*) [hdfs-scan-node.cc : 494 + 0x2b] > 9 impalad!impala::HdfsScanNode::ScannerThread(bool, long) > [hdfs-scan-node.cc : 416 + 0x2a] > 10 > impalad!impala::HdfsScanNode::ThreadTokenAvailableCb(impala::ThreadResourcePool*)::{lambda()#1}::operator()() > const + 0x30 > 11 > impalad!boost::detail::function::void_function_obj_invoker0<impala::HdfsScanNode::ThreadTokenAvailableCb(impala::ThreadResourcePool*)::<lambda()>, > void>::invoke [function_template.hpp : 153 + 0xc] > 12 impalad!boost::function0<void>::operator()() const [function_template.hpp > : 767 + 0x11] > 13 impalad!impala::Thread::SuperviseThread(std::string const&, std::string > const&, boost::function<void ()>, impala::ThreadDebugInfo const*, > impala::Promise<long, (impala::PromiseMode)0>*) [thread.cc : 360 + 0xf] > 14 impalad!void boost::_bi::list5<boost::_bi::value<std::string>, > boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, > boost::_bi::value<impala::ThreadDebugInfo*>, > boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > >::operator()<void (*)(std::string const&, std::string const&, > boost::function<void ()>, impala::ThreadDebugInfo const*, > impala::Promise<long, (impala::PromiseMode)0>*), > boost::_bi::list0>(boost::_bi::type<void>, void (*&)(std::string const&, > std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, > impala::Promise<long, (impala::PromiseMode)0>*), boost::_bi::list0&, int) > [bind.hpp : 525 + 0x15] > 15 impalad!boost::_bi::bind_t<void, void (*)(std::string const&, std::string > const&, boost::function<void ()>, impala::ThreadDebugInfo const*, > impala::Promise<long, (impala::PromiseMode)0>*), > boost::_bi::list5<boost::_bi::value<std::string>, > boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, > boost::_bi::value<impala::ThreadDebugInfo*>, > boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > > >::operator()() [bind_template.hpp : 20 + 0x22] > 16 impalad!boost::detail::thread_data<boost::_bi::bind_t<void, void > (*)(std::string const&, std::string const&, boost::function<void ()>, > impala::ThreadDebugInfo const*, impala::Promise<long, > (impala::PromiseMode)0>*), boost::_bi::list5<boost::_bi::value<std::string>, > boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, > boost::_bi::value<impala::ThreadDebugInfo*>, > boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > > > >::run() [thread.hpp : 116 + 0x12] > 17 impalad!thread_proxy + 0xda > 18 libpthread-2.23.so + 0x76ba > 19 libc-2.23.so + 0x10741d > {code} > Attached the corrupt orc file that causes the first crash. Create the table > by: > {code:sql} > CREATE TABLE test_fuzz_alltypes_b5a5881f.alltypes ( > id INT COMMENT 'Add a comment', > bool_col BOOLEAN, > tinyint_col TINYINT, > smallint_col SMALLINT, > int_col INT, > bigint_col BIGINT, > float_col FLOAT, > double_col DOUBLE, > date_string_col STRING, > string_col STRING, > timestamp_col TIMESTAMP > ) > PARTITIONED BY ( > year INT, > month INT > ) > STORED AS ORC > {code} > Put the file into this table and run a "select *" on it. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org For additional commands, e-mail: issues-all-h...@impala.apache.org