Concurrency Visualizer shows all Tasks synchronizing deep in ntoskrnl.exe? Why? RRS feed

  • Question

  • Hello,

    I’m not sure what I’m seeing here but it appears that all of the threads being started by the .Net thread pool end up synchronizing in _EtwWrite. All the documentation I can find on this say it’s a kernel-mode event tracing API. The callstack I get from the Concurrency Visualizer isn’t helpful to me because it doesn’t contain any calls to my code. As a result of this synchronization the threadpool is creating way too many threads. Running on an 8 core machine I end up with over 100 threads all of which spend 92% of their time synchronizing.

    Here is a screen shot of what I’m seeing in the Concurrency Visualizer:

    Selecting any of the synchronizing tasks will result in a nearly identical callstack. What is going on here and how can I solve this problem?



    Friday, December 23, 2011 6:01 PM

All replies

  • Hi Eli,


    Welcome to the MSDN forum.

    Could you please provide a sample code that helps us to reproduce this issue? If we can reproduce it, we may be able to give a better response.


    Moreover, use ADPlus to capture a dump file. ADPlus is shipped with Debugging Tools For Windows which available at here, you can try this command to capture a dump file:

    adplus -crash -o d:\dumps -pn MyApplication


    Thanks for your posting and understanding.

    Paul Zhou [MSFT]
    MSDN Community Support | Feedback to us
    Monday, December 26, 2011 3:44 AM