Bad bug in iTunes 8

Steve Jobs must really be sick, because something is seriously wrong in Cupertino. After getting my grubby mits on iTunes 8, I immediately forked over $26.91 for season 4 of Battlestar Galactica, in HD. But when I wanted to watch the first episode of the season this evening, I couldn't.

Here is the report that I filed with iTunes:

Purchased Battlestar Galactica Season 4 in HD today using iTunes 8. As Steve Jobs indicated, HD TV shows purchased on iTunes also include the SD version, for playing on iPods and iPhones. Sure enough, after my purchase completed, iTunes started downloading 20 files - 2 files for each episode (one HD, and one SD). It took all afternoon, but all 14+ Gb finally managed to download.

However this evening, when I tried to sync Battlestar Galactica to my Apple TV, I got an error saying that all 10 episodes couldn't be found. Investigating, I found that in iTunes, 20 episodes are listed - but half of them have little exclamation points (!), indicating that while iTunes knows of the episode in its database, the underlying file can't be found.

Investigating still further, I used the Finder to navigate to my music library -> TV Shows -> Battlestar Galactica. In this folder, I found only 10 files, and judging by the file size, they are all SD.

When iTunes downloaded all 20 files from the store, it did them in a specific order. First it downloaded the HD version of the episode, and then it downloaded the SD version. My theory is that in a brilliant stroke of genius, the HD version and the SD version of the episode both have the same filename.

This is the scenario - iTunes downloads the first episode, "He That Believeth In Me", and writes it to the Battlestar Galactica folder as:

01 He That Believeth In Me.m4v

This is the HD version, and is around 1.4Gb. Then, it immediately starts downloading the SD version of the same episode. Critically, because it has the same filename, it starts writing the data to:

01 He That Believeth In Me.m4v

Mac OS X, when presented with a request to write a new file with the same path and same name, will simply delete the first file, and start laying down the second file.

Thus, each SD download over-wrote the previously downloaded HD version, and thus I wasted the majority of my afternoon downloading files that were immediately deleted by subsequent downloads.

Furthermore, it appears as if Apple TV is doing the "right thing", in that when instructed to sync the TV show "Battlestar Galactica", it attempts to sync the highest quality version of each episode that it finds. But since all of the HD episodes are now broken, the sync of this show fails.

Please advise as to how you will remedy this situation.

Thanks,

-Andy Reitz.

As further evidence, I'll post some screenshots (which you can't send along when you bitch at iTunes) after the break:

I downloaded 20 files from iTunes, but there are only 10 here. These are the low-def ones - you can tell because they are ~500Mb.
I downloaded 20 files from iTunes, but there are only 10 here. These are the low-def ones - you can tell because they are ~500Mb.

bsg_fubar_itunes.png
A shot from iTunes, showing all all of the HD versions of the BSG episodes are broken.

I don't know what is going on over at Apple HQ, but I'm pretty stunned that this bug wasn't caught. Maybe the rumor mill was right, and iTunes 8 barely made it for today's release. Either way, I hope to be watching Battlestar Galactica in HD soon.

Update: In thinking further about this, it seems like the HD/SD downloads are working fine for some people. So it's probably only a bug that manifests itself under certain conditions. But still... You'd think that something like iTunes would be paranoid about over-writing data, especially since Apple doesn't let you re-download media that you purchase from them.

-Andy.