PDA

View Full Version : database corruption



Mellock
September 13th, 2007, 00:51
FG crashed (heh). On re-entering it said that it found a backup database and copied it to
/campaigns/mycampaign/db.backup.xml.

There is no such file. There is one called "db.restore.xml" though. Is that the one they mean?

Then it says: "If you find the current campaign has been corrupted, please copy this file to:
C:\Documents and settings\mysexyname\Application Data\Fantasy Grounds 2/campaigns/mycampaign/db.xml."

that's the same folder, yes? So instead of copying, I just tried making a copy and renaming the backup to db.restore. It's not corrupted, but there is a *crapload* of work missing. I *almost* sure that FG has saved something more then that, am I missing something?

Edit: heh... funny, (in a way that is not funny, ofcourse) but this is my chatlog:

Chat log started at 12.9.2007 / 22:27:37

Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.
Campaign saved.

Chat log started at 13.9.2007 / 02:04:16

Yet there is not a single shred of my work left.

Dachannien
September 13th, 2007, 03:02
When you start FG, it makes a copy of the current db.xml and calls it db.restore.xml. When you exit FG, it (normally) saves out the current data in db.xml and then deletes db.restore.xml. So, if it crashes somewhere in between, the db.restore.xml file will still be there, but it contains the data that was in db.xml the last time you started FG.

By the way, once you click OK on the message box (the one that erroneously calls it db.backup.xml), it goes ahead and deletes db.restore.xml, copying over it with whatever is currently in db.xml. Your one chance to do something is while the message box is on the screen. (This may have changed, but this is how it worked a while back.)

This is regardless of how many times FG says "Campaign saved" or how many times you type /save, because FG doesn't flush the file buffer or generally do what it's supposed to do (cough cough) until you exit (and under some conditions, exiting can cause a crash, too, in which case you're screwed).

I've requested numerous times that they put in some better crash handling to help as a workaround for their crash bugs, but have heard nary a peep from them on the topic.

My advice is to make a backup of your campaign every time you exit FG, and keep your three or four backups on hand, just in case some sort of corruption creeps in.

Tokuriku
September 13th, 2007, 03:12
That's my suggestion too.
Before you exit the program after an intensive session or after you have worked on it for a lenght of time, /save then backup the db.xml just in case.

Mellock
September 13th, 2007, 03:33
I was already thinking something along those lines, but the entire "flash a messagebox that says "we backed up up your files and you can restore them" combined with "oooh, let's make it say that the campaign is saved every five minutes" is very misleading!

Ah well, can't be helped now...