Visual Studio 2010 Beta 2 Known Issues – Part 2
This post continues my unofficial list of known issues in VS 2010 Beta 2 (see Part 1). As we continue getting Beta 2 feedback and investigating issues, it's time for another update on the issues we've been seeing. Please keep in mind that due to the volume of the issues, I'm only mentioning the ones I was involved with or consider important.
Crash during normal editor operation
There is a rare situation where Beta 2 can crash during normal editing or viewing C# source code. Nevertheless, it happens often enough to become top 1 reported crash for C#.
I'm very happy to say that we have identified the root cause and are working on a fix.
Details: This is an extremely complex and hard to reproduce bug involving native code, threading, and working with Task Parallel Library from native code. The new C# IDE feature, Highlight References, is written in managed code and uses TPL (Task Parallel Library) to calculate references on a threadpool thread. However a certain portion of the language service (called the Language Analysis engine) is written in native code, so we had to do some cross-boundary and cross-thread manupulation. Our developers Ian (from C# compiler) and HeeJae (from C# IDE) worked very very hard to investigate the dumps that you folks were sending in and finally they've found the bug. The good news is that as more and more of Visual Studio gets rewritten in managed code, we hope to see less of such bad bugs in the future.
So thanks to you for clicking that "Send Error Report" button – it really helped us to fix the top 1 reported C# crash!
Cannot open C# source file: Error message "The operation could not be completed. Invalid pointer." or "Object reference not set to an instance of an object"
- https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=505257
- https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=499263
- https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=505531
- https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=499803
This one is due to the Tools Options Fonts and Colors using a raster font instead of a TrueType font:
The fix is easy: switch to a TrueType font such as Consolas or Courier New.
The editor team has fixed this one already.
The application cannot start (VS black screen)
Weston writes about this one in detail: https://blogs.msdn.com/visualstudio/archive/2009/10/29/how-to-fix-the-application-cannot-start-error.aspx
This is due to us being unable to read certain profile settings.
The workaround is basically to run devenv /resetuserdata from the Visual Studio command prompt, but I encourage you to follow the link above for more information (e.g. how to save your settings beforehand).
This is already fixed as well (now even if the profile contains the errors we will start successfully and deal with the errors).
TextOptions does not appear in the IntelliSense in XAML designer
The WPF team has completely rewritten the WPF text rendering to get rid of the font blurryness issue. The old style is still the default, to enable the new mode you need this simple attribute in your XAML: TextOptions.TextFormattingMode="Display". The problem is – TextOptions won't show up in IntelliSense!
The workaround is to ignore IntelliSense and just build your project – things should just work.
This has been fixed as well.
All menus except the File menu disappear
It happens extremely rarely, but we saw it three times already – the menus are just gone!
This one is very very hard to reproduce and we're still investigating this right now – for some unknown reason something is messing up the Style or the ControlTemplate for the menus. If you happen to run into this inside a virtual machine, you can really help us investigate the issue by pausing the machine in the state where VS is running and menus are gone.
Feel free to open a bug on https://connect.microsoft.com/visualstudio/feedback or let me know and we'll send you instructions on how to upload the VM image.
Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.VisualStudio.Editor.Implementation.IVsGlobalUndoCapableUndoManager'.
- https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=501319
- https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=498787
---------------------------
Microsoft Visual Studio
---------------------------
Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.VisualStudio.Editor.Implementation.IVsGlobalUndoCapableUndoManager'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{305E8709-55B7-4732-B872-1C073AB58047}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).
---------------------------
OK
---------------------------
Right now we can't reproduce it so we're looking for any help – call stack, minidump with heap, ActivityLog.xml etc. You can read more about the ActivityLog here:
https://msdn.microsoft.com/en-us/library/ms241272.aspx
We'd appreciate any help!
Expression.Compile generates incorrect code for (int?) conversion
using System;
using System.Linq.Expressions;
class Program
{
static void Main()
{
Expression<Func<ValueType, int?>> expr = x => (int?)x;
Func<ValueType, int?> converter1 = x => (int?)x;
Func<ValueType, int?> converter2 = expr.Compile();
int? a1 = converter1(null); // (int?) null
int? a2 = converter2(null); // NRE
}
}
Expected: both the direct delegate and the one generated with Expression Trees should work identically. Actual: the expression tree one throws a NullReferenceException.
Thanks to controlflow for reporting this! It's a good bug, but unfortunately it will require a risky compiler change that we don't want to take so late in the product cycle. We've postponed the bug for a later release.
Delegate.Combine doesn't support variance
using System;
class A { }
class B : A { }
class Program
{
static void Main()
{
Action<B> b = _ => { };
Action<A> a = _ => { };
b += a;
}
}
This program compiles fine but causes an exception at runtime. The CLR team decided to postpone this to a future version.
Completion List doesn't show up for certain lambda parameters in multiple overload scenarios
using System;
using System.Linq;
using System.Threading.Tasks;
class Program
{
static void Main(string[] args)
{
var query = Enumerable.Range(0, 100);
Parallel.ForEach(query, (i, p) =>
{
Console.WriteLine(i);
p.
});
}
}
In this code, IntelliSense doesn't show after p. Another great bug from controlflow. We've fixed this one (it had to deal with picking the right overload of ForEach given an incomplete lambda statement).
Debugger data tips are leaking GDI handles
Hovering the mouse cursor over variables during debugging and expanding the nodes in the tips will leak GDI handles. After the Visual Studio process will run out of GDI handles (and each process can only allocate 10,000 handles), it will crash. Usually this happens after 10-15 minutes of intensive debugging with datatips, depending on circumstances. You can watch the GDI handles of the devenv.exe process in the Task Manager (if you select GDI in View –> Select Columns).
This is a stress bug that has been fixed by the debugger team recently.
Tooltips on toolbar buttons are not displaying keyboard shortcuts
As part of the WPF rewrite, we had postponed this work until very late, and only recently have fixed it (post Beta 2). Now all the keyboard shortcuts show up when you hover your mouse over a toolbar button. You will not be able to turn them off though :)
Printing formatted source code with color is not supported
This is actually not a bug, it's by design. We had to cut this low-impact feature from 2010 because of tight resources constraints as we've reimplemented the editor from scratch. This feature will hopefully come back in a later release of Visual Studio, maybe as an add-in.
More High DPI and other accessibility issues
I just keep finding more and more High DPI issues, hoping that if I find and report them now, you guys won't have to.
Combobox missing right edge:
The shell team decided not to fix this because of tight schedule and resources.
Snippets background poorly visible on High Contrast Black
The editor team has decided not to fix this because the colors are configurable.
Silverlight Out-of-Browser settings dialog clips some controls under 120 DPI
We're looking into fixing this right now.
Comments
Anonymous
November 11, 2009
Excellent! This has been very informative, for me at least. I hope the .NET Framework and Visual Studio team would be more open like this about these kind of issues. Thanks!Anonymous
November 12, 2009
The comment has been removedAnonymous
November 12, 2009
Great post!Anonymous
November 12, 2009
It's great to see this information consolidated in a single place and probably much more discoverable than a readme :) Nice post!Anonymous
November 12, 2009
You must be the most tedious QA in the MSFT :) What the heck is (int?) conversion? I wasn't able to find anything on such syntax in the MSDNAnonymous
November 13, 2009
int? is shorthand for Nullable<int>. Good post, it's be interesting to know in the future how you're guys interpret hex dumps etc.Anonymous
November 17, 2009
The comment has been removedAnonymous
November 23, 2009
What about the fact that VS2010 says it's busy and locks up for like 5 to 10 minutes ever time when starting an application or stopping it?Anonymous
November 24, 2009
Timothy - this definitely looks like a bug. Could you please file it at http://connect.microsoft.com/visualstudio/feedback Also, if you feel adventurous you can try and attach the debugger to see what is taking it so long: http://blogs.msdn.com/kirillosenkov/archive/2008/12/07/how-to-debug-crashes-and-hangs.aspxAnonymous
November 28, 2009
- I am getting a processor hog (100% CPU usage) at random intervals when writing a (medium sized) WPF application.
.... <TextBlock.Text> <MultiBinding .... > ... causes error saying Text property does not support MultiBinding (which is not the case since the app compiles and works OK)
Anonymous
November 30, 2009
hyperspaced - could you please file a bug on Connect? See my comment to Timothy above. Same for the second issue.Anonymous
December 07, 2009
The comment has been removedAnonymous
December 07, 2009
Hi Liu, thanks for your mail. Can you please try running devenv.exe /nosplash and let me know if it fixes the issue? Thanks, KirillAnonymous
December 08, 2009
Hi Kirill, I tried devenv.exe /nosplash in the case of TSF service, and it works. Thanks, Liu YuandeAnonymous
December 14, 2009
The comment has been removedAnonymous
December 14, 2009
The comment has been removedAnonymous
December 14, 2009
Thanks! Please read here for more details: http://blogs.msdn.com/kirillosenkov/archive/2009/12/07/unable-to-cast-com-object-to-ivsglobalundocapableundomanager.aspxAnonymous
December 16, 2009
With the go-live licence and our eagerness to be leading the way we upgraded on TFS Server to 2010 last week and moved on to use Studio 2010. With a team of 7 developers it wasn't a major task for us to do, but we are struggling somewhat with the amount bugs we have found. I know this is to be expected but thought I would post because you are listing bugs in lots of complex scenarios, but ours are much more basic, but unfortunately I don't know how to make them happen or I would have posted on the Connect website. Ok, some of the issues we regularly get are:
- Viewing source view of ASPX page mouse won't work in code window, fine outside and move to another piece of code and all is well. Another is menu icons not working, my pending changes window, team explorer, solution explorer all work ok but none of the icons in the menu work, this is again intermittent but has happend to them all at the same time. The find dialog quite often if freezing when you open it, the only thing you can do once opening it is close it again, its like it can't get focus. The most annoying of all is of course it just randomly crashing and restarting, but I'll keep sending the error reports. All that said, I think the new version is fantastic in the improvements it has made, and have been using it on small personal projects since it came out with few issues. Let me know if I can help in anyway, we have a team of developers getting errors regularly! Cheers, John
Anonymous
January 15, 2010
Do not show the auto and local veriable at some project during the debugging time.Anonymous
February 03, 2010
John - thanks a lot for trying out Beta2! It's great that you're early adopters and the error reports you've sent in have probably helped us tremendously - we hope to have fixed most of the crashes reported during Beta2. Visual Studio 2010 RC will be out pretty soon and we do hope it will be in a much better shape. To log concrete bugs (e.g. ASPX not responding to mouse or graphics missing) the best thing is to open a bug on http://connect.microsoft.com/visualstudio/feedback Dormand - can you please do the same for your issue (auto and local variable windows)? Thanks! KirillAnonymous
February 08, 2010
I've got a lot off "Not responding" problems with Visual studio and Expression blend. It sometimes takes up to 15 minutes before opening or saving a file is completed. Very annoying. As long as I do not try to open the XAML designer in Visual studio, thinks work rather fine, so probably the source of the problem is there (VS can't open de designs which where made with expression blend).Anonymous
February 15, 2010
Hi Nils, I've posted some instructions that might help you investigate this: http://blogs.msdn.com/kirillosenkov/archive/2010/02/08/how-to-investigate-and-report-visual-studio-issues.aspx Also if you're using TFS and the server is not responding, you might get occasional hangs there. Hope this helps, KirillAnonymous
August 28, 2010
One bug that I have found today is an error message ArgumentException crossed a native/managed boundary. All I was doing was trying to set toolstripmenuitem to enabled and visible, when I excluded these lines of code, the error came again for the calendar. I have not had a beta version on my pc, but I have got previous express version