Critical Section Over-Released or Corrupted

Application Verifier stop message

There are four messages associated to the critical section over-released or corrupted. Locks violation detected:

  • The lock has been over released: Actual lock count <count> – expected <count>

  • The owner of the lock is invalid, owner <thread ID> was expected

  • The recursion count is invalid: actual recursion count <count> expected <count>

  • Thread not supposed to be a owning a lock: number of locks owned is <count>

Probable cause

This stop is generated if a critical section is released more times than the current thread acquired it.

Information displayed by Application Verifier in Tool Window

Lock – Critical section address

Owner - ID of the owning thread

DebugInfo – Critical section debug information address

Description –

  • The lock has been over released: Actual lock count <count> – expected <count>

  • The owner of the lock is invalid, owner <thread ID> was expected

  • The recursion count is invalid: actual recursion count <count> expected <count>

  • Thread not supposed to be a owning a lock: number of locks owned is <count>

Trace Description: Blank

Additional information

Frequency of this error is high.

See Also

Concepts

Lock Verifier
The Owner of the Lock is Invalid, Owner Was Expected
The Recursion Count is Invalid
Thread Not Supposed To Own a Lock