EVE Update destroys Windows boot.ini

GEC: Discuss gaming, computers and electronics and venture into the bizarre world of STGODs.

Moderator: Thanas

User avatar
Stark
Emperor's Hand
Posts: 36169
Joined: 2002-07-03 09:56pm
Location: Brisbane, Australia

Post by Stark »

HIGH LARIOUS. Like Hotfoot says, patch problems are pretty normal, but 'kills your computer doing something it shouldn't even be touching' is pretty awesome.

I pulled down the new client yesterday (I'm *almost* $15 curious about the changes they've made with Trinity) so I won't hit this problem. Unfortunately I think Flash used the client updater, but that was at ~1900 AU time so hopefully after they patched it.
User avatar
Yogi
Jedi Council Member
Posts: 2163
Joined: 2002-08-22 03:53pm
Location: Los Angeles
Contact:

Post by Yogi »

The problem was, there is a file that EVE online uses called "boot.ini" which isn't THE boot.ini so when the installer updated the file, it acciedentally deleted "\boot.ini" instead of "boot.ini"

Moral of the story: Don't name important files "boot.ini"
I am capable of rearranging the fundamental building blocks of the universe in under six seconds. I shelve physics texts under "Fiction" in my personal library! I am grasping the reigns of the universe's carriage, and every morning get up and shout "Giddy up, boy!" You may never grasp the complexities of what I do, but at least have the courtesy to feign something other than slack-jawed oblivion in my presence. I, sir, am a wizard, and I break more natural laws before breakfast than of which you are even aware!

-- Vaarsuvius, from Order of the Stick
User avatar
Edi
Dragonlord
Dragonlord
Posts: 12461
Joined: 2002-07-11 12:27am
Location: Helsinki, Finland

Post by Edi »

Yogi wrote:The problem was, there is a file that EVE online uses called "boot.ini" which isn't THE boot.ini so when the installer updated the file, it acciedentally deleted "\boot.ini" instead of "boot.ini"

Moral of the story: Don't name important files "boot.ini"
Ah, so that's why it was doing something like that. I don't play any MMO games, but the fact of the matter is that the assgoblin responsible for this design decision should be fired immediately. The level of incompetence is simply mind-numbing.
Warwolf Urban Combat Specialist

Why is it so goddamned hard to get little assholes like you to admit it when you fuck up? Is it pride? What gives you the right to have any pride?
–Darth Wong to vivftp

GOP message? Why don't they just come out of the closet: FASCISTS R' US –Patrick Degan

The GOP has a problem with anyone coming out of the closet. –18-till-I-die
User avatar
General Zod
Never Shuts Up
Posts: 29211
Joined: 2003-11-18 03:08pm
Location: The Clearance Rack
Contact:

Post by General Zod »

Destructionator XIII wrote: I guess that as a mistake kinda makes sense. Probably a typo in the code, or the programmer's mind had an off day and he was thinking of paths without drive letters as working from the root of the program's install folder (like it would in websites) rather than the root of the drive.
That seems like a rather big mistake for an "off" day. Shouldn't software companies on the size of CCP's have some sort of QA process to catch non-standard coding?
"It's you Americans. There's something about nipples you hate. If this were Germany, we'd be romping around naked on the stage here."
User avatar
Phantasee
Was mich nicht umbringt, macht mich stärker.
Posts: 5777
Joined: 2004-02-26 09:44pm

Post by Phantasee »

General Zod wrote:
Destructionator XIII wrote: I guess that as a mistake kinda makes sense. Probably a typo in the code, or the programmer's mind had an off day and he was thinking of paths without drive letters as working from the root of the program's install folder (like it would in websites) rather than the root of the drive.
That seems like a rather big mistake for an "off" day. Shouldn't software companies on the size of CCP's have some sort of QA process to catch non-standard coding?
They will now :lol:

I think it's hilarious how they've gone and shot themselves in the foot. All those addicts need their fix, and now they're going to go and steal people's computers and then they will go to jail because the cops will catch them. And then they will be having shower sex and introduced to real drugs, and next thing you know they're out on the street, shooting up fake heroin and dieing.

Way to go, makers of EVE. You killed a lot of innocent people. :wink:
XXXI
User avatar
18-Till-I-Die
Emperor's Hand
Posts: 7271
Joined: 2004-02-22 05:07am
Location: In your base, killing your d00ds...obviously

Post by 18-Till-I-Die »

Well i can see how it could be done as a mistake. Still, some part of me says, "Wait, if this boot.ini thing is so important why have a file marked boot.ini, why even risk it?"

I mean, look, i'm not even close to a computer nerd type so many there are other such things in other games and it's more common than i know, but it seems to me that it's extraordinarily risky to even have a second program with 'boot.ini' in it.

I'd almost say it was sabotage, if i were more cynical. Maybe some programer who was pissed at his Office Space like boss so decided to say "FUCK YOU ALL" in the biggest, brightest neon letters he possibly could.
Kanye West Saves.

Image
User avatar
General Zod
Never Shuts Up
Posts: 29211
Joined: 2003-11-18 03:08pm
Location: The Clearance Rack
Contact:

Post by General Zod »

