Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Visual Assist
 Technical Support
 VS unresponsive

You must be registered to post a reply.
Click here to register.

Screensize:
UserName:
Password:
Format: BoldItalicizeUnderlineStrikethrough Align leftCenterAlign right Insert horizontal ruleUpload and insert imageInsert hyperlinkInsert email addressInsert codeInsert quoted textInsert listInsert Emoji
   
Message:

Forum code is on.
Html is off.

 
Check to subscribe to this topic.
   

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.

© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000