InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Newly Minted Bugs for .NET 3.5 SP1

Posted by Jonathan Allen on Aug 25, 2008

Sections
Development
Topics
.NET Framework ,
.NET

Though less than a month old, the bug reports against .NET 3.5 SP 1 are starting to pile up. While bugs are an inevitable part of any release, the way a company responds to them varies greatly. Microsoft's .NET division generally requires users to call product support for specific hot fixes, with widely available service packs only shipped once a year or two.

For users with previously working programs, it takes a lot of effort just to figure out that Microsoft, rather than the vendor, is the culprit. And once that is established, one still has to figure out which KB article references the needed hot fix. If the user and/or the developers do not figure it out right away, countless man-hours can be wasted.

Below is a list of the verified issues that we know about:

Serialization

When a generic class implements ISerializable and has a static delegate member that makes use of the generic type arguments, binary deserialization hangs (on a 32-bit system with Windows Server 2003) or throws an OutOfMemoryException (on a 64-bit system with Windows Server 2008).

Issue 361615

WinForms

In some circumstances a user can drag toolstrips from one MDI child Form to another. Imagine clicking a button on one document and having an entirely different one react.

Issue 361894

Reflection

ExecutionEngineException with ParameterInfo.GetOptionalCustomModifiers and GetRequiredCustomModifiers on 3.5 SP1. This bug in the pair of methods is affecting the popular framework, Rhino Mocks.

Issue 361606

WPF

.NET 3.5 SP1 breaks use of WPF under IIS. Seems some people have been using WPF to generate images in real time for web sites. Unfortunately, WPF no longer seems to work under IIS.

Issue 361469

Type Checking

Under certain circumstances, a class that works under 3.5 will not pass PEVerify when run under 3.5 SP1. Essentially this means you will get a type load exception if you try to use the class at runtime.

Issue 361539

Numerics

Spurious "The operation overflows at compile time in checked mode" This is a bug in the new Semantic Error Checker for C#. It is triggered when subtracting 2 from ulong.MaxValue.

Issue 361823

Fix distribution by Stefan Wenig Posted
They're spreading themselves thin by Francois Ward Posted
  1. Back to top

    Fix distribution

    by Stefan Wenig

    This topic has gained some attention within MS too, naturally. I understand they are currently sorting out their options for distribution of bug fixes, and I would not automatically assume they cannot do anything beyond non-redistributable hotfixes.


    We reported two of those bugs (Serialization and Reflection), and the latter one can hit users of products built by 3rd parties using our mixin framework. This is not funny, and I believe MS understands that hotfixes are not really a satisfying answer for such a scenario.


    Anyone who wants to be up to date might want to subscribe to our team blog.

  2. Back to top

    They're spreading themselves thin

    by Francois Ward

    MS is trying to do too much now, they're spreading themselves thin on so many things, from entity framework to dynamic data, so everything suffers. And this is just one of the symptoms. They really need to cut down on the extra features in the next version, and only enhance existing things and fix bugs, and not go much farther, else these bugs will be the least of our worries.

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.