• Skip to main content
  • Skip to primary sidebar
  • My Social Media
  • About
    • About Mark Draughn
    • Testimonials
    • Other Authors
      • About Gary Olson
      • About Ken Gibson
      • About Joel Rosenberg
    • Disclosures
    • Terms and Conditions

Windypundit

Classical liberalism, criminal laws, the war on drugs, economics, free speech, technology, photography, sex work, cats, and whatever else comes to mind.

Why Software Testing Is Hard

July 2, 2008 By Mark Draughn Leave a Comment

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.

Related

Share This Post

Filed Under: Software

Reader Interactions

Leave a ReplyCancel reply

Primary Sidebar

Search

Recent Posts

  • Talking to my fellow libertarians about DOGE
  • Late night thoughts on the current crisis
  • Joining The Cult
  • Trump’s dumb attempt to define sex
  • Some advice for my transgender readers in the new year
  • Decoding Economics: Happiness and Taste
  • Decoding Economics: The Real Economy
  • Of Guns and Groomers

Where else to find me

  • Twitter
  • Post
  • Mastodon

Follow

  • Twitter
  • Mastodon

Bloggy Goodness

  • Agitator
  • DrugWar Rant
  • Duly Noted
  • Dynamist
  • Hit & Run
  • Honest Courtesan
  • Nobody's Business
  • Popehat
  • Ravings of a Feral Genius

Blawgs

  • a Public Defender
  • appellatesquawk
  • Blonde Justice
  • Chasing Truth. Catching Hell.
  • Crime & Federalism
  • Crime and Consequences Blog
  • Criminal Defense
  • CrimLaw
  • D.A. Confidential
  • Defending Dandelions
  • Defending People
  • DUI Blog
  • ECIL Crime
  • Gamso For the Defense
  • Graham Lawyer Blog
  • Hercules and the Umpire
  • Indefensible
  • Koehler Law Blog
  • Legal Satyricon
  • New York Personal Injury Law Blog
  • Norm Pattis
  • not for the monosyllabic
  • Not Guilty
  • Probable Cause
  • Seeking Justice
  • Simple Justice
  • Tempe Criminal Defense
  • The Clements Firm
  • The Trial Warrior Blog
  • The Volokh Conspiracy
  • Underdog Blog
  • Unwashed Advocate
  • West Virginia Criminal Law Blog

Bloggers

  • Booker Rising
  • Eric Zorn
  • ExCop-LawStudent
  • InstaPundit
  • Last One Speaks
  • Leslie's Omnibus
  • Marathon Pundit
  • Miss Manners
  • Preaching to the Choir
  • Roger Ebert's Journal
  • Speakeasy Blog
  • SWOP Chicago

Geek Stuff

  • Charlie's Diary
  • Google Blogoscoped
  • Schneier on Security
  • The Altruist
  • The Ancient Gaming Noob
  • The Daily WTF
  • xkcd

Resources

  • CIA World Factbook
  • Current Impact Risks
  • EFF: Bloggers
  • Institute for Justice
  • Jennifer Abel
  • StrategyPage
  • W3 EDGE, Optimization Products for WordPress
  • W3 EDGE, Optimization Products for WordPress
  • W3 EDGE, Optimization Products for WordPress
  • Wikipedia
  • WolframAlpha

Gone But Not Forgotten

  • Peter McWilliams

Copyright © 2025 Mark Draughn · Magazine Pro On Genesis Framework · WordPress

Go to mobile version