Menu

Application Verifier break message

Free memory containing an active critical section.

Probable cause

This stop is generated if the memory containing a critical section was freed but the critical section has not been deleted using DeleteCriticalSection.

The critical section must have been in a memory range freed by kernel-mode code or freed cross-process by APIs like VirtualFreeEx. Typically, this stop will be encountered if a previous break was continued. For example, if you encountered the Released heap memory of size <size> at <address> containing an active lock <lock address> break and then chose to continue running the code you may expect to encounter this break message as well. In most cases the lock verifier detects immediately leaked critical sections contained in a heap allocation, a DLL range, a virtual memory allocation or a MapViewOfFile mapped memory range and issues different stops in these cases. So there are very few cases left for this verifier stop.

Information displayed by Application Verifier

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

Parameter2 - Critical section debug info address

Parameter3 - Critical section initialization stack trace. Run dps address to dump the stack trace.

Parameter4 - Not used

Description - Free memory containing an active critical section

Additional information

Verifier Stop Code 0204.

Check the contents of the current call stack when the memory was released.

Frequency of this error is low.

To debug this stop use the following debugger commands:

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

dds parameter3 - to identify the code path for initializing this critical section.