Uploaded image for project: 'HPCC'
  1. HPCC
  2. HPCC-16045

sort.ecl triggers valgrind error

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Cannot Reproduce
    • Affects Version/s: None
    • Fix Version/s: 6.0.6
    • Component/s: Thor
    • Labels:
      None
    • Compatibility:
      Point

      Description

      Valgrind reported the following error:

      ==19838== Conditional jump or move depends on uninitialised value(s)
      ==19838==    at 0x6CA4DDC: calcMetaInfoSize(ThorDataLinkMetaInfo&, IThorDataLink*) (thactivityutil.cpp:298)
      ==19838==    by 0x6C9865B: CProjectSlaveActivity::getMetaInfo(ThorDataLinkMetaInfo&) (thprojectslave.cpp:103)
      ==19838==    by 0x6CA5210: canStall(CActivityBase*) (thactivityutil.cpp:431)
      ==19838==    by 0x6CA52B4: isSmartBufferSpillNeeded(CActivityBase*) (thactivityutil.cpp:445)
      ==19838==    by 0x6CB1628: CWorkUnitWriteGlobalSlaveBaseActivity::setInputStream(unsigned int, CThorInput&, bool) (thwuidwriteslave.cpp:92)
      ==19838==    by 0x6875F21: CSlaveActivity::connectInputStreams(bool) (thgraphslave.cpp:168)
      ==19838==    by 0x68799A7: CSlaveGraph::connect() (thgraphslave.cpp:968)
      ==19838==    by 0x6879DCF: CSlaveGraph::executeSubGraph(unsigned int, unsigned char const*) (thgraphslave.cpp:1025)
      ==19838==    by 0x65FE9C2: CJobChannel::runSubgraph(CGraphBase&, unsigned int, unsigned char const*) (thgraph.cpp:2850)
      ==19838==    by 0x687C332: CJobSlaveChannel::runSubgraph(CGraphBase&, unsigned int, unsigned char const*) (thgraphslave.cpp:1618)
      ==19838==    by 0x6606A2B: CGraphExecutor::CGraphExecutorFactory::createNew()::CGraphExecutorThread::main() (thgraph.cpp:2090)
      

      For the following graph:

         <node id="78" label="Inline Dataset">
          <att name="definition" value="/home/gavin/dev/hpcc/testing/regress/ecl/sort.ecl(38,1)"/>
          <att name="name" value="somevarfile"/>
          <att name="_kind" value="133"/>
          <att name="ecl" value="DATASET([{&apos;C&apos;,&apos; &apos;},...], myvarrec);&#10;"/>
          <att name="recordSize" value="1..2(1)"/>
          <att name="predictedCount" value="5"/>
         </node>
         <node id="79" label="Split">
          <att name="definition" value="/home/gavin/dev/hpcc/testing/regress/ecl/sort.ecl(38,16)"/>
          <att name="_kind" value="6"/>
          <att name="ecl" value="somevarfile;&#10;"/>
          <att name="recordSize" value="1..2(1)"/>
          <att name="predictedCount" value="5"/>
         </node>
         <node id="80" label="Top N">
          <att name="_kind" value="50"/>
          <att name="ecl" value="TOPN(value1, -value2, 3);&#10;"/>
          <att name="recordSize" value="1..2(1)"/>
          <att name="predictedCount" value="3"/>
         </node>
         <node id="81" label="Firstn">
          <att name="definition" value="/home/gavin/dev/hpcc/testing/regress/ecl/sort.ecl(85,8)"/>
          <att name="_kind" value="12"/>
          <att name="ecl" value="CHOOSEN(2, 2);&#10;"/>
          <att name="recordSize" value="1..2(1)"/>
          <att name="predictedCount" value="2"/>
         </node>
         <node id="82" label="Project">
          <att name="_kind" value="7"/>
          <att name="ecl" value="NEWTABLE(myrec);&#10;"/>
          <att name="recordSize" value="2"/>
          <att name="predictedCount" value="2"/>
         </node>
         <node id="83" label="Output&#10;Result #21">
          <att name="definition" value="/home/gavin/dev/hpcc/testing/regress/ecl/sort.ecl(85,1)"/>
          <att name="_kind" value="16"/>
          <att name="ecl" value="OUTPUT(..., workunit);&#10;"/>
          <att name="recordSize" value="2"/>
         </node>
         <node id="84" label="Top N">
          <att name="_kind" value="50"/>
          <att name="ecl" value="TOPN(value1, value2, 2);&#10;"/>
          <att name="recordSize" value="1..2(1)"/>
          <att name="predictedCount" value="2"/>
         </node>
         <node id="85" label="Project">
          <att name="_kind" value="7"/>
          <att name="ecl" value="NEWTABLE(myrec);&#10;"/>
          <att name="recordSize" value="2"/>
          <att name="predictedCount" value="2"/>
         </node>
         <node id="86" label="Output&#10;Result #19">
          <att name="definition" value="/home/gavin/dev/hpcc/testing/regress/ecl/sort.ecl(83,1)"/>
          <att name="_kind" value="16"/>
          <att name="ecl" value="OUTPUT(..., workunit);&#10;"/>
          <att name="recordSize" value="2"/>
         </node>
         <node id="87" label="Sort">
          <att name="definition" value="/home/gavin/dev/hpcc/testing/regress/ecl/sort.ecl(65,1)"/>
          <att name="name" value="sortedvarrecs1"/>
          <att name="_kind" value="3"/>
          <att name="ecl" value="SORT(value1, value2);&#10;"/>
          <att name="recordSize" value="1..2(1)"/>
          <att name="predictedCount" value="5"/>
         </node>
         <node id="88" label="Project">
          <att name="_kind" value="7"/>
          <att name="ecl" value="NEWTABLE(myrec);&#10;"/>
          <att name="recordSize" value="2"/>
          <att name="predictedCount" value="5"/>
         </node>
         <node id="89" label="Output&#10;Result #11">
          <att name="definition" value="/home/gavin/dev/hpcc/testing/regress/ecl/sort.ecl(74,1)"/>
          <att name="_kind" value="16"/>
          <att name="ecl" value="OUTPUT(..., workunit);&#10;"/>
          <att name="recordSize" value="2"/>
         </node>
      

      Probably caused by an upstream activity not initializing maxRows correctly. Will rerun with --track-origins

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jakesmith Jake Smith
                Reporter:
                ghalliday Gavin Halliday
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: