Menu

Application Verifier break message

Multithreaded access in a heap created with HEAP_NO_SERIALIZE: thread <thread ID> is in a running state conflicting with thread <thread ID>.

Probable cause

A heap created with HEAP_NO_SERIALIZE flag is not supposed to be accessed simultaneously from two threads. The typical way this situation creeps into a program is by linking with a single-threaded version of the C runtime. Visual C++ can for instance link statically such a library when proper flags are used. The bug is very difficult to debug in real life because it will show up as mysterious data corruptions.

Information displayed by Application Verifier

Parameter1 - Heap in which operation happens

Parameter2 - Thread ID for current owner of the heap critical section

Parameter3 - Thread ID of current thread trying to enter

Parameter4 - Not Used

Description - Multithreaded access in a heap created with HEAP_NO_SERIALIZE: thread 0xae8 is in a running state conflicting with thread 0xac8

Additional information

Verifier stop code 0003.

Frequency of this error is low.