July 2, 2008

Software Department

Why Software Testing Is Hard

Now that I'm experimenting with video for the blog, I'm learning how to use video editing software. Currently, I'm experimenting with Sony Vegas. I like it a lot, it seems intuitive and fairly powerful.

One of the more interesting features of Vegas is a tool called Media Manager which helps you index and track your media. That's important because video files are huge---the original file for my drive home is 3.5 GB---and I won't be able to store them all on my hard drive.  (Although, terabyte USB drives are less than $200...) I'll have to burn them off to DVD, and it would be nice to have a database of what's stored where.

While I was experimenting with Medial Manager, I tried to load the .WAV file that contains the music playing in the background of my last video and Vegas crashed.

A little experimentation showed that it was only those music files that crashed Vegas, not any of the the other sound files or any of the video files. Also, the problem went away when I disabled Media Manager.

Each time Vegas crashed, it popped up an error message box that said "This application has encountered a fatal exception and will close." Not very helpful by itself, but there was a Details button, so I clicked it. With most Windows applications this would be some ugly bit of hex code and address offsets useful only to someone with access to the source code. But parts of Vegas---or at least Media Manager---are apparently written using the .NET framework because this was a normal .NET exception trace dump, and .NET has a much more helpful standard of error reporting.

Media Manager uses an embeddable desktop version of Microsoft SQL Server 2005 as its database, and it was clear from the library classes involved in the problem that Media Manager was calling the .NET framework SQL Client code to access the database, and it was blowing up because it was using a date value that was not a valid SQL Server date. The .WAV files I downloaded must have had a bad date in them somewhere, and Media Manager was blowing up when it tried to use it in a SQL query.

I poked at the .WAV files a bit, and I think I found the problem. The SQL Server datetime data type can hold a range of dates from January 1, 1753, through December 31, 9999. The .WAV files, however, were all timestamped with a creation date in the year 1601.

A lot of software bugs have this pattern, where a defect in one program---whatever was used to create the .WAV music files---generates data that exposes a defect in another program---crashing Sony Vegas.

In cases of invalid data like this, you normally don't want the program to just crash. It should either fix the problem, report the problem to the user, or both. In this case, it's an understandable mistake. If I were a developer or tester at Sony Creative Software, I doubt I would have given much thought to how the software should handle a file that purported to have been created 350 years before the invention of the computer.

Leave a comment


Important note: Due to a flood of spam, I've set the comment filter to mercilessly delete comments that mention the names of certain high-end designer fashion items. So don't mention anything like that if you want your comment to survive.


About this Entry

This page contains a single entry by Mark Draughn published on July 2, 2008 11:25 AM.

Wire Reporter Starts Story With Vague Lede was the previous entry in this blog.

Officer Down is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Find us on Facebook

Unless you request otherwise, we will assume all messages are for publication and attribution.

Red links are Not Safe For Work NSFW.

Mark

About Mark

PGP key

Visit Mark on MySpace

Ken

About Ken

Gary

About Gary

Joel

Article Syndication

Libertarian-ish

Hit & Run
Cataloguing every inch of our daily slide down the slippery slope towards a more totalitarian state.
Virgina Postrel
Author, columnist, and famous kidney doner.
The Agitator
Radley Balko, libertarian at large.
Nobody's Business
A blog about negative liberty.
Ravings of a Feral Genius
The one, the only, Jennifer.
Honest Courtesan
Notes from a retired call girl.

Bloggy Goodness

Duly Noted
Yet another Lindsay Beyerstein blog.
InstaPundit
Law professor, author, columnist, music engineer, the founding father of the blogosphere.
StrategyPage
News and commentary on all things military.
Last One Speaks
A complicated woman with simple tastes.
Ethics Alarms
Jack Marshall at large.

War on Drugs

StoptheDrugWar.org
Taking the drug war debate to the blogosphere
DrugWar Rant
More reasons every week for hating the War on Drugs.
DUI Blog
The road to hell is paved with good intentions and patrolled by Mothers Against Drunk Driving.
The D'Alliance
The Drug Policy Alliance blog.
Vigil for Lost Promise
A counterweight to the DEA's exploitive site.

