.Net known bugs list

An interesting idea via Stefano Demiliano. A list of .Net bugs.

I post it back here for the Microsoft crowd in case they want to comment ;-)

Known .NET Bugs

ID Description Probability* Severity* Fixed
1

Form refuses to close
If a form A contains control B that contains control C that contains control D, and D is removed while it has the focus, the user won't be able to close the form.
Details.

High High 1.1
2 SoapFormatter and BinaryFormatter don't serialize some object graphs properly
If three or more classes have the same name but are in different namespaces, are part of the same hierarchy, and contain variables that have the same name, they will not be serialized properly.
Details.
Low High 1.1
3 Text in the Windows Forms combo box cannot be selected using the mouse
Mouse selection simply does not work in a Windows Forms combo box.
Details.
High Low 1.1
4 Arrays of structures that implement ISerializable do not deserialize correctly
Details.
High High 1.1
5

Windows.Identity doesn't work under Windows 98
On Windows 98, You cannot use the Windows.Identity to retrieve the user login name, it returns a system level token and a null user name is returned when you access the .Name Property.
Details.

Low Medium No
6

C# optimizer produces bad code when a try-finally block is inside if-else
If a try-finally block is the last thing inside the if block of an if-else statement, the code inside the else block is always executed when compiling in Release mode.
Details.

High High 1.1
7

Structs within structs cannot be deserialized
If you have a struct A inside struct B, and If a struct A is inside struct B which is inside object C, deserializing is going to throw a SerializationException. 
Details.

Medium Low 1.1
8

Problems removing an ActiveX control from its parent
If an ActiveX control is removed from its parent, any action that makes the parent invisible, such as closing the form on which it is on, throws an exception. 
Details.

Medium High 1.1
9

Font.GdiCharSet hardcoded to 1
The property GdiCharSet of the font class is hard-coded to 1. 
Details.

Low Low No
10

.NET Runtime leaks large chunks of memory
If you allocate a block of memory larger than some treshold, the .NET garbage collector will never reclaim it.
Details.

High High 1.1
11

Instances of NumericUpDown and DomainUpDown are leaked
It seems that the NumericUpDown and DomainUpDown controls forget to remove a listener to a global event, thus always staying locked in memory.
Details.

High High No
12

SoapFormatter chokes on some strings
It seems SoapFormatter cannot handle strings that contain characters in the range 0x01 - 0x1f.
Details.

Update 
SOAP being XML based can't handle many characters in the 0x00 - 0x1f range because they are illegeal in the XML spec.

High High

No

Not a bug

13

FileStream becomes unusable when writing to a removable drive
When writing to a FileStream on a removable drive, and the FileStream gets out of space, it sometimes gets in a state where no other method can be called on the stream, not even Dispose.
Details.

Medium Medium No
14

Mixed-mode assemblies can deadlock
C++ .NET apps can deadlock on startup.
Details.

Low High No
15

ComboBox Data Binding Bug
ComboBox doesn't update the data through data binding when its style is set to DropDownList.
Details.

Medium Medium No
16

Each Windows Form leaks two GDI handles
Details.

High High No
17

Alocation fails for certain sizes
If you try to allocate an array with a size range between 0x027fefbd and 0x027fffec, the framework throws exceptions. This range corresponds to memory block of little under 40MB. 
Details.

Medium High No
18

No way to access Environment.HasShutDownStarted
This property is not static even though it should be.

Low Low 1.1
19

Thread.Abort cannot abort suspended threads
If a thread is suspended, trying to abort will not work and the CPU will be pegged to 100 percent.
Details.

Low High No
20

Control.Width and Height are silently truncated to 32,767
If you attempt to set a control's Width or Height property to a number larger than 32,767 it will be truncated. 
Details.

Low Low No
21

ListView.Cursor set property has no effect.
Details.

Low Low No
22

RegistryKey.SetValue does not store large integers as DWORD
Call RegistryKey.SetValue with an integer over 2,147,483,647 will result in the value being stored as string, and not as a DWORD. 
Details.

Low Medium No

* Probability represents the probability that you will encounter this bug. Severity measures how much the bug hurts when it happens.

Do you know other bugs?

 

7 Comments

  • Well fabrice the official list is quite short ;-)

  • That's right, but don't forget to ask for Visual Basic .NET or Visual C# or ASP.NET bugs.

    Of course this is still short compare to what we can expect...

  • For the treeview bug, there is a work around, set the TreeView's default font to bold, then make each node you want to display non-bold have a bold = false setting. This works like a charm.



    About #12, I can't help but think it should be able to escape these characters using a  entity. Aren't these valid in XML?

  • Not sure if this qualifies, as it appears to be mainly an ASP .NET bug, but here's one that biting me right now: Enumerated properties in a custom server control cause a compiler error in ASP .NET. This Probability is HIGH for server control developers, and low for everyone else. Serverity is HIGH--as it affects you 100% of the time, and imposes a severe limitation on the user-friendliness of your control. Fixed? Not that I can find. I'm still trying to find out if there's a workaround or not...



    Chris

  • You can check out my blog for a possible solution for the WindowsFormsParkingWindow issue. It worked for me, don't know if this is the official solution to this problem.

  • Put a standard TextBox on a Form. Change BorderStyle to None and choose some font with height 11 (for instance). Then, if you put in some text with low hanging letters like "jgpy", the bottom is cut off.

    Workaround: derive from textbox, set AutoScale to false, and implement your own autoscale.

  • Why has this been marked "not as a bug"?



    Just because XML doesn't support a character in the 0x00 - 0x1f range, doesn't mean that serialized data can't be escaped to '&#0e;' where necessary.



    This bug makes a complete mess of remoting using SOAP.

Comments have been disabled for this content.