18-Till-I-Die wrote: I mean, look, i'm not even close to a computer nerd type so many there are other such things in other games and it's more common than i know, but it seems to me that it's extraordinarily risky to even have a second program with 'boot.ini' in it.
I'm not aware of any game that uses "boot.ini" for files that it installs on your computer. It would be like having a gaming file named "command.com" in Windows 98.
I'd almost say it was sabotage, if i were more cynical. Maybe some programer who was pissed at his Office Space like boss so decided to say "FUCK YOU ALL" in the biggest, brightest neon letters he possibly could.
Only if the programmer wanted to commit career suicide and ensure he never worked as a programmer again.
"It's you Americans. There's something about nipples you hate. If this were Germany, we'd be romping around naked on the stage here."
User avatar
wautd
Emperor's Hand
Posts: 7593
Joined: 2004-02-11 10:11am
Location: Intensive care

Post by wautd »

I suppose stress to reach the deadline had something to do with it
User avatar
Ace Pace
Hardware Lover
Posts: 8456
Joined: 2002-07-07 03:04am
Location: Wasting time instead of money
Contact:

Post by Ace Pace »

Blog article by Eve staff on the bug.

Initially we had planned to use our third-party patching technology to create the graphics content upgrade file; however, we realized late in the development cycle that while it was suitable for creating small update patches for files that already existed on the computer, it did poorly in compressing new files. Since the content upgrade only had to replace two small text files - boot.ini and manifest.dat - and then copy 1.43 GB of new files, resDX9*.stuff, we decided to switch to our third-party installer technology that had superior compression, LZMA, enabling us to shrink the download from about 866 MB to 584 MB. The script to create the graphics content upgrade installer file was added to our source code management system on 30 November at 14:59 GMT. The first graphics content upgrade to use the installer technology was released on Singularity on Sunday, 2 December, and then a version for the final build, 45017, was released on Tranquility at 22:04 GMT on 5 December when the server was opened.

It might appear from the installer log that we made the mistake of explicitly deleting \boot.ini instead of just boot.ini. The former would delete the file from the root of the current drive whereas the latter would only delete from the current working directory. It is not quite so; the mistake was to assume that the file would be deleted from the current working directory without giving the full path. In fact, this is the code in the installer script that caused the problems:

Section "EVE-ONLINE"
SetOutPath "$INSTDIR"

Delete "boot.ini"
Delete "manifest.dat"

File "boot.ini"
File "manifest.dat"
File "resDX9*.stuff"
SectionEnd

The assumption was that by setting SetOutPath "$INSTDIR" then all commands that followed would use that working directory.

The File commands use the output path that has been set. The documentation for the Delete function says the file should be specified with a full path but in fact it must be specified with a full path, like so:

Delete "$INSTDIR\boot.ini"
Delete "$INSTDIR\manifest.dat"

Otherwise, it is assumed that the file should be deleted from the root.

The fix we made to the installer script was not to explicitly delete these two files but rather implicitly overwrite them. That fix was made in the early morning after the release, on 6 December at 06:08 GMT, and a fixed graphics content upgrade was released shortly thereafter. The faulty upgrade had been pulled from Tranquility a few hours after the problem was discovered, at around 03:40 GMT.

There are a few observations that you could rightly make:

Why do you have a file with the same name as a Windows system startup file? The answer is really "legacy"; it has been like that since 2001 when the file was introduced on the server and later migrated over to the client in 2002, so this file has been with us for over 6 years. We are reviewing all filenames and changing the name of any file that conflicts with Windows.

Why doesn't Windows protect its system startup files? That's a good question, one that I have asked myself in these last few days and wish I knew the answer. But of course I'm not going to blame Microsoft for our mistake. Windows doesn't protect those files and therefore software developers must take care not to touch them. We should have been more careful.

Why wasn't this caught in a code review? The installer scripting language is not easy to read. We had been working very hard for many weeks prior to release, evenings and weekends, and this error slipped by us.

Why didn't you catch this during testing? It's partly the reason above, not enough time to test the graphics content upgrade thoroughly to notice it removed this file. We also discovered that we didn't have enough variation in our hardware and operating system setups since Windows will recover if it's on the first partition of the boot drive. It seems that most computers at CCP are set up this way and this was my personal experience in the evening of the release. I upgraded my Revelations 2.3 client to Trinity Classic and from there to Trinity Premium. I logged onto Tranquility, then logged directly out again and rebooted my computer without any visible problems. Needless to say, we have already revised our testing procedures to make sure this does not happen again.

When this problem was discovered, developers were called back to work in the middle of the night to investigate and fix it. Since then we have been working hard around the clock helping our customers that were affected by this problem, quickly establishing phone support and even making arrangements for external support technicians, such as Geek Squad, to assist our customers when necessary. In all, we've been contacted by fewer than 215 users (170 by petition, 45 by phone) who were adversely affected by the boot.ini issue and we will remain diligent in our efforts to see that each case is resolved satisfactorily, first through our Customer Support and if that fails through third party tech assistance such as Geek Squad. (For more information on the boot.ini issue, please visit this webpage.)

We deeply regret this incident and appreciate the patience and support our community has shown through the recovery process.
Brotherhood of the Bear | HAB | Mess | SDnet archivist |
User avatar
Xon
Sith Acolyte
Posts: 6206
Joined: 2002-07-16 06:12am
Location: Western Australia

Post by Xon »

And this is why Microsoft rolled out the msi format and wrote the Windows Installer Service

Because every fucktard and thier dog rolled thier own installer baddly and kept trashing parts of the OS.
"Okay, I'll have the truth with a side order of clarity." ~ Dr. Daniel Jackson.
"Reality has a well-known liberal bias." ~ Stephen Colbert
"One Drive, One Partition, the One True Path" ~ ars technica forums - warrens - on hhd partitioning schemes.
Post Reply