I don’t fully agree with the running theme that one should necessarily close their project frequently—I don’t do that myself, though I have tuned my backup settings and practices to accommdate that way of working. I think there is a difference between recommending good practices to those that don’t dig into settings (close every night; you get backed up, even if you don’t really know what those words mean), and categorically stating that it is unsafe to use Scrivener in a fashion it was fully designed, optimised and honed over the years to be good at doing (that is, leaving it open forever).
- For one thing I use the Back up with each manual save setting. With that, ⌘S becomes a meaningful command in Scrivener once again. I press that about two or three times per day, depending upon how much work is being done in the project.
- While auto-save does make saving largely obsolete—there are a few things manual saving does, and they do entail the routine things Katherine referred to. These are things like writing out interface settings, Quick Look preview and so forth. Auto-save skips over that non-essential stuff to keep itself low profile, and so if you do depend entirely upon auto-save and then crash, you’ll see a little reversion in settings and such.
- At the end of every day, all open projects can be backed up in a blanket fashion by holding down the Option key on the File menu, and selecting File ▸ Back Up ▸ Back Up All Projects Now. I do that when I’m done for the day, so I don’t care if it takes fifteen minutes to spool through everything I have open. I could probably set up a macro to do that for me, based on a screensaver trigger that happens after a certain hour—but I tend to remember.
That is one ingredient, yes, but the main problem is when opening and closing projects during the day, best we can tell. If you scroll down to the very bottom of those problem reports, you’ll find a readout showing which project caused the error—and chances are that project won’t even be open!
The bug itself, and likely why it is so difficult to pin down and fix, seems to be an issue with the garbage collection routines in the Mac. Some fragment of that project was left open in memory, even though it is fully shut down and closed on the disk. Our best guess is that when the Mac itself runs nightly maintenance it detects these orphaned pointers (or whatever) and forcibly shuts them down—which is by nature reported as an error.
So with all of the previous explained, this bug is quite benign, in all liklihood it is even synonymous with File ▸ Close in its effect (or rather, the tail end of Close finally happening). You can choose to Continue so as to give yourself the opportunity to gracefully close any projects that are open, and then restart the software. I would recommend doing that, because even though it is benign, who knows what secondary issues it may cause down the line.
I see it happen maybe twice a week or so. I open and close a lot of projects—most of them exist only to test one or two things and are then abandoned forever. So while my preference would be to leave projects open forever, they do tend to be opened and closed more often as a result. However I don’t preemptively shut down every night just on the off-chance the bug might be there in the morning. If it happens, it happens and I restart—oh well. If not, I forget it even exists.
It is annoying when it happens, but since it’s a difficult bug to figure out, I’ve just learned to live with it—and it’s nothing to be afraid of. Hence, you don’t have to close every night unless you want to. And if you prepare for that way of working, I would say it is no more risky—if anything I probably back up more often than I would if I just relied on nightlies without thinking about it. Like I say I treat backups like others treat saving (and I keep 25 to compensate for that).
Given how this bug happens, I don’t think that would actually help with it at all.
But even so, it isn’t exactly a solution to those that want to keep Scrivener running in a proper and useful sense: with the projects open. There is little point in just having the menu bar floating there all night by itself.