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

onActivity page deadlock if building, whilst eclwatch queue operation active.

    Details

    • Type: Regression
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 4.2.6
    • Fix Version/s: 4.2.6
    • Component/s: ESP
    • Labels:
      None

      Description

      If whilst the activity page is being rebuilt, a queue request operation is received by the esp service, the 2 threads can deadlock each other.

      Thread #1 - starts building the cached activity info via getActivityInfo and locks the getActivityCrit section.

      Thread #2 - is in e.g. onSetJobPriority , locks the queue and then at the end (whilst queue still locked) calls clearActivityInfoCache.

      So thread#2 blocks in clearActivityInfoCache, trying to gain access to the getActivityCrit CS.
      Whilst thread#1 blocks - trying to gain a SDS lock to the queue, which thread#2 still has locked.
      Hence deadlock.

      There also some relatively minor leaks of IJobQueueItem's involved in the same code.

        Attachments

          Issue Links

            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: