Uploaded image for project: 'ORC'
  1. ORC
  2. ORC-581

C++ library could crash in orc::TypeImpl::addStructField

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.1.2, 1.2.0, 1.2.1, 1.2.2, 1.2.3, 1.3.0, 1.3.1, 1.3.2, 1.3.3, 1.3.4, 1.4.0, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.5.0, 1.5.1, 1.5.2, 1.5.3, 1.5.4, 1.5.5, 1.5.6, 1.5.7, 1.5.8, 1.6.0, 1.6.1, 1.6.2
    • 1.7.0
    • None
    • None

    Description

      Encounter a crash when reading the corrupt orc file (attached) using the C++ orc-scan tool.

      #0  0x00007fe33e40d32b in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
      #1  0x00000000005be394 in construct<std::basic_string<char>, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> (__p=<optimized out>, this=0x18170c0)
          at /home/quanlong/workspace/Impala/toolchain/gcc-4.9.2/include/c++/4.9.2/ext/new_allocator.h:120
      #2  _S_construct<std::basic_string<char>, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> (__p=<optimized out>, __a=...)
          at /home/quanlong/workspace/Impala/toolchain/gcc-4.9.2/include/c++/4.9.2/bits/alloc_traits.h:253
      #3  construct<std::basic_string<char>, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> (__p=<optimized out>, __a=...)
          at /home/quanlong/workspace/Impala/toolchain/gcc-4.9.2/include/c++/4.9.2/bits/alloc_traits.h:399
      #4  push_back (__x=..., this=0x18170c0) at /home/quanlong/workspace/Impala/toolchain/gcc-4.9.2/include/c++/4.9.2/bits/stl_vector.h:917
      #5  orc::TypeImpl::addStructField (this=this@entry=0x1817080, fieldName=..., fieldType=...) at /home/quanlong/workspace/orc/c++/src/TypeImpl.cc:148
      #6  0x00000000005beba3 in orc::convertType (type=..., footer=...) at /home/quanlong/workspace/orc/c++/src/TypeImpl.cc:414
      #7  0x000000000059c257 in orc::ReaderImpl::ReaderImpl (this=this@entry=0x1818300, _contents=<error reading variable: access outside bounds of object referenced via synthetic pointer>, opts=..., _fileLength=_fileLength@entry=1795, 
          _postscriptLength=_postscriptLength@entry=25) at /home/quanlong/workspace/orc/c++/src/Reader.cc:413
      #8  0x000000000059f53e in orc::createReader (stream=..., options=...) at /home/quanlong/workspace/orc/c++/src/Reader.cc:1135
      #9  0x0000000000597880 in scanFile (out=..., filename=0x7ffc567e2377 "/home/quanlong/workspace/Impala/alltypes_year=2010_month=1_000005_0.orc", batchSize=batchSize@entry=1024)
          at /home/quanlong/workspace/orc/tools/src/FileScan.cc:32
      #10 0x0000000000597178 in main (argc=1, argv=<optimized out>) at /home/quanlong/workspace/orc/tools/src/FileScan.cc:84
      

      Attachments

        Issue Links

          Activity

            People

              stigahuang Quanlong Huang
              stigahuang Quanlong Huang
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 20m
                  20m