Uploaded image for project: 'MariaDB ColumnStore'
  1. MariaDB ColumnStore
  2. MCOL-4470

collation aware join code crashes ExeMgr

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 6.1.1, 5.4.3
    • Fix Version/s: 5.5.2, 5.6.1
    • Component/s: ExeMgr
    • Labels:
      None

      Description

      The crash happens running the query from working_tpch1_compareLogOnly/view/view_DL_outerjoin.sql with this stack

      #0  0x00007f400477cc8c in charset_info_st::strnncollsp (this=0x7f3f00000001, a=0x7f3ff53fe620 "name5", alen=5, b=0x7f3ff53fe628 "\377\377\377\377\377\377\377\177 \346?\365?\177", blen=8) at /data/mdb-server/include/m_ctype.h:787
      #1  0x00007f400477cd49 in datatypes::Charset::strnncollsp (this=0x7f3ff53fe690, str1=..., str2=...) at /data/mdb-server/storage/columnstore/columnstore/utils/common/collation.h:138
      #2  0x00007f400477d1f2 in datatypes::TCharShort::strnncollsp (cs=..., a=229334933870, b=9223372036854775807) at /data/mdb-server/storage/columnstore/columnstore/datatypes/mcs_string.h:45
      #3  0x00007f4003499b86 in joiner::TupleJoiner::updateCPData (this=0x7f3ff3836500, r=...) at /data/mdb-server/storage/columnstore/columnstore/utils/joiner/tuplejoiner.cpp:1134
      #4  0x00007f400349511f in joiner::TupleJoiner::insertRGData (this=0x7f3ff3836500, rg=..., threadID=0) at /data/mdb-server/storage/columnstore/columnstore/utils/joiner/tuplejoiner.cpp:417
      #5  0x00007f40048596b0 in joblist::TupleHashJoinStep::smallRunnerFcn (this=0x7f3fe80d7600, index=0, threadID=0, jobs=0x7f3ff4bfd8b8) at /data/mdb-server/storage/columnstore/columnstore/dbcon/joblist/tuplehashjoin.cpp:437
      #6  0x00007f40048585ca in joblist::TupleHashJoinStep::<lambda()>::operator()(void) const (__closure=0x7f3ff3824120) at /data/mdb-server/storage/columnstore/columnstore/dbcon/joblist/tuplehashjoin.cpp:307
      #7  0x00007f4004863236 in boost::detail::function::void_function_obj_invoker0<joblist::TupleHashJoinStep::startSmallRunners(uint)::<lambda()>, void>::invoke(boost::detail::function::function_buffer &) (function_obj_ptr=...)
          at /usr/include/boost/function/function_template.hpp:159
      #8  0x00007f3ffe2f8fa1 in boost::function0<void>::operator() (this=0x7f3ff3824118) at /usr/include/boost/function/function_template.hpp:759
      #9  0x00007f3ffe2f5e09 in threadpool::ThreadPool::beginThread (this=0x5608e63ae1c0 <joblist::JobStep::jobstepThreadPool>) at /data/mdb-server/storage/columnstore/columnstore/utils/threadpool/threadpool.cpp:396
      #10 0x00007f3ffe2f7fb7 in threadpool::ThreadPool::beginThreadFunc::operator() (this=0x7f3ff546f878) at /data/mdb-server/storage/columnstore/columnstore/utils/threadpool/threadpool.h:332
      #11 0x00007f3ffe2fe2dc in boost::detail::thread_data<threadpool::ThreadPool::beginThreadFunc>::run (this=0x7f3ff546f6c0) at /usr/include/boost/thread/detail/thread.hpp:116
      #12 0x00007f3fffceebcd in ?? () from /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.65.1
      #13 0x00007f4004c5f6db in start_thread (arg=0x7f3ff53ff700) at pthread_create.c:463
      #14 0x00007f3ffd041a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      Here is the query that crashes ExeMgr:

      select a.name, b.name, c.name from tablechar8 a inner join v_tablevchar7 b on a.name = b.name right outer join v_tablechar25 c on a.name = c.name order by 1, 2, 3;
      

      The code crashes b/c joiner::TupleJoiner::updateCPData() uses a wrong column index getting CHARSET_INFO*.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              dleeyh Daniel Lee
              Reporter:
              drrtuy Roman
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Git Integration