Author |
Topic |
|
EugeneKozlov
Senior Member
Russia
39 Posts |
Posted - Oct 19 2018 : 1:28:34 PM
|
I have a bunch of methods that are marked by Intellisense as 'function definition not found' (green underline). When I hover such methods, Visual Studio sometimes stucks and get totally unresponsible. Cursor is flickering, tho. It looks like tooltip is trying to appear, but failing. Visual Studio gets unstacked after 5-10-15-? minutes.
If VA is off, hovering works fine.
It has almost 100% reproducibility when I'm editing one specific file in my (quite big) project. Frustrating as hell. I'll try to make sample project later...
VA_X.dll file version 10.9.2291.5 built 2018.10.02 DevEnv.exe version 15.7.27703.2047 Professional msenv.dll version 15.0.27703.2042 Comctl32.dll version 6.10.17134.345 Windows 10 10.0 1803 Build 17134.345 4 processors (x86-64, WOW64) Language info: 1252, 0x409
Main thread stacktrace:
0, wow64win.dll+0x10144 1, wow64win.dll+0x5f1f 2, wow64.dll!Wow64SystemServiceEx+0x153 3, wow64cpu.dll!TurboDispatchJumpAddressEnd+0xb 4, wow64cpu.dll!BTCpuSimulate+0x9 5, wow64.dll!Wow64LdrpInitialize+0x236 6, wow64.dll!Wow64LdrpInitialize+0x120 7, ntdll.dll!LdrInitShimEngineDynamic+0x308f 8, ntdll.dll!memset+0x1ec93 9, ntdll.dll!LdrInitializeThunk+0x5b 10, ntdll.dll!LdrInitializeThunk+0xe 11, win32u.dll!NtUserCreateWindowEx+0xc (No unwind info) 12, user32.dll!CreateWindowExW+0x1ba (No unwind info) 13, user32.dll!CreateWindowExW+0x38 (No unwind info) 14, DomainNeutralILStubClass.IL_STUB_PInvoke(Int32, System.String, System.String, Int32, Int32, Int32, Int32, Int32, System.Runtime.InteropServices.HandleRef, System.Runtime.InteropServices.HandleRef, System.Runtime.InteropServices.HandleRef, System.Object) + 0xeb <-- WindowsBase.ni.dll+0xe91d3 (No unwind info) 15, MS.Win32.UnsafeNativeMethods.CreateWindowEx(Int32, System.String, System.String, Int32, Int32, Int32, Int32, Int32, System.Runtime.InteropServices.HandleRef, System.Runtime.InteropServices.HandleRef, System.Runtime.InteropServices.HandleRef, System.Object) + 0x38 <-- WindowsBase.ni.dll+0xbb9b0 (No unwind info) 16, MS.Win32.HwndWrapper..ctor(Int32, Int32, Int32, Int32, Int32, Int32, Int32, System.String, IntPtr, MS.Win32.HwndWrapperHook[]) + 0x304 <-- WindowsBase.ni.dll+0xbb748 (No unwind info) 17, System.Windows.Interop.HwndSource.Initialize(System.Windows.Interop.HwndSourceParameters) + 0x267 <-- PresentationCore.ni.dll+0x1ec74f (No unwind info) 18, System.Windows.Interop.HwndSource..ctor(System.Windows.Interop.HwndSourceParameters) + 0x6b <-- PresentationCore.ni.dll+0x6c6f2f (No unwind info) 19, System.Windows.Controls.Primitives.Popup+PopupSecurityHelper.BuildWindow(Int32, Int32, System.Windows.Media.Visual, Boolean, System.Windows.Interop.HwndSourceHook, System.Windows.AutoResizedEventHandler) + 0x1a2 <-- PresentationFramework.ni.dll+0xde0062 (No unwind info) 20, System.Windows.Controls.Primitives.Popup.BuildWindow(System.Windows.Media.Visual) + 0xf4 <-- PresentationFramework.ni.dll+0xba189c (No unwind info) 21, System.Windows.Controls.Primitives.Popup.CreateWindow(Boolean) + 0xe4 <-- PresentationFramework.ni.dll+0xba1644 (No unwind info) 22, System.Windows.Controls.Primitives.Popup.OnIsOpenChanged(System.Windows.DependencyObject, System.Windows.DependencyPropertyChangedEventArgs) + 0xed <-- PresentationFramework.ni.dll+0xb9ff91 (No unwind info) 23, System.Windows.DependencyObject.OnPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs) + 0x4d <-- WindowsBase.ni.dll+0xc3d6d (No unwind info) 24, System.Windows.FrameworkElement.OnPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs) + 0x74 <-- PresentationFramework.ni.dll+0x2f93d4 (No unwind info) 25, System.Windows.DependencyObject.NotifyPropertyChange(System.Windows.DependencyPropertyChangedEventArgs) + 0x3c <-- WindowsBase.ni.dll+0xc3b3c (No unwind info) 26, System.Windows.DependencyObject.UpdateEffectiveValue(System.Windows.EntryIndex, System.Windows.DependencyProperty, System.Windows.PropertyMetadata, System.Windows.EffectiveValueEntry, System.Windows.EffectiveValueEntry ByRef, Boolean, Boolean, System.Windows.OperationType) + 0x6db <-- WindowsBase.ni.dll+0xc210b (No unwind info) 27, System.Windows.DependencyObject.SetValueCommon(System.Windows.DependencyProperty, System.Object, System.Windows.PropertyMetadata, Boolean, Boolean, System.Windows.OperationType, Boolean) + 0x2d3 <-- WindowsBase.ni.dll+0xc1303 (No unwind info) 28, System.Windows.DependencyObject.SetValue(System.Windows.DependencyProperty, System.Object) + 0x35 <-- WindowsBase.ni.dll+0xd01f5 (No unwind info) 29, Microsoft.VisualStudio.Text.AdornmentLibrary.ToolTip.Implementation.BaseWpfToolTipPresenter.Start(System.Collections.Generic.IEnumerable`1<System.Object>) + 0x13c <-- 0x12aad14 (No unwind info) 30, Microsoft.VisualStudio.Text.AdornmentLibrary.ToolTip.Implementation.MouseTrackingWpfToolTipPresenter.StartOrUpdate(Microsoft.VisualStudio.Text.ITrackingSpan, System.Collections.Generic.IEnumerable`1<System.Object>) + 0x1a1 <-- 0x12a97f1 (No unwind info) 31, Microsoft.VisualStudio.Text.AdornmentLibrary.ToolTip.Implementation.GuardedToolTipPresenter+<>c__DisplayClass10_0.<StartOrUpdate>b__0() + 0x18 <-- 0x12a9638 (No unwind info) 32, Microsoft.VisualStudio.Text.Utilities.GuardedOperations.CallExtensionPoint(System.Object, System.Action) + 0x37 <-- Microsoft.VisualStudio.Platform.VSEditor.ni.dll+0x21ee87 (No unwind info) 33, Microsoft.VisualStudio.Text.Utilities.GuardedOperations.CallExtensionPoint(System.Action) + 0xd <-- Microsoft.VisualStudio.Platform.VSEditor.ni.dll+0x246f7d (No unwind info) 34, Microsoft.VisualStudio.Language.Intellisense.Implementation.AsyncQuickInfoSession.CreateAndStartPresenter() + 0xcc <-- 0x12a7e9c (No unwind info) 35, Microsoft.VisualStudio.Language.Intellisense.Implementation.AsyncQuickInfoSession+<StartUIThreadEpilogueAsync>d__38.MoveNext() + 0x132 <-- 0x12a76c2 (No unwind info) 36, System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.InvokeMoveNext(System.Object) + 0x19 <-- mscorlib.ni.dll+0x3d12d9 (No unwind info) 37, System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) + 0xe5 <-- mscorlib.ni.dll+0x3f29a5 (No unwind info) 38, System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) + 0x16 <-- mscorlib.ni.dll+0x3f28b6 (No unwind info) 39, System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run() + 0x5b <-- mscorlib.ni.dll+0x3d123b (No unwind info) 40, Microsoft.VisualStudio.Threading.JoinableTaskFactory+SingleExecuteProtector.TryExecute() + 0x98 <-- Microsoft.VisualStudio.Threading.ni.dll+0x4c9f8 (No unwind info) 41, Microsoft.VisualStudio.Threading.JoinableTask.CompleteOnCurrentThread() + 0x2cf <-- Microsoft.VisualStudio.Threading.ni.dll+0x491bf (No unwind info) 42, Microsoft.VisualStudio.Language.Intellisense.Implementation.LegacyQuickInfoSession.Start() + 0x55 <-- 0x12a2755 (No unwind info) 43, Microsoft.VisualStudio.Editor.Implementation.ShimQuickInfoSource+<>c__DisplayClass11_0.<RetrySession>b__0(System.Object, System.EventArgs) + 0x152 <-- 0x12a256a (No unwind info) 44, System.Windows.Threading.DispatcherTimer.FireTick(System.Object) + 0x34 <-- WindowsBase.ni.dll+0xd1014 (No unwind info) 45, System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) + 0x52 <-- WindowsBase.ni.dll+0xbc062 (No unwind info) 46, System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) + 0x34 <-- WindowsBase.ni.dll+0xbbfa4 (No unwind info) 47, System.Windows.Threading.DispatcherOperation.InvokeImpl() + 0xd2 <-- WindowsBase.ni.dll+0xbe7a2 (No unwind info) 48, System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object) + 0x3c <-- WindowsBase.ni.dll+0xbe6cc (No unwind info) 49, System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) + 0xe5 <-- mscorlib.ni.dll+0x3f29a5 (No unwind info) 50, System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) + 0x16 <-- mscorlib.ni.dll+0x3f28b6 (No unwind info) 51, System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) + 0x41 <-- mscorlib.ni.dll+0x3f2871 (No unwind info) 52, MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object) + 0xb6 <-- WindowsBase.ni.dll+0x34df03 (No unwind info) 53, System.Windows.Threading.DispatcherOperation.Invoke() + 0x4e <-- WindowsBase.ni.dll+0xbe38e (No unwind info) 54, System.Windows.Threading.Dispatcher.ProcessQueue() + 0x165 <-- WindowsBase.ni.dll+0xba9d5 (No unwind info) 55, System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) + 0x5a <-- WindowsBase.ni.dll+0xbabca (No unwind info) 56, MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) + 0x9b <-- WindowsBase.ni.dll+0xbc28b (No unwind info) 57, MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object) + 0x6b <-- WindowsBase.ni.dll+0xbc1db (No unwind info) 58, System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) + 0x52 <-- WindowsBase.ni.dll+0xbc062 (No unwind info) 59, System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) + 0x34 <-- WindowsBase.ni.dll+0xbbfa4 (No unwind info) 60, System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32) + 0x131 <-- WindowsBase.ni.dll+0xba581 (No unwind info) 61, MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr) + 0xee <-- WindowsBase.ni.dll+0xbbaae (No unwind info) 62, CLRStub[StubLinkStub]@717a52f1039dd31a <-- 0x39dd31a (No unwind info) 63, user32.dll!AddClipboardFormatListener+0x49b (No unwind info) 64, user32.dll!DispatchMessageW+0x97a (No unwind info) 65, user32.dll!DispatchMessageW+0x22e (No unwind info) 66, user32.dll!DispatchMessageW+0x10 (No unwind info) 67, VA_X.dll!DispatchMessageWHook+0x4d (No unwind info) 68, msenv.dll!DllMain+0x2d9e5 (No unwind info) 69, msenv.dll!DllMain+0x5e214 (No unwind info) 70, msenv.dll!DllMain+0x5e16a (No unwind info) 71, msenv.dll!DllMain+0x5e0ae (No unwind info) 72, msenv.dll!DllMain+0x5e075 (No unwind info) 73, msenv.dll!DllMain+0x5d647 (No unwind info) 74, msenv.dll!VStudioMain+0x7b (No unwind info) 75, devenv.exe!IsAssertEtwEnabled+0x18fc2 (No unwind info) 76, devenv.exe!IsAssertEtwEnabled+0xa5b6 (No unwind info) 77, devenv.exe!IsAssertEtwEnabled+0x18d24 (No unwind info) 78, devenv.exe!IsAssertEtwEnabled+0x18e3d (No unwind info) 79, kernel32.dll!BaseThreadInitThunk+0x24 (No unwind info) 80, ntdll.dll!RtlValidSecurityDescriptor+0x11a (No unwind info) 81, ntdll.dll!RtlValidSecurityDescriptor+0xea (No unwind info) |
|
feline
Whole Tomato Software
United Kingdom
19025 Posts |
Posted - Oct 20 2018 : 06:35:17 AM
|
Apologies for this. As a first step, can you please try turning Off the following options, if you have any of them turned On:
VA Options -> Coloring and Attributes -> Apply coloring to -> Tooltips
VA Options -> Display -> Show Quick Info tooltips for more symbols
should the symbol be underlined in the IDE? Does this code compile successfully?
Do you still see this underlining when VA is disabled?
If you open VA's Find Symbol in Solution dialog (Alt-Shift-S) and type in the underlined method (macro) name, what happens? I am wondering if VA knows the definition of this symbol, and if VA is able to jump to it when asked to. It looks like VA is colouring this as a macro, is this correct? It matches what is shown in the tooltip, but if the macro is known, I am wondering why it is being underlined in the first place.
Also, next time you reproduce this problem could you please save out a mini dump file and send it to us? There is very little sign of VA in this call stack, so its possible the mini dump will offer some more clues about what is going on here.
Please submit the file via the form:
http://www.wholetomato.com/support/contact.asp
including this thread ID or URL in the description, so we can match it up. |
zen is the art of being at one with the two'ness |
|
|
EugeneKozlov
Senior Member
Russia
39 Posts |
Posted - Oct 22 2018 : 03:56:04 AM
|
Thanks for reply!
quote: VA Options -> Coloring and Attributes -> Apply coloring to -> Tooltips
Was already off
quote: VA Options -> Display -> Show Quick Info tooltips for more symbols
Was already off too
quote: should the symbol be underlined in the IDE?
Yes, green underline is expected, and it's just a minor flaw in Intellisense implementation detection
quote: Does this code compile successfully? Do you still see this underlining when VA is disabled?
Yes. Yes.
quote: If you open VA's Find Symbol in Solution dialog (Alt-Shift-S) and type in the underlined method (macro) name, what happens? I am wondering if VA knows the definition of this symbol, and if VA is able to jump to it when asked to. It looks like VA is colouring this as a macro, is this correct? It matches what is shown in the tooltip, but if the macro is known, I am wondering why it is being underlined in the first place.
These macros are GMock stuff used to generate mock implementations of the functions. The function body is actually defined within this macro (it's class definition), but Intellisense can't see it, and it's not a big issue.
quote: Also, next time you reproduce this problem could you please save out a mini dump file and send it to us? There is very little sign of VA in this call stack, so its possible the mini dump will offer some more clues about what is going on here.
I've sent a few minidumps grabbed during multiple hangs, HTH |
Edited by - EugeneKozlov on Oct 22 2018 03:56:29 AM |
|
|
feline
Whole Tomato Software
United Kingdom
19025 Posts |
Posted - Oct 22 2018 : 07:29:45 AM
|
I have the mini dump files, I am looking at these now, thank you for these.
While I do this, do you mind trying a test? Now I know this is a macro call, and possibly one that is confusing VA, I am wondering if "hiding" the macro from VA will help. To do this please create a new, empty txt file called "va_stdafx.h" and place it in the same directory as your .SLN file. Now edit the file, and add the line:
#define MOCK_METHOD4(memberParam, funcParam)
making sure that the file ends with a blank line. There is no need to add this file to the solution, VA looks specifically for this file, and reads it first if found.
To get VA to use the file, please press the button:
VA Options -> Performance -> Rebuild symbol databases
and restart your IDE. This will cause VA to re-parse all of your stable include directories, but this should only take a few extra moments. If the macro is indeed the problem, then this should fix it. |
zen is the art of being at one with the two'ness |
|
|
EugeneKozlov
Senior Member
Russia
39 Posts |
Posted - Oct 22 2018 : 12:30:51 PM
|
Thanks. It seems that "Rebuild Database" itself fixed the issue. I'm going to keep VS running with this file for a while, so I could check the outcome of this trick as time passes. I'll let you know if I find out anything. |
|
|
feline
Whole Tomato Software
United Kingdom
19025 Posts |
Posted - Oct 22 2018 : 12:56:08 PM
|
Oh. That rather suggests that somehow VA ended up with a corrupted symbol database, which the rebuild fixed. That's not supposed to happen, but I am glad the problem is now fixed, and hopefully it is going to stay fixed. |
zen is the art of being at one with the two'ness |
|
|
EugeneKozlov
Senior Member
Russia
39 Posts |
Posted - Oct 25 2018 : 10:19:06 AM
|
I've just hit this defect with plain function signature in the same *.sln:
This ghost rectangle is actually blinkning pop-up with text. This time VS hanged forever, I got mini and full dumps just in case, but I don't think they are that different.
The issue here is that hangs mostly occur when I create new functions. So the Rebuild Database workaround doesn't really help. I wanted to disable these green underlinings at all, but VS doesn't provide such functionality (or I failed to find it) |
Edited by - EugeneKozlov on Oct 25 2018 10:43:41 AM |
|
|
feline
Whole Tomato Software
United Kingdom
19025 Posts |
Posted - Oct 26 2018 : 08:17:10 AM
|
To turn off just the underlining, you can set:
IDE tools menu -> Options -> Text Editor -> C/C++ -> Advanced -> Disable Squiggles = True
if you don't mind, can you try turning off IDE intellisense totally, via the setting:
IDE tools menu -> Options -> Text Editor -> C/C++ -> Advanced -> Disable Database = True
this will also stop the IDE underlining anything, since the underlining relies on the intellisense parser and database.
While we see if this makes any difference, can you please submit the full dump, just in case it offers some different clues? Please submit it via the form:
http://www.wholetomato.com/support/contact.asp
including this thread ID or URL in the description, so we can match it up. This form is designed to handle large file attachments. |
zen is the art of being at one with the two'ness |
|
|
EugeneKozlov
Senior Member
Russia
39 Posts |
Posted - Oct 30 2018 : 06:31:06 AM
|
quote: To turn off just the underlining, you can set:
IDE tools menu -> Options -> Text Editor -> C/C++ -> Advanced -> Disable Squiggles = True
Unfortunatelly, this green underline is _not_ error squiggles and cannot be disabled via this setting.
I'm uploading full dump right now.
|
Edited by - EugeneKozlov on Oct 30 2018 10:11:25 AM |
|
|
feline
Whole Tomato Software
United Kingdom
19025 Posts |
Posted - Oct 30 2018 : 10:52:14 AM
|
Does turning off the IDE intellisense, via the setting:
IDE tools menu -> Options -> Text Editor -> C/C++ -> Advanced -> Disable Database = True
remove the green underlines? Before trying to work out how to turn them off, I just want to confirm that they really are coming from the IDE. |
zen is the art of being at one with the two'ness |
|
|
sean
Whole Tomato Software
USA
2817 Posts |
Posted - Nov 01 2018 : 5:23:28 PM
|
The Create Declaration/Definition squiggles can be disabled by setting the following to True: Tools | Options | Text Editor | C/C++ | Advanced | Refactoring | Disable Create Declaration/Definition Light Bulbs
Since you are on 15.7, you might want to consider updating to 15.8 in case the problem is fixed by a VS update. |
|
|
feline
Whole Tomato Software
United Kingdom
19025 Posts |
Posted - Nov 02 2018 : 10:56:18 AM
|
All I can find in the dump file is lots of evidence of threads waiting for something, but no obvious signs of what anything is waiting for.
If installing the IDE update does not help, can you please try closing all instances of the IDE and running the command:
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe" /RootSuffix VATest
this will create and load a new, default profile in VS2017, so you will be asked what basic settings to you. Just keep the settings at the default values please, and then install VA from the online extensions store, via the dialog:
IDE tools menu -> Extensions and Updates...
since you will only have the default extensions that come with the IDE. If you now load your solution in this default profile, do you still see the problem? I am trying to find out if the problem is machine or profile specific. If it is profile specific then this suggests either a settings problem, or possibly a corruption problem with the default profile, which would explain why I have not been able to reproduce this here so far. |
zen is the art of being at one with the two'ness |
|
|
|
Topic |
|
|
|