The official source of product insight from the Visual Studio Engineering Team
We recently blogged about a crashing bug in the Visual Studio 2010 Release Candidate (RC) on machines using UI Automation (UIA). We’ve since discovered that there are actually two bugs, both of which will only affect a certain group of users but will cause the IDE to be very unstable for those users. Both of these issues now have patches available for the RC and have already been fixed for VS 2010 RTM.
Both bugs affect the same group of users. Only machines with the Visual Studio 2010 RC and an application or device actively using UI Automation 3.0 APIs are affected. This includes but may not be limited to RC users who are using touch displays, tablet PCs, screen reader software, and some 3rd-party applications.
Both bugs cause Visual Studio to be quite unstable. Bug #1 causes frequent crashing during rapid typing in the editor while IntelliSense is popping up and/or being dismissed. Bug #2 causes somewhat less frequent crashing during tooltip invocation, most commonly when hovering over an identifier to view a QuickInfo tooltip.
There are two separate patches available for these issues in the VS 2010 RC, and we’d encourage RC users to download and install them both. We also have fixes for both bugs checked in for VS 2010 RTM. You won’t need a patch or workaround for the final release, and you’ll be able to use the RTM build on machines with UIA without experiencing these crashes.
If you have any questions about this issue, please feel free to post in the comments below. If you’re experiencing crashes without UIA or in scenarios without IntelliSense, the root cause is likely different, so we’d encourage you to collect a crash dump if possible and file a Connect bug so we can investigate.
Brittany Behrens Program Manager, Visual Studio Editor Team
I’m Brittany, a Program Manager on the Visual Studio Editor team. Some of you may recognize me from Connect bugs or as the main voice of @VSEditor on Twitter, and I’m responsible for a variety of Editor features. I love hearing from customers, so please let me know what you think!
Can you do a !PrintException? You did a .loadby sos clr right? There is a managed exception, but the info above doesn't help, unfortunately. Did you set up the SymbolPath? It doesn't look like the symbols are resolved.
Started from the beginning and followed instructions:
0:000> .loadby sos clr
eax=0026c47c ebx=00000005 ecx=00000005 edx=00000000 esi=0026c528 edi=00398aa8
eip=75c79617 esp=0026c47c ebp=0026c4cc iopl=0 nv up ei pl nz na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202
75c79617 c9 leave
0026c4cc 6555ac08 KERNELBASE!RaiseException+0x58
0026c55c 655cab0b clr!RaiseTheExceptionInternalOnly+0x276
0026c598 65788e1e clr!UnwindAndContinueRethrowHelperAfterCatch+0x60
*** WARNING: Unable to verify checksum for C:\windows\assembly\NativeImages_v4.0.30319_32\PresentationCore\7a1eeb425f9318f432afead4b2da965a\PresentationCore.ni.dll
0026c634 6034b3bd clr!JIT_RngChkFail+0xde
0026c67c 5fc0ba06 PresentationCore_ni+0x8fb3bd
0026c6f8 5fc0b5ae PresentationCore_ni+0x1bba06
0026c778 5fc0b26f PresentationCore_ni+0x1bb5ae
0026c7c8 5fc0a30b PresentationCore_ni+0x1bb26f
0026c850 5fc09c71 PresentationCore_ni+0x1ba30b
0026c87c 5fc09bd2 PresentationCore_ni+0x1b9c71
*** WARNING: Unable to verify checksum for C:\windows\assembly\NativeImages_v4.0.30319_32\PresentationFramewo#\8357ade60159c25ee88db0aab8686e6d\PresentationFramework.ni.dll
0026c8ac 5819b750 PresentationCore_ni+0x1b9bd2
0026ca24 5817475a PresentationFramework_ni+0x2eb750
0026cc30 5fbf73c3 PresentationFramework_ni+0x2c475a
0026ccb4 581aa8d2 PresentationCore_ni+0x1a73c3
0026cd08 581a9dc5 PresentationFramework_ni+0x2fa8d2
0026cda0 581a90eb PresentationFramework_ni+0x2f9dc5
0026ce68 5817475a PresentationFramework_ni+0x2f90eb
0026d074 5fbf73c3 PresentationFramework_ni+0x2c475a
0026d0f8 581aa8d2 PresentationCore_ni+0x1a73c3
0026d14c 581a9dc5 PresentationFramework_ni+0x2fa8d2
0026d1e4 581a90eb PresentationFramework_ni+0x2f9dc5
0026d2ac 5817475a PresentationFramework_ni+0x2f90eb
0026d4b8 5fbf73c3 PresentationFramework_ni+0x2c475a
0026d53c 581aac5b PresentationCore_ni+0x1a73c3
0026d574 581adc20 PresentationFramework_ni+0x2fac5b
0026d58c 5817475a PresentationFramework_ni+0x2fdc20
0026d798 5fbf73c3 PresentationFramework_ni+0x2c475a
0026d81c 5819d65f PresentationCore_ni+0x1a73c3
0026d8f4 5817475a PresentationFramework_ni+0x2ed65f
0026db00 5fbf73c3 PresentationFramework_ni+0x2c475a
0026db84 581aaa7e PresentationCore_ni+0x1a73c3
0026dbcc 5817475a PresentationFramework_ni+0x2faa7e
0026ddd8 5fbf73c3 PresentationFramework_ni+0x2c475a
0026de5c 581a8dbc PresentationCore_ni+0x1a73c3
0026df1c 5817475a PresentationFramework_ni+0x2f8dbc
0026e128 5fbf73c3 PresentationFramework_ni+0x2c475a
*** WARNING: Unable to verify checksum for C:\windows\assembly\NativeImages_v4.0.30319_32\Microsoft.VisualStu#\0ae881ae2f569623ae0b15ace2014e6f\Microsoft.VisualStudio.Platform.VSEditor.ni.dll
0026e1ac 5aaf13a7 PresentationCore_ni+0x1a73c3
0026e1e4 5aaf0bbe Microsoft_VisualStudio_Platform_VSEditor_ni+0x1413a7
0026e930 5aaef876 Microsoft_VisualStudio_Platform_VSEditor_ni+0x140bbe
0026e94c 5ab0e518 Microsoft_VisualStudio_Platform_VSEditor_ni+0x13f876
0026e994 5ab0e47c Microsoft_VisualStudio_Platform_VSEditor_ni+0x15e518
*** WARNING: Unable to verify checksum for C:\windows\assembly\NativeImages_v4.0.30319_32\WindowsBase\f1f3a74eb37b27b7d05b8ffa941f8473\WindowsBase.ni.dll
0026e9b0 6058fac2 Microsoft_VisualStudio_Platform_VSEditor_ni+0x15e47c
0026e9f0 605929b5 WindowsBase_ni+0xafac2
0026ea3c 60592918 WindowsBase_ni+0xb29b5
0026ea54 654d21db WindowsBase_ni+0xb2918
0026ea64 654f4a2a clr!CallDescrWorker+0x33
0026eae0 654f4bcc clr!CallDescrWorkerWithHandler+0x8e
0026ec1c 654f4c01 clr!MethodDesc::CallDescr+0x194
0026ec38 654f4c21 clr!MethodDesc::CallTargetWorker+0x21
0026ec50 6556f5f8 clr!MethodDescCallSite::Call+0x1c
0026ee34 6556f74f clr!ExecuteCodeWithGuaranteedCleanupHelper+0xbb
*** WARNING: Unable to verify checksum for C:\windows\assembly\NativeImages_v4.0.30319_32\mscorlib\4ff1f12a08d455f195ba996fe77497c6\mscorlib.ni.dll
0026eee0 61de4cba clr!ReflectionInvocation::ExecuteCodeWithGuaranteedCleanup+0x138
0026ef18 61de7f34 mscorlib_ni+0x234cba
0026ef38 60592848 mscorlib_ni+0x237f34
0026ef78 6058e57e WindowsBase_ni+0xb2848
0026efbc 6058e70f WindowsBase_ni+0xae57e
0026effc 6058fdb6 WindowsBase_ni+0xae70f
0026f048 6058fce5 WindowsBase_ni+0xafdb6
0026f068 6058fb93 WindowsBase_ni+0xafce5
0026f080 6058fac2 WindowsBase_ni+0xafb93
0026f0c0 6058e050 WindowsBase_ni+0xafac2
0026f104 6058f5e0 WindowsBase_ni+0xae050
0026f180 76c786ef WindowsBase_ni+0xaf5e0
0026f1ac 76c78876 USER32!InternalCallWinProc+0x23
0026f224 76c789b5 USER32!UserCallWinProcCheckWow+0x14b
0026f284 76c78e9c USER32!DispatchMessageWorker+0x35e
0026f294 65c8d42b USER32!DispatchMessageW+0xf
0026f2a4 65c8d521 msenv!ProcessMessage+0x69
0026f2e0 65c930cb msenv!CMsoCMHandler::EnvironmentMsgLoop+0xd8
0026f320 65c92ffc msenv!CMsoCMHandler::FPushMessageLoop+0x156
0026f344 65c92f5d msenv!SCM::FPushMessageLoop+0xab
0026f360 65c92f2a msenv!SCM_MsoCompMgr::FPushMessageLoop+0x2a
0026f380 65c92e6c msenv!CMsoComponent::PushMsgLoop+0x28
0026f418 65badb92 msenv!VStudioMainLogged+0x553
0026f444 013f8fd0 msenv!VStudioMain+0xbc
0026f47c 013f3277 vbexpress!util_CallVsMain+0xfd
0026f768 013f46cc vbexpress!CVBExpressId::Run+0x8d9
0026f798 0140d01d vbexpress!WinMain+0x9c
0026f82c 76bd1194 vbexpress!operator new+0x1e1
0026f838 77aab429 kernel32!BaseThreadInitThunk+0xe
0026f878 77aab3fc ntdll!__RtlUserThreadStart+0x70
0026f890 00000000 ntdll!_RtlUserThreadStart+0x1b
Also this was at the beginning which shows the symbolPath setup
*** wait with pending attach
Symbol search path is: SRV* msdl.microsoft.com/.../symbols
Executable search path is:
ModLoad: 013e0000 01472000 C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\vbexpress.exe
ModLoad: 77a50000 77b8d000 C:\windows\SYSTEM32\ntdll.dll
I don't know if this helps but while waiting for your response I have continued to work with the IDE and have found it only crashes when I attempt to enter information into brackets. ??
No, unfortunately we aren't getting the info in the above posts ;( Can you try this, do everything as before but instead of doing kp or any of that type the following instruction in WinDBG after VS has crashed
.dump /ma <some path you will be able to easily locate>\vscrash.dmp
or call it anything you want (doesn't have to be vscrash.dmp, but having the .dmp extension is probably best to make loading it easier on my end). Once that has completed (may take awhile) post back here and I will find a way for you to get it to me (it is a large file, a few hundred megs at least).
I have created the dump (434MB). I have a Dropbox account, can I drop the file there and give you access to it??
That should work, you can shoot me any details at rmolden AT microsoft DOT com.
I grabbed the dump file and took a look at it, it seems there is an ArgumentOutOfRangeException being thrown in WPF. No one on that team has seen this failure before. Could you send me the code file you are editing when it happens (or is it any code file?) and your font settings information for the editor?
It occurs only on the laptop and on any project. I created a new Windows Form Application and started a load sub. As soon as I typed InputBox( the error occured. It seems only to occur when I try to type after opening the bracket. I can cut & paste into the brackets without a problem. By font settings do you mean Debug > Options & Settings > Environment > Fonts & Colors
if so the settings are: Recent files = 10 items shown in both textboxes.
Visual Experience is ticked for Automatically adjust...
Show status bar is ticked
Close button affects... is ticked
Auto Hide ... is NOT ticked
Sorry Ryan that was the Environment settings Fonts & Colors are many. I have also reset the font options to default with the same results.
Can you try a quick test of something for me? Can you disable the font cache service and see if this continues to repro?
You can launch the service console by invoking %windir%\System32\services.msc (if you are on Vista or Win7 you can likely just type Services in the search bar of the Start Menu and it will find it for you).
When the dialog comes up you want to look for something called Windows Presentation Font Cache 18.104.22.168 (XP/Vista) or "Windows Font Cache Service" (Win7). When you find it double click on it and push the Stop button in the dialog that pops up as well as setting the 'Startup Type' combo to 'Disabled'. Then start VS and try to reproduce the crash.
Also, what OS are you using and can you share the exact text you are entering that triggers this? Is it any text at all or just specific text?
You Found IT!!!! The Cache is turned off and I can't reproduce the crash. I am using Win7 and the crash occured everytime I used an open bracket (brace).
However it appears the problem has been found. How important is Font cashing?
Actually a guy on the WPF did, I am just the messenger :) The font cache is a performance booster for WPF apps (all, not just VS), it would be important in apps that make heavy use of text rendering, say like an editor :).
It sounds like your font cache got corrupted, there are some known instances of this happening due to graphics drivers, see here: support.microsoft.com/.../937135
Those instructions won't work for you though as they are for the 3.0 FontCache and VS 2010 (on Win7) is using the DWrite font cache. I will check with the WPF guys about how we can delete that font cache (it will be rebuilt by the system, so deleting it is fine). It will likely involve similar steps to the KB above, with a differently named file. That should allow you to turn back on font caching and not have VS crash :)
In the meantime checking if you have the latest video drivers would be good. If you do and we get the font cache deleted and re-enable the service and it starts happening again we would love to know more about your video card, perhaps it too is corrupting the cache and it is one we are not yet aware of.