Sometime on a support call the customer will say "I have a great repro - just open this mpp file and things will crash!". Unfortunately this is a little like seeing an automobile wreck and trying to work out how the cars got where they did - and which direction they possibly came from. The mpp is already bad - but how did it get that way? The perfect repro is starting from a new project, doing a set a steps and then something bad happens. Even better is when following the same steps on our machines still gives the same problem!
Having a good repro also helps when working with Project Server 2007 issues - and the more information you have for us then the better we can help you. This may be in terms of getting to a resolution more quickly - or understanding the root cause of something that can be avoided until we get a good fix. Help us to help you! It isn't unknown that when working a call we suspect a specific problem - but can't get confirmation directly, but the clues are all over the logs. You know what the issue is; you know that we know that you know what the issue is...
This leads me on to one of my favorite current issues - but this will have to wait for my next blog - "An unexpected error has occurred". What's the deal with this message - and how can you recover?
I do agree that it does matter how the file became malformed, but the fact that opening the file causes a crash is still an issue that should be fixed. Crashes and vulnerabilities can go hand-in-hand so if I can malform a file to crash, maybe it can be malformed to cause execution of my own code.
Great feedback - and many of our fixes do address the symptom of these crashes as well as the root causes. We certainly know when working on a malformed file where the problem is even if we don't know how it got bad - and therefore our fix can overcome the crash. Also a great deal of our testing and design is involved with overcoming vulnerabilities and malicious malformed files.
My point was really that it is far more satisfactory if we can stop something bad happening in the first place - rather than just detecting it in our code and avoiding the crash. Air bags are great - but I hope I never need mine.