Menu

Application Verifier break message

Critical section over-released or corrupted

There are several messages that you may receive when hitting this stop. Locks violation detected:

  • The lock <lock address> has been release more often than necessary: actual lock count <count>, expected <count>

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

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

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

  • The lock had been released more that it should: actual lock count -<count> - expected <count>

Probable cause

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

Information displayed by Application Verifier

Parameter1 - Critical section address. Run !cs �s address to get more information.

Parameter2 - Lock count

Parameter3 - Expected lock count

Parameter4 - Critical section debug information address

Description - Critical section over-released or corrupted

Additional information

Verifier stop code 0209.

Call Stack � current call stack where lock is being used.

Frequency of this error is high.

To debug this stop:

!cs �s parameter1 - dump information about this critical section.

!cs �s �d parameter4 - dump information about this critical section.

ln parameter1 � to show symbols near the address of the critical section. This should help identify the critical section.