Multithreaded Access In A HEAP_NO_SERIALIZE Heap
Application Verifier stop message
Heap violation detected. Multithreaded access in a HEAP_NO_SERIALIZE heap: 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 happens in a program is by linking with a single-threaded version of the C runtime. For instance, Visual C++ can link statically to such a library when proper flags are used.
Information displayed by Application Verifier in Tool Window
Heap Handle - Heap handle for the heap owning the block
Block address – N/A
Size - N/A
Description - Multithreaded access in a HEAP_NO_SERIALIZE heap: thread <thread ID> is in a running state conflicting with thread <thread ID>
Trace description – No Stack Frame for the current block
Additional information
Look at the call stack for both threads in question and determine why they are using the same NO_SERIALIZE heap at concurrently.
Frequency of this error is low.