Blawgs

a Public Defender
Rants, explanations, and complaints from a public defender.
Simple Justice
Rants, explanations, and complaints from a private lawyer.
Defending People
The art and science of criminal defense trial lawyering
Probable Cause
The legal blog with the really low standard of review.
Unwashed Advocate
Former Military Underdog
Indefensible
David Feige, creator of Raising the Bar and former public defender.
Koehler Law Blog
Don't be fooled by how pretty it is
Not Guilty
A lawyer in search of a clue.
Norm Pattis
Norm will fight for you!
The Legal Satyricon
Entertainment and First Amendment Law
Gamso - For the Defense
An Ohio criminal defense lawyer
Criminal Defense
It's like a criminal defense blog, but from Florida
ECILCrime
East Central Illinois criminal defense.
Underdog Blog
Criminal defense, politics, and God only knows what else.
CrimLaw
A big, goofy, ballcap-wearing prosecutor who even likes dogs. [review]
Blonde Justice
Funny stories about criminal defense.
Crime & Federalism
Legal analysis and bitching. [review]
Seeking Justice
Tom McKenna, Virginia prosecutor on a mission from God.
The Volokh Conspiracy
Smart legal experts.
D.A. Confidential
Making prosecutors seem just like normal lawyers
Crime and Consequences Blog
Because we're just not punishing people enough
Graham Lawyer Blog
Interesting writing about the law.
New York Personal Injury Law Blog
Better than you'd think from the SEO-friendly name
West Virginia Criminal Law Blog
Also better than you'd think from the SEO-friendly name
South Carolina Criminal Defense Blog
And one more that's better than you'd think from the SEO-friendly name

Geek Stuff

Schneier on Security
Smart thinking about computers and other security problems.
The Daily WTF
Crazy stories about bad things inside computer software and how they got there.
xkcd
Extremely geeky comics.
Google Blogoscoped
Smart writing about search engine technology.
The Altruist
Agony Unleashed in EVE Online.

Economics

Steven Landsburg
The Armchair Economist
Greg Mankiw's Blog
Aurhor of the most popular macroeconomics textbook
Marginal Revolution
Everything happens in the margins
Megan McArdle
Business and economics

Photography

Strobist
How to light everything in the world with speedlights
iN-PUBLiC.com
Very cool modern street photography.
Digital Photography Review
Detailed reviews of digital cameras and vicious forum debates too.
Ken Rockwell
Strong opinions about photography.
Dan Heller
Photographs and the business of photography.
Bert P. Krages II
Photography and the law.

Chicagoland

Leslie's Omnibus
I have no idea what this blog is about.
Marathon Pundit
John Ruberry runs, drives, and blogs.

Media

Eric Zorn
Possibly the Chicago Tribune's first blogger.
Miss Manners
A marvelous writer and deeper than you think.
Roger Ebert's Journal
A great writer and a useful film critic.

Resources

WolframAlpha
Data + Computation = Fun Knowledge.
Institute for Justice
A merry band of libertarian litigators.
EFF: Bloggers
The Electronic Frontier Foundation's page for bloggers.
CIA World Factbook
A brief summary about every nation.
Wikipedia
The mostly-useful encyclopedia of everything.
Current Impact Risks
It has to happen some day.

Gone But Not Forgotten

Peter McWilliams
Ain't Nobody's Business If You Do

Web Rings

Credits

Copyright  ©  2002-2011 Mark Draughn. All rights reserved.

Site developed by
Draughn Software Corporation

Powered by Movable Type 4.261
Version 4.261

Downtown Host

Social networking tags courtesy of the Sociotags for Movable Type plugin by Ole Wolf.

Chicago lakefront image by Ken Gibson.

Admin

Valid XHTML 1.0 Transitional

Valid CSS

ICRA

Statistics

Claim Your Avvo Profile