My fiancee is writing using Scrivener. (I put her onto it and she’s on her second book of three in the app now.)
Anyway, she’s been working away using Scrivener 1.1b1095 and is very dutiful about backing up and whatnot. But tonight, we had a very scary problem.
She wrote about 10,000 words today and was very proud of that. Then she took a break for us to go on a hike and have dinner. When she returned, Scrivener told her the file would need to be updated and could be corrupted by use with older versions.
She had not updated the software and was put off by the dialog, calling me in to see why it was doing that.
When I looked, it turns out that the project file had been nearly wiped out. All that remained within it were the following files:
79.rtfd
binder.scrivproj
BinderStrings.xml
QuickLook (a dir), which contained
Preview.html
Thumbnail.jpg
ui.xml
79.rtfd contains the chapter she had been working on today, but all other chapters 29 of them, were gone. The notes were gone. Just about everything was gone.
Fortunately, BinderStrings.xml appeared to be sizable, so I looked into it with BBEdit. Luckily, all the work she’d done had been saved in there, too, so we didn’t lose any data.
But it’s pretty frightening that all her work was wiped out, most likely when the project auto-saved. To make it worse, she had overwritten her previous two backups with the newly-corrupted project file.
Has this bug been seen before? Or has it been fixed in 1.10? (I have updated her to the new release now.)
Did she ever use 1.03? Is there any chance it could have been kicking around and she could have accidentally opened a 1.1b project in 1.03? That’s what it sounds like. Do a Spotlight search and make sure you only have one copy of Scrivener and it’s 1.1, and empty the trash. If it’s not that, beats me, but it sounds scary.
I have never heard of anything like this before. Just off the top of my head:
Scrivener only asks you to update a file when you try to open a project it doesn’t recognise, so presumably she had closed the file and then gone back to try to open it.
Are there any other versions of Scrivener on her system? (E.g. an older version such as 1.03.) Could she have accidentally opened the project in an older version at some point? However, this wouldn’t explain data loss, as the corruption involved here only affects the binder.scrivproj file and would just cause a blank window…
Does she save her work to an external drive? Is her hard drive nearly full? The only reason I could think for this happening is if the file was being transferred to an external drive in some way. Scrivener only deletes files from disk if they have no text in them. And then it only does this if the file has been edited to have no text. The auto-save has no effect over files that have not been edited.
Did she move the file at any point?
Another strange thing here: the binder.scrivproj is intact. There is no reason Scrivener would ask to update the file format if .scrivproj is intact and has not been corrupted by being opened in another version.
All in all, I can’t see anything that would have caused this - certainly the auto-save shouldn’t have done this - unless there is something else at play…
I wonder if this might be the key? Does this mean that she moved the file in some way?
I agree that this is certainly frightening, but I think there must have been some sort of disk problem involved - obviously I would like to get to the bottom of it, though, so would be grateful for more information on exactly what she did to get to this point (closing the file, moving it, opening it, any other versions on disk or whatever).
That is correct. She usually closes the project when she’s taking a break, and copies the file to two different places to ensure there is a backup.
No. She does go back and forth between her G5 and an old iBook, transferring the project via thumb drive, but I have ensured that she only has one copy of Scrivener installed at a time. Both machines were running the identical version and the most recent copy via the thumb drive was intact. We used it to recover her lost project.
She uses two drives on her G5. Her working file is stored on the Desktop. She then copies that working file to the root level of the other two drives. Both of the drives have sufficient working space. The boot drive has 9.0 GB available and the second drive 31 GB.
While Scrivener was open? I’m not sure. As I said, she does go back and forth between the G5 and iBook once or twice each day.
It’s certainly possible, I suppose, although I’ve not noticed any other odd behavior with her machine.
[/quote]
Perhaps I should send you both the corrupted and recovered projects so you can see if any clues lie within their contents?
You could certainly send me the files (zipped) and I would take a look, although I don’t think they would tell me much more.
To me, this almost certainly sounds like a copying error. This would explain everything - not all the files got copied, and it sounds as though the binder.scrivproj file got corrupted during the copy, too; perhaps the copy stopped whilst transferring binder.scrivproj. It may be that the machine went to sleep during the copy, or was closed or shut down, or the thumb drive was taken out or accidentally knocked, or any number of things. The fact that your wife does transfer files regularly between machines using a thumb drive would support this. It would be worth asking her whether she did any such copying today, and whether the file she opened when she saw this message had only just been copied to that location.
Interestingly, the files that did exist inside the .scriv folder were the ones that would most recently have been saved to disk - the most recent chapter, the binder and binder strings files, the interface file QuickLook information. I’m not sure what to make of that. It may just be that the copy process copies the most recent files first.
I’ll private email them to you later today, thanks.
Perhaps, except the machine is set to never sleep, not even the hard drives. And the thumb drive had not been removed since she transfered the file that morning and worked on 4 chapters.
Only one of the four chapter files she worked on yesterday was still intact after the file was corrupted, so I think there’s more possibly going on.
She did inform me that this one time she did NOT close the project before backing it up. Perhaps there’s something to look into there?
I know it sounds unbelievable, but she has been writing like a woman possessed. Actually, it’s not far off from “possessed”.
She is immersed in writing a trilogy and has been writing around 10-15 pages each day, completing the first of the books in about 5.5 weeks. (The current manuscript of the first book is 55 chapters, which when printed in book form yields around 365 pages.) The second book is at 31 chapters now.
She expects to have book two done in the next week and begin on book three, which will likely be done before mid-February.
Amazing, eh?
Oh, and she’s using Scrivener on an old tangerine iBook G3 that I hacked 10.4 onto. :-p
Yes, indeed. I’m impressed. I’m lucky to hit 1,000 good words in a day.
I want to know more about that too. Right now I’m doing most of my writing on one of the indigo blue clamshell iBooks. It only runs at 366 mhz, with 320 mb of ram. Could you get Scrivener to work on that? If so, please tell me how.
Actually, that blue iBook of yours is newer and better than hers! Hers is only 233 MHz, but I maxed the RAM at 576 MB. If you max out your RAM, you can then install Tiger, although there are a couple hitches.
Tiger typically comes on a DVD, not a CD. Back at release time, Apple had a special CD version for folks without a DVD-ROM. I used that CD installer.
The Tiger installer specifically denies being able to work on the clamshell iBook. But it can be modified and used all the same. I followed this method:
If your iBook has a FireWire port, you might be able to boot off a FW DVD drive, but you’ll still have to hack the installer to not deny installability on the machine.
It is highly unlikely she used 1.03 on that older file, as I removed all older versions from her computer as soon as I installed the newer one.
Incidentally, in case anyone is interested, I’ve written a little shell script that backs up the Scrivener projects from her Desktop. I run the script using a cron job that triggers it every 5 minutes, creating a tarball of all .scriv projects on her Desktop, and deleting the older archives after 3 days. (That amounts to about 500 MB of needed space for backups.) I’ve attached the script here so others can use it. backup.sh.zip (433 Bytes)
Thanks for sending the files. I’ve had a look at them, although, as I had thought, there is little I can glean from them. However, it turns out that binder.scrivproj is not corrupted at all. But the version info is stored in the info.plist file, so if that isn’t present Scrivener assumes it must be an older file format (older formats didn’t used to contain the version info there) and tries to update it. This would be consistent with a copying error, whereby info.plist, along with many other files, weren’t copied across.
This also supports my theory that this was a copying error rather than a mess-up on Scrivener’s part. There is no code inside Scrivener that could delete the info.plist file. The only files Scrivener ever deletes are the RTFD (or media) and TXT files (and occasionally snapshot files) that are no longer required if a document has no text or if it has been deleted. It never has cause to delete the info.plist file, so there is no code in there that could do this by accident.
The only reason the info.plist file would be missing - and the PageLayout.xml and ExportSettings.xml files, too, come to that, which were also missing - is if there has been some sort of disk problem or copying error when moving the file around.
I would recommend using Scrivener’s Backup To… feature to make backups and check the option to zip them up. If the backups are zipped, you are less likely to encounter such problems.
Good to hear. I wasn’t necessarily suspecting Scrivener, but thought it best to be safe and let you know, just in case it was a nasty bug.
My next suspicion is a disk problem, as I’m fairly certain it wasn’t a copying issue, since she was able to open the project and work on existing chapters, which indicates to me that the rtfd files must have been intact when she began. (Am I wrong to assume that?)
I agree that using zip backups is best, and I’ve impressed upon my fiancee that she needs to do so and to never replace a past backup until a week has passed.
I’ll keep you apprised of any new events, should they occur.
Yes, it is indeed backing up an open project. I’m not too worried about that, as Scrivener auto-saves frequently and I really just want to ensure the data is salvageable in case a disaster occurs.
Actually, Scrivener will open a project even if the RTFD files have been lost. But you would find that the chapters were all blank (at least the ones whose RTFD files had gone). Of course, in the corrupted file, you couldn’t even open up the project because the info.plist file had gone.
It is difficult to know what happened. It shouldn’t really be possible for the info.plist and various RTFD files simply to disappear whilst she was working on the project. That would be a fairly serious problem.
Hmm… I am however wondering if she somehow accidentally tried to move the file so that the open files (the open chapter, binder.scrivproj etc) weren’t moved but everything else was?
Really, I’m just stabbing in the dark here, though…
Yeah, I wish I had a better idea of what exactly happened, but it’s not really possible to know. My fiancee is quite computer savvy, so she’s not likely to have done something that an inexperienced user might or to accidentally stumble upon advanced features, such as “Show Package Contents” in the Finder without being aware of what she’s doing.
I’ll keep you posted if there is any further development.
For the moment, everything seems okay again. And, as I said before, I’m now tarballing the project ever 5 minutes.