T O P I C R E V I E W |
supermassive |
Posted - Apr 27 2018 : 07:42:41 AM VA_X.dll file version 10.9.2258.5 built 2018.03.06 DevEnv.exe version 15.6.27428.2037 Enterprise
VS is sometimes unresponsive if I have VA Find References Results open. When I hit F7 solution build does not start, but when I close VAFRR window everything starts working.
The issue could not be reproduced reliably.
Also one CPU core is 100% loaded while VAFRR is open (having already all references found) and it looks likes VA_X.dll is the cause, the CPU consuming thread is below:
0, ntoskrnl.exe!KeWaitForSingleObject+0x2b0f 1, ntoskrnl.exe!KiCheckForKernelApcDelivery+0x25 2, ntoskrnl.exe!FsRtlAcquireHeaderMutex+0x174 3, ntoskrnl.exe!MmCommitSessionMappedView+0x1a5 4, win32kbase.sys!SURFMEM::bCreateDIB+0xa8e 5, win32kbase.sys!SURFMEM::bCreateDIB+0x184 6, win32kfull.sys!NtGdiDdDDICreateDCFromMemory+0x98d 7, win32kfull.sys!NtGdiDdDDICreateDCFromMemory+0x692 8, win32kfull.sys!NtGdiCreateCompatibleBitmap+0x1f 9, ntoskrnl.exe!setjmpex+0x3e73 10, wow64cpu.dll!TurboDispatchJumpAddressEnd+0x544 11, wow64cpu.dll!TurboDispatchJumpAddressEnd+0x503 12, wow64.dll!Wow64KiUserCallbackDispatcher+0x3804 13, wow64.dll!Wow64KiUserCallbackDispatcher+0x40d 14, wow64win.dll+0x482b 15, ntdll.dll!KiUserCallbackDispatcher+0x24 16, wow64win.dll+0x10ef4 17, wow64win.dll+0x3cf2 18, wow64win.dll+0x3e23 19, wow64.dll!Wow64SystemServiceEx+0x153 20, wow64cpu.dll!TurboDispatchJumpAddressEnd+0xb 21, wow64.dll!Wow64KiUserCallbackDispatcher+0x3804 22, wow64.dll!Wow64KiUserCallbackDispatcher+0x40d 23, wow64win.dll+0x482b 24, ntdll.dll!KiUserCallbackDispatcher+0x24 25, wow64win.dll+0x114d4 26, wow64win.dll+0x3a21 27, wow64win.dll+0x650c 28, wow64.dll!Wow64SystemServiceEx+0x153 29, wow64cpu.dll!TurboDispatchJumpAddressEnd+0xb 30, wow64.dll!Wow64KiUserCallbackDispatcher+0x3804 31, wow64.dll!Wow64LdrpInitialize+0x120 32, ntdll.dll!LdrInitShimEngineDynamic+0x306d 33, ntdll.dll!memset+0x20bb3 34, ntdll.dll!LdrInitializeThunk+0x5b 35, ntdll.dll!LdrInitializeThunk+0xe 36, win32u.dll!NtGdiCreateCompatibleBitmap+0xc (No unwind info) 37, gdi32.dll!CreateCompatibleBitmap+0x25 (No unwind info) 38, GdiPlus.dll!GdiplusStartup+0x1264 (No unwind info) 39, GdiPlus.dll!GdipCreateSolidFill+0x90f9 (No unwind info) 40, GdiPlus.dll!GdipCreateSolidFill+0x8ef6 (No unwind info) 41, GdiPlus.dll!GdipCreatePath+0xdda6 (No unwind info) 42, GdiPlus.dll!GdipCreatePath+0xdb0d (No unwind info) 43, GdiPlus.dll!GdipCreatePath+0xd93e (No unwind info) 44, GdiPlus.dll!GdipDrawImageRectRectI+0x405 (No unwind info) 45, GdiPlus.dll!GdipCreatePath+0xac5b (No unwind info) 46, GdiPlus.dll!GdipCreatePath+0x9527 (No unwind info) 47, GdiPlus.dll!GdipCreateFromHDC+0x6b39 (No unwind info) 48, GdiPlus.dll!GdipCreateFromHDC+0x6ce5 (No unwind info) 49, GdiPlus.dll!GdipCreateFromHDC+0x7b91 (No unwind info) 50, GdiPlus.dll!GdipFillPolygon+0xa8 (No unwind info) 51, VA_X.dll!DispatchMessageWHook+0x97cb4 (No unwind info) 52, VA_X.dll!GetVaService+0x59593 (No unwind info) 53, VA_X.dll!GetVaService+0x5344e (No unwind info) 54, VA_X.dll!PeekMessageWHook+0xdbdf (No unwind info) 55, VA_X.dll!PeekMessageWHook+0xd9e5 (No unwind info) 56, VA_X.dll!PeekMessageWHook+0x10f53 (No unwind info) 57, VA_X.dll!GetVaService+0x512a6 (No unwind info) 58, VA_X.dll!PeekMessageWHook+0x11340 (No unwind info) 59, VA_X.dll!PeekMessageWHook+0x12b00 (No unwind info) 60, VA_X.dll!VaConnectSetup+0x6517 (No unwind info) 61, VA_X.dll!PeekMessageWHook+0xe267 (No unwind info) 62, VA_X.dll!PeekMessageWHook+0xe9f1 (No unwind info) 63, user32.dll!AddClipboardFormatListener+0x4b (No unwind info) 64, user32.dll!EndTask+0x8469 (No unwind info) 65, user32.dll!EndTask+0xad65 (No unwind info) 66, user32.dll!CallNextHookEx+0x373 (No unwind info) 67, user32.dll!IsWindow+0x250 (No unwind info) 68, ntdll.dll!KiUserCallbackDispatcher+0x4d (No unwind info) 69, user32.dll!SendMessageW+0x5b (No unwind info) 70, comctl32.dll!DSA_Sort+0xea67 (No unwind info) 71, comctl32.dll!ImageList_WriteEx+0x37fd (No unwind info) 72, comctl32.dll!ImageList_WriteEx+0x27d7 (No unwind info) 73, comctl32.dll!FreeMRUList+0x3dc (No unwind info) 74, comctl32.dll!ImageList_WriteEx+0x3ea8 (No unwind info) 75, user32.dll!AddClipboardFormatListener+0x4b (No unwind info) 76, user32.dll!EndTask+0x8469 (No unwind info) 77, user32.dll!EndTask+0xad65 (No unwind info) 78, user32.dll!EndTask+0x7f5a (No unwind info) 79, user32.dll!CallWindowProcA+0x1b (No unwind info) 80, VA_X.dll!PeekMessageWHook+0xf778 (No unwind info) 81, VA_X.dll!GetVaService+0x4c7d3 (No unwind info) 82, VA_X.dll!PeekMessageWHook+0x1179b (No unwind info) 83, VA_X.dll!PeekMessageWHook+0x12b00 (No unwind info) 84, VA_X.dll!PeekMessageWHook+0xe267 (No unwind info) 85, VA_X.dll!PeekMessageWHook+0xe9f1 (No unwind info) 86, user32.dll!AddClipboardFormatListener+0x4b (No unwind info) 87, user32.dll!EndTask+0x8469 (No unwind info) 88, user32.dll!EndTask+0xad65 (No unwind info) 89, user32.dll!CallNextHookEx+0x373 (No unwind info) 90, user32.dll!IsWindow+0x250 (No unwind info) 91, ntdll.dll!KiUserCallbackDispatcher+0x4d (No unwind info) 92, user32.dll!DispatchMessageW+0x10 (No unwind info) 93, VA_X.dll!DispatchMessageWHook+0x37 (No unwind info) 94, msenv.dll!DllMain+0x209d (No unwind info) 95, msenv.dll!VStudioTerm+0x1ebae (No unwind info) 96, msenv.dll!VStudioTerm+0x1eb04 (No unwind info) 97, msenv.dll!VStudioTerm+0x1ea48 (No unwind info) 98, msenv.dll!VStudioTerm+0x1ea0f (No unwind info) 99, msenv.dll!VStudioTerm+0x1d6d9 (No unwind info) 100, msenv.dll!VStudioMain+0x7b (No unwind info) 101, devenv.exe!IsAssertEtwEnabled+0x18f92 (No unwind info) 102, devenv.exe!IsAssertEtwEnabled+0xa5a6 (No unwind info) 103, devenv.exe!IsAssertEtwEnabled+0x18cf8 (No unwind info) 104, devenv.exe!IsAssertEtwEnabled+0x18e11 (No unwind info) 105, kernel32.dll!BaseThreadInitThunk+0x24 (No unwind info) 106, ntdll.dll!RtlGetAppContainerNamedObjectPath+0x137 (No unwind info) 107, ntdll.dll!RtlGetAppContainerNamedObjectPath+0x107 (No unwind info)
Please let me know if I should provide anything else to help you.
|
6 L A T E S T R E P L I E S (Newest First) |
feline |
Posted - May 05 2018 : 05:04:19 AM As far as I can tell, based on all of my experiments, the Windows Performance Analyzer will never report VA symbol names. I don't know why, but I only ever get the same missing id event message as you have in the screen shot above. I have set up the symbol paths and pointed the Analyzer at the PDB files for VA, but this makes no difference.
I have done recordings here, logging everything, with details turned on, and I still get the same results. So while this provides a very detailed view of where the performance is going, it isn't actually telling me anything useful about what VA is actually doing here.
I have tried searching for the missing image id event message, but so far have not found anything useful. Assuming you are more familiar with this tool than I am, is there something I should know about here?
The only "clue" that I am seeing in your logs is that MsMpEng.exe is also using a lot of CPU time at the same time. Not as much, but the hard drive isn't so active. We have occasionally seen conflicts with anti-virus programs that cause performance problems, so have you tried excluding your solution source code tree and VA's symbol database from the Microsoft anti-virus scanner to see if this makes any difference?
This page explains where to look for the VA symbol database:
https://support.wholetomato.com/default.asp?W332 |
feline |
Posted - May 02 2018 : 11:00:47 AM Thank you for the link, I have never heard of this tool. When I searched for information on the log file you sent, I was just pointed at Windows Event Viewer, which really isn't a great deal of help here.
Reading up on this now.
Off the top of my head, the only reason the Find References Results window should be redrawn once the find has finished is if you refresh the window. However this will re-run the find, so it should be obvious if this is happening. Toggling settings for which bits of information to show in the results window? But again, this should require triggering somehow, and not happen spontaneously.
I will try and see what the profile of these actions looks like, and see if this offers a clue. |
supermassive |
Posted - May 02 2018 : 01:30:25 AM - Can reproduce with both colored and not-colored views. - Can reproduce with VATest profile
Could you please take a look at etl file I provided earlier? (https://docs.microsoft.com/en-us/windows-hardware/test/wpt/windows-performance-analyzer)
According to hot path VA takes most of CPU time in DrawTree call which after some callbacks ends in GDIPlus and DrawText(see screenshots below).
So in my case it looks like Find References Results window is being constantly redrawed when visible.
I'll wait a response from you if etl log points to some bug in VA or some more info required. Then I'll try to reset my environment and see if it helps.
|
feline |
Posted - Apr 28 2018 : 4:13:15 PM How easily can you reproduce this problem? The fact that simply hiding, without actually closing, the Find References Results window is very interesting, and makes me wonder if we are seeing an interaction problem with another extension installed in your IDE. The scan has clearly finished, so this should not be a problem with file access.
Do you have:
VA Options -> Coloring and Attributes -> Apply coloring to -> Views
turned On or Off? This should not be a factor, but if you have this turned On, turning it Off would be an interesting test.
If you are able to reproduce this fairly easily, can you please close all instances of the IDE, and then run the command:
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.exe" /RootSuffix VATest
this should be the correct path to your VS2017 exe. The command line creates a new, test profile, separate to your normal default profile. You will need to install VA from the online extension store. Can you please try and reproduce the problem with this profile? If it happens here, then the trigger is something about your wider system. If the problem does not happen here then it is something about your default profile.
In order to load your normal, default profile simply run the IDE normally, without any command line switches. |
supermassive |
Posted - Apr 27 2018 : 10:33:37 PM quote:
When you say you "close" the Find References Results window, how are you doing this? Are you unpinning it, so it can auto hide? This assumes that it is docked to one side of the IDE. Or are you actually closing the window with the close button?
I click close(X) button. I actually tested Hide option from "triangle" menu and it starts working correctly(no CPU usage). Same for autohide. Looks like the issue happens when that window is visible.
quote:
When you see the problem, what is shown in the Find References Results toolbar? On the right hand side of the toolbar button VA reports the number of references and the number of files, once the find has finished. While the find is still running it says that it is searching. I am just double checking that VA thinks the find has finished.
Search progress bar is not visible and there is a text like "Found 4 references in 2 files..."
I've captured etl file where Find References Results was active ~20 seconds(no search was done, only hide/open with pin button). https://www.dropbox.com/s/qzs5bwg6qvg6pb7/VA.etl.7z?dl=0 Hope this helps |
feline |
Posted - Apr 27 2018 : 10:33:31 AM When you say you "close" the Find References Results window, how are you doing this? Are you unpinning it, so it can auto hide? This assumes that it is docked to one side of the IDE. Or are you actually closing the window with the close button?
When you see the problem, what is shown in the Find References Results toolbar? On the right hand side of the toolbar button VA reports the number of references and the number of files, once the find has finished. While the find is still running it says that it is searching. I am just double checking that VA thinks the find has finished. |
|
|