Uploaded image for project: 'Core ReactOS'
  1. Core ReactOS
  2. CORE-14349

Deadlocks can happen in Cc

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Fix Version/s: 0.4.9
    • Component/s: NTCore
    • Labels:
      None

      Description

      This is due to the number of locks being present in Cc (Shared cache map, VACB, master lock) and the way they are locked.

      We often see the scenario:

      • Lock master, lock shared, lock VACB
      • Release shared, release master
      • Lock master, lock shared
      • Release VACB
      • Release shared
      • Release master

      The problem is that, it's an unlocking in disorder and if someone else tries to perform using the same path, then, we have an issue if it can lock master & shared, but not VACB and if VACB tries to acquire master & shared to release VACB (this is what we call, a deadlock ).

        Attachments

        1. vacb_lock.diff
          7 kB
        2. vacb_lock.diff
          9 kB
        3. vacb_lock.diff
          9 kB
        4. vacb_lock.diff
          12 kB
        5. vacb_lock.diff
          13 kB
        6. vacb_lock.diff
          14 kB
        7. vacb_lock.diff
          15 kB
        8. vacb_lock.diff
          16 kB
        9. vacb_lock.diff
          19 kB
        10. vacb_lock.diff
          19 kB
        11. vacb_lock.diff
          18 kB
        12. vacb_lock.diff
          19 kB
        13. 0.4.8-RC-8-gbfcab8b__And_VACBLOCK_applied__BSOD0x34.log
          113 kB

          Issue Links

            Activity

              People

              • Assignee:
                Heis Spiter Pierre Schweitzer
                Reporter:
                Heis Spiter Pierre Schweitzer
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: