Second patch now available for IntelliSense crashes in VS 2010 RC

Second patch now available for IntelliSense crashes in VS 2010 RC

Rate This
  • Comments 44

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.

Who is affected?

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.

What are the symptoms?

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.

How can I fix these crashes?

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

clip_image002I’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!

Leave a Comment
  • Please add 6 and 2 and type the answer here:
  • Post
  • I am having a problem with 2010 Express where the IDE crashes and appears to relate to intellisense.  If I type "Inpu" and select "InputBox" from the options offered and press the "open bracket" the IDE returns "Microsoft VB 2010 has encountered a problem and needs to close" then sometimes it just closes and other it returns another message "Microsoft VB 2010 Express has stopped working"  If I cut and paste the InputBox command there are no problems, its only when I hit the "Open Bracket".  What makes this even weirder is I have been using this install of IDE for months without a problem.  I work on two machines, a laptop at home and a desktop at work and pass the developing application to each via Dropbox.com.  Any clues??

  • @Brad

    Could you attach an instance of VS to VS before making it crash, enable mixed mode debugging, turn off 'Just My Code' and point it at the public Microsoft symbol servers?  If you then repro the crash it should break into the debugging VS instance with information and you can grab a callstack.  You can send it to me at rmolden AT microsoft.com and I can take a look to see if anything obvious jumps out at me.  

    Have you installed any new extensions lately?

    Ryan

  • Hello ryan,

    Thank you for the response, I'm afraid my knowledge is not up to this level.  How do I attach an instance of of VS to VS? I can turn off "Enable Just My Code" in options (currently turned off)and have also ticked Microsoft Symbol Servers.

    I haven't installed any new extensions lately.

    Brad

  • @Brad

    You should be able to launch two instances of VS. Open a project in one so it is easy to identify in the latter steps.  In the other VS instance go to Tools->Attach To Process (I believe this is available in the Express SKUs, if not we would have to use WinDBG, which is...a little less user friendly :)).  Select devenv.exe from the list of listed processes (make sure it is the one whose Title field is showing the project you opened in the other VS instance), also make sure that the Attach To combo above the list of processes is set to "Managed (v4.0) code, Native code".  That should then attach to the other instance of VS, if you switch over to it now and reproduce the crash it should then break into the instance that is debugging and present you with the exception information and a callstack.

    Ryan

  • Ryan,

    Wouldn't you know there is no "Attach To Process" on the Tools Menu.  Should I download WinDBG?

    Brad

  • @Brad

    Sure, definetly less user friendly, but here are the steps you should follow

    1:  Launch VS as before and load a project.

    2:  Launch WinDBG.

    3:  In WinDBG choose File->Attach to a process...

    4:  Find Devenv.exe in the list shown in the dialog that comes up.

    5:  Choose Ok (it will say something like 'save information for workspace', you  can say no to that)

    6:  Once it has attached go to File->Symbol File Path and enter this into the pop-up dialog (without the quotes) "SRV*msdl.microsoft.com/.../symbols"

    7:  Click OK

    8:  Go back to VS.

    9:  Make it crash.

    10:  Go back to Windbg.

    11:  Type ".loadby sos clr" into the typing area at the bottom of the screen and hit enter (again without the quotes).

    12:  type "~0s" into the typing area and hit enter (again, no quotes)

    13:  type "k" into the typing area (again, no quotes) and hit enter.

    That should give you a callstack dumped to the window above where you have been typing, hopefully it will have nice resolved symbols and such (due to step 6), if you could post that here or send it to my mail I can see if anything obvious is wrong or if there is a known bug you are seeing.

    Ryan

  • And the string in step 6 which the blog software turned into a hyperlink should be SRV* followed by HTTP:// followed by msdl.microsoft.com/download/symbols.  Hopefully my spacing above is enough to prevent the blog software from once again turning it into a hyperlink :)

    Ryan

  • Thanks Ryan,

    It looks like a big download (300MB) so will try as you say and let you know what happens.

    Thanks Again

    Brad

  • Are you getting it from here:  www.microsoft.com/.../confirmation.aspx

    I think you can unselect everything except the 'debugging tools', you just need WinDBG...not sure if there is an easier way to get it but you don't need all the SDK stuff that they seem to be bundling it with.

    Ryan

  • That page I linked has these instructions for 'slimming down' the download (You probably want the 'Debugging Tools' under Common Utilities, the x86 version), make sure to uncheck everything else like they say to avoid downloading stuff you don't need:

    The Debugging Tools are listed in two places on the Installation Options screen in the Windows SDK Setup Wizard:

    Select the Debugging Tools option under the Common Utilities if you want the x86 version of the Debugging Tools and you are installing on an x86 computer. This option automatically detects the CPU architecture of the computer on which you are installing the tools and it is the fastest method of installing the tools.

    Select the Debugging Tools option under the Redistributable Packages to download all three versions of the Debugging Tools (x86, x64, Itanium).

    After you select the appropriate Debugging Tools option as described above, clear the check boxes for the other options so that you do not install unnecessary items. The Common Utilities option downloads the Debugging Tools into a Debugging Tools for Windows folder under your Program Files folder. The Redistributable Packages option downloads the Debugging Tools to C:\Program Files\Microsoft SDKs\Windows\v7.1\Redist\Debugging Tools for Windows.

  • Ryan,

    Have downloaded WinDBG and launched it, however there is no Process named Devenv.exe

    Brad

  •  Hmmm, what is the name of the VB Express executable?  If you look at the shortcut link what is it pointing at?  That is the name of the executable we are looking for.  It might be something like VBExpress.exe or something.

    Ryan

  • Attached to process: vbExpress.exe and the following was displayed in the window:

    0:043> ~0s

    eax=00694248 ebx=0029f118 ecx=00694248 edx=00912f88 esi=00000001 edi=00000000

    eip=77a96344 esp=0029f0c8 ebp=0029f164 iopl=0         nv up ei pl zr na pe nc

    cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000246

    ntdll!KiFastSystemCallRet:

    77a96344 c3              ret

    0:000> k

    ChildEBP RetAddr  

    0029f0c4 77a95cac ntdll!KiFastSystemCallRet

    0029f0c8 75c76872 ntdll!ZwWaitForMultipleObjects+0xc

    0029f164 76bcf14a KERNELBASE!WaitForMultipleObjectsEx+0x100

    0029f1ac 76c790be kernel32!WaitForMultipleObjectsExImplementation+0xe0

    0029f200 65e0dc17 USER32!RealMsgWaitForMultipleObjectsEx+0x13c

    0029f250 65e130cb msenv!CMsoCMHandler::EnvironmentMsgLoop+0x139

    0029f290 65e12ffc msenv!CMsoCMHandler::FPushMessageLoop+0x156

    0029f2b4 65e12f5d msenv!SCM::FPushMessageLoop+0xab

    0029f2d0 65e12f2a msenv!SCM_MsoCompMgr::FPushMessageLoop+0x2a

    0029f2f0 65e12e6c msenv!CMsoComponent::PushMsgLoop+0x28

    0029f388 65d2db92 msenv!VStudioMainLogged+0x553

    0029f3b4 00fe8fd0 msenv!VStudioMain+0xbc

    0029f3ec 00fe3277 vbexpress!util_CallVsMain+0xfd

    0029f6d8 00fe46cc vbexpress!CVBExpressId::Run+0x8d9

    0029f708 00ffd01d vbexpress!WinMain+0x9c

    0029f79c 76bd1194 vbexpress!operator new[]+0x1e1

    0029f7a8 77aab429 kernel32!BaseThreadInitThunk+0xe

    0029f7e8 77aab3fc ntdll!__RtlUserThreadStart+0x70

    0029f800 00000000 ntdll!_RtlUserThreadStart+0x1b

    Does this mean anything to you??

    Brad

  • That is just the process waiting for messages, if you hit F5 in Windbg and then switch back to VB Express and make it crash then go back to WinDBG and do the ~0s, k it would probably be more interesting.  Or kp (to also show function arguments).

    Ryan

  • Ryan,

    Did as you said

    (9fc.1238): C++ EH exception - code e06d7363 (first chance)

    (9fc.1238): CLR exception - code e0434352 (first chance)

    (9fc.1238): CLR exception - code e0434352 (!!! second chance !!!)

    eax=0029c3ec ebx=00000005 ecx=00000005 edx=00000000 esi=0029c498 edi=00402258

    eip=75c79617 esp=0029c3ec ebp=0029c43c iopl=0         nv up ei pl nz na po nc

    cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000202

    KERNELBASE!RaiseException+0x58:

    75c79617 c9              leave

    0:000> ~0

    .  0  Id: 9fc.1238 Suspend: 1 Teb: 7ffdf000 Unfrozen

         Start: vbexpress!WinMainCRTStartup (00ffd16a)

         Priority: 0  Priority class: 32  Affinity: f

    0:000> kp

    ChildEBP RetAddr  

    0029c43c 656dac08 KERNELBASE!RaiseException+0x58

    0029c4cc 6574ab0b clr!RaiseTheExceptionInternalOnly+0x276

    0029c508 65908e1e clr!UnwindAndContinueRethrowHelperAfterCatch+0x60

    *** WARNING: Unable to verify checksum for C:\windows\assembly\NativeImages_v4.0.30319_32\PresentationCore\7a1eeb425f9318f432afead4b2da965a\PresentationCore.ni.dll

    0029c5a4 624db3bd clr!JIT_RngChkFail+0xde

    0029c5ec 61d9ba06 PresentationCore_ni+0x8fb3bd

    0029c668 61d9b5ae PresentationCore_ni+0x1bba06

    0029c6e8 61d9b26f PresentationCore_ni+0x1bb5ae

    0029c738 61d9a30b PresentationCore_ni+0x1bb26f

    0029c7c0 61d99c71 PresentationCore_ni+0x1ba30b

    0029c7ec 61d99bd2 PresentationCore_ni+0x1b9c71

    *** WARNING: Unable to verify checksum for C:\windows\assembly\NativeImages_v4.0.30319_32\PresentationFramewo#\8357ade60159c25ee88db0aab8686e6d\PresentationFramework.ni.dll

    0029c81c 60deb750 PresentationCore_ni+0x1b9bd2

    0029c994 60dc475a PresentationFramework_ni+0x2eb750

    0029cba0 61d873c3 PresentationFramework_ni+0x2c475a

    0029cc24 60dfa8d2 PresentationCore_ni+0x1a73c3

    0029cc78 60df9dc5 PresentationFramework_ni+0x2fa8d2

    0029cd10 60df90eb PresentationFramework_ni+0x2f9dc5

    0029cdd8 60dc475a PresentationFramework_ni+0x2f90eb

    0029cfe4 61d873c3 PresentationFramework_ni+0x2c475a

    0029d068 60dfa8d2 PresentationCore_ni+0x1a73c3

    0029d0bc 60df9dc5 PresentationFramework_ni+0x2fa8d2

    0029d154 60df90eb PresentationFramework_ni+0x2f9dc5

    0029d21c 60dc475a PresentationFramework_ni+0x2f90eb

    0029d428 61d873c3 PresentationFramework_ni+0x2c475a

    0029d4ac 60dfac5b PresentationCore_ni+0x1a73c3

    0029d4e4 60dfdc20 PresentationFramework_ni+0x2fac5b

    0029d4fc 60dc475a PresentationFramework_ni+0x2fdc20

    0029d708 61d873c3 PresentationFramework_ni+0x2c475a

    0029d78c 60ded65f PresentationCore_ni+0x1a73c3

    0029d864 60dc475a PresentationFramework_ni+0x2ed65f

    0029da70 61d873c3 PresentationFramework_ni+0x2c475a

    0029daf4 60dfaa7e PresentationCore_ni+0x1a73c3

    0029db3c 60dc475a PresentationFramework_ni+0x2faa7e

    0029dd48 61d873c3 PresentationFramework_ni+0x2c475a

    0029ddcc 60df8dbc PresentationCore_ni+0x1a73c3

    0029de8c 60dc475a PresentationFramework_ni+0x2f8dbc

    0029e098 61d873c3 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

    0029e11c 5d0f13a7 PresentationCore_ni+0x1a73c3

    0029e154 5d0f0bbe Microsoft_VisualStudio_Platform_VSEditor_ni+0x1413a7

    0029e8a0 5d0ef876 Microsoft_VisualStudio_Platform_VSEditor_ni+0x140bbe

    0029e8bc 5d10e518 Microsoft_VisualStudio_Platform_VSEditor_ni+0x13f876

    0029e904 5d10e47c 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

    0029e920 6271fac2 Microsoft_VisualStudio_Platform_VSEditor_ni+0x15e47c

    0029e960 627229b5 WindowsBase_ni+0xafac2

    0029e9ac 62722918 WindowsBase_ni+0xb29b5

    0029e9c4 656521db WindowsBase_ni+0xb2918

    0029e9d4 65674a2a clr!CallDescrWorker+0x33

    0029ea50 65674bcc clr!CallDescrWorkerWithHandler+0x8e

    0029eb8c 65674c01 clr!MethodDesc::CallDescr+0x194

    0029eba8 65674c21 clr!MethodDesc::CallTargetWorker+0x21

    0029ebc0 656ef5f8 clr!MethodDescCallSite::Call+0x1c

    0029eda4 656ef74f clr!ExecuteCodeWithGuaranteedCleanupHelper+0xbb

    *** WARNING: Unable to verify checksum for C:\windows\assembly\NativeImages_v4.0.30319_32\mscorlib\4ff1f12a08d455f195ba996fe77497c6\mscorlib.ni.dll

    0029ee50 64ab4cba clr!ReflectionInvocation::ExecuteCodeWithGuaranteedCleanup+0x138

    0029ee88 64ab7f34 mscorlib_ni+0x234cba

    0029eea8 62722848 mscorlib_ni+0x237f34

    0029eee8 6271e57e WindowsBase_ni+0xb2848

    0029ef2c 6271e70f WindowsBase_ni+0xae57e

    0029ef6c 6271fdb6 WindowsBase_ni+0xae70f

    0029efb8 6271fce5 WindowsBase_ni+0xafdb6

    0029efd8 6271fb93 WindowsBase_ni+0xafce5

    0029eff0 6271fac2 WindowsBase_ni+0xafb93

    0029f030 6271e050 WindowsBase_ni+0xafac2

    0029f074 6271f5e0 WindowsBase_ni+0xae050

    0029f0f0 76c786ef WindowsBase_ni+0xaf5e0

    0029f11c 76c78876 USER32!InternalCallWinProc+0x23

    0029f194 76c789b5 USER32!UserCallWinProcCheckWow+0x14b

    0029f1f4 76c78e9c USER32!DispatchMessageWorker+0x35e

    0029f204 65e0d42b USER32!DispatchMessageW+0xf

    0029f214 65e0d521 msenv!ProcessMessage+0x69

    0029f250 65e130cb msenv!CMsoCMHandler::EnvironmentMsgLoop+0xd8

    0029f290 65e12ffc msenv!CMsoCMHandler::FPushMessageLoop+0x156

    0029f2b4 65e12f5d msenv!SCM::FPushMessageLoop+0xab

    0029f2d0 65e12f2a msenv!SCM_MsoCompMgr::FPushMessageLoop+0x2a

    0029f2f0 65e12e6c msenv!CMsoComponent::PushMsgLoop+0x28

    0029f388 65d2db92 msenv!VStudioMainLogged+0x553

    0029f3b4 00fe8fd0 msenv!VStudioMain+0xbc

    0029f3ec 00fe3277 vbexpress!util_CallVsMain+0xfd

    0029f6d8 00fe46cc vbexpress!CVBExpressId::Run+0x8d9

    0029f708 00ffd01d vbexpress!WinMain+0x9c

    0029f79c 76bd1194 vbexpress!operator new[]+0x1e1

    0029f7a8 77aab429 kernel32!BaseThreadInitThunk+0xe

    0029f7e8 77aab3fc ntdll!__RtlUserThreadStart+0x70

    0029f800 00000000 ntdll!_RtlUserThreadStart+0x1b

    Brad

Page 2 of 3 (44 items) 123