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

GRAPH fails if accessing a result of a subgraph that's a sibling of the body graph

    Details

    • Type: Regression
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 7.6.22
    • Component/s: Thor
    • Labels:
      None

      Description

      Some refactoring to fix a separate bug (https://track.hpccsystems.com/browse/HPCC-20864) introduced this issue.

      The symptom of this bug is a crash with a stack like:

      (gdb) where
      #0  0x00007f76568ff18a in CGraphBase::getResult (this=<optimized out>, id=1, distributed=false)
          at /var/lib/jenkins/workspace/LN-Candidate-with-Plugins-7.6.12-1/LN/centos-el7-x86-64-aws-ris/HPCC-Platform/thorlcr/graph/thgraph.cpp:2094
      #1  0x00007f765690a1de in CJobChannel::getOwnedResult (this=this@entry=0x9f6e860, gid=26257, ownerId=0, resultId=1)
          at /var/lib/jenkins/workspace/LN-Candidate-with-Plugins-7.6.12-1/LN/centos-el7-x86-64-aws-ris/HPCC-Platform/thorlcr/graph/thgraph.cpp:3043
      #2  0x00007f7656f6856d in CSlaveMessageHandler::threadmain (this=0x5211eb0)
          at /var/lib/jenkins/workspace/LN-Candidate-with-Plugins-7.6.12-1/LN/centos-el7-x86-64-aws-ris/HPCC-Platform/thorlcr/graph/thgraphmaster.cpp:348
      

      The cause/regression is that the results container was being created in the context of the wrong graph, and as a consequence, when the slaves requested the global result and sent a message to the master to do so, it sent the wrong graphId. This then failed to find any results (localResults==null) and crashed.

        Attachments

          Activity

            People

            • Assignee:
              jakesmith Jake Smith
              Reporter:
              jakesmith Jake Smith
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: