Closed
Bug 98476
Opened 24 years ago
Closed 23 years ago
no redundant backup of critical cfg files (e.g., prefs.js)
Categories
(Core :: Preferences: Backend, enhancement)
Core
Preferences: Backend
Tracking
()
VERIFIED
FIXED
mozilla1.0.1
People
(Reporter: phoenixreads, Assigned: bnesse)
References
Details
(Keywords: dataloss, Whiteboard: [ADT2 RTM] [ETA 06/14])
Attachments
(3 files, 7 obsolete files)
13.63 KB,
patch
|
alecf
:
review+
jag+mozilla
:
superreview+
|
Details | Diff | Splinter Review |
8.04 KB,
text/plain
|
Details | |
2.59 KB,
text/plain
|
Details |
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.3) Gecko/20010801
This is a general design issue.
Randomly when there is a crash, pref.js along with bookmark.html can get
corrupted and trashed. Without a redundant backup there is no way to goto last
known good state and one is returned to the installed state.
This has occurred frequently enough that I keep a copy of pref.js so I don't
have to reconfigure my account setting each time there is a crash.
At present, Mozilla returned back to its installed state. 'pref.js' was
corrupted and replaced and bookmark.html was partially retreived. Without the
precaution and knowledge of recovering corrupted files all data would have been
lost.
Recommedation: Wouldn't it be easier for Mozilla to detect the error and restore
from a previous known good backup? In most cases, no lost of data will occur
and the end user will be completely unaware an error occurred. Not to mention
it will allow power user to restore to a previous state.
Comment 1•24 years ago
|
||
I think this should be a dup of bug 85316
Also, severity should be enhancement. Not marking as dup yet, because someone
might think differently. Please speak up if you do.
Severity: critical → enhancement
Comment 2•24 years ago
|
||
I don't agree that this is a dupe. What I see this asking for is for moz to make
a backup of critical config files when moz starts and, if the originals get
noticably corrupted, the backups are restored when moz next starts.
Changing Platform PC -> ALL
Hardware: PC → All
Reporter | ||
Comment 3•24 years ago
|
||
not a dupe of backing up profiles but system redunacy
David Illsley preception is correct. If I make a change to the pref.js file
there would be two previous saves to restore back to.
This save -> Last save -> Second last save
This would have enough redunacy that only complete destruction of all three
files would result in return to initial state. Perhaps you don't use Windoze
but this type of redunancy is required to maintain data. :) Well at least one
previous saved backup is mandatory.
The file corruption was from a systems crash not Moz and it took those files
with it since Moz was open at the time.
At the moment I lost access to two newsgroups which I added since my last backup
that I might? be able to restore to. Imagine the "@#)$ piece of ****" response
a typical user would give if that happen more to them more than once?
Assignee | ||
Comment 4•24 years ago
|
||
There is currently another bug open against prefs (Bug 94010) to back up the
current prefs.js file before saving the new one. It seems to me that by simply
not deleting that backup you could accomplish this as well. Of course that won't
fix bookmarks...
Don't the major OS's have some file rescue functionality that can be employed
here? I know Mac OS "rescues" some files open during a crash and puts them in a
special place for retrieval upon restart, and I'd be surprised if Windows and
Unix don't have something similar. Let's try to leverage these systems if
possible instead of writing and depending on yet another Mozilla-only solution.
Comment 7•24 years ago
|
||
Confirming bug since we have a duplicate. (I though bugzilla was suppossed to do
that for us automatically)
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment 8•24 years ago
|
||
i think it happens mostly, when you have an opened bookmark file (file is on the
disk opened physically) while you are surfing and there is a crash.
i dont know how mozillas code looks like in this case, but responsibles should
check that if user opens the bookmark file in a new windows, dont open bookmarkfile
for write operations. and open it only when required and close it as soon as
possible as not needed any more.
Comment 10•24 years ago
|
||
*** Bug 117345 has been marked as a duplicate of this bug. ***
Comment 11•24 years ago
|
||
*** Bug 117348 has been marked as a duplicate of this bug. ***
Comment 12•24 years ago
|
||
Hopefully the developer(s) assigned to deal with this problem carefully review
all the duplicate reports coming in (I just submitted two) because there are
some nuances here that are not readily apparent by working from any one
submission. Although I would agree that this is an enhancement request, it is
not a typical enhancement request, in that the lack of this feature has a
devastating effect not only on the browser, but on Mozilla Mail as well. It
should be an enhancement of the highest priority and the fix should perhaps
function similarly to Open Office, where the user is prompted on start up to
retrieve the lost config data. An ideal time to create the backup(s) is when
the user changes their preferences since that assumes that the system is sane at
the time and that new backups need to be made.
Assignee | ||
Updated•24 years ago
|
Target Milestone: --- → mozilla1.0.1
Assignee | ||
Comment 13•24 years ago
|
||
The issue of validating and restoring from backup poses some additional
challenges and is also somewhat dependent on seperating preferences from the
JavaScript engine. I am going to leave addressing those issues for the more aptly
titled bug 123027 (verifier for prefs.js). I will address the redundant backup
issue here.
Status: NEW → ASSIGNED
Target Milestone: mozilla1.0.1 → mozilla0.9.9
Assignee | ||
Comment 14•24 years ago
|
||
This patch adds safe saving support (fixes bug 94010) as well as support for
multiple redundant backups. The number of backups defaults to 1, but can be set
by the user to any number they feel is appropriate for them (including 0 ;).)
Comment 15•24 years ago
|
||
Comments:
+
+ nsIFile *GetSaveFile(nsIFile *aTargetFile, PRInt32 aNumBackupCopies =
0);
State what the ownership model is for the returned nsIFile*. It should probably
be an addreffed out-param.
+nsSafeSaveFile::nsSafeSaveFile(void)
+ : mTempFile(0),
No need to init mTempFile; it's an nsCOMPtr and will take care of itself.
+ fileName(0),
ditto.
+ mTargetFileName(0),
init with nsnull.
+nsIFile *nsSafeSaveFile::GetSaveFile(nsIFile *aTargetFile, PRInt32
aNumBackupCopies)
Shouldn't these params be passed to the ctor? It seems that they are data that
the class needs to operate.
+ // remove the file as determined by the logic above
+ backupFile->Exists(&bExists);
+ if (bExists)
+ backupFile->Remove(PR_FALSE);
Why bother with the Exists test; Remove will just fail, but that's OK.
+ tempFile = safeSave.GetSaveFile(aFile, numCopies);
Whoops, now your refcounting just got screwed. You'll do an extra release on this
nsIFile no?
+ // TODO: Convert the rest of this code to nsIFile and avoid this conversion to
nsIFileSpec
Can't you do that in this page? All you need is an output stream....
Comment 16•24 years ago
|
||
s/this page/this patch
Assignee | ||
Comment 17•24 years ago
|
||
>Shouldn't these params be passed to the ctor? It seems that they are data that
>the class needs to operate.
Initially I did this. Then I changed my mind. I can change it back...
>Whoops, now your refcounting just got screwed. You'll do an extra release on
> this nsIFile no?
Hmm, well I didn't notice a problem when I stepped through it, but I could have
missed it...
>Can't you do that in this patch? All you need is an output stream....
I started doing that once. Found the way the data was being streamed out didn't
appear to allow for an easy conversion to an nsIOutputStream. I will look at it
again.
Assignee | ||
Comment 18•24 years ago
|
||
New, much larger :), patch addressing comments from sfraser and alecf.
Attachment #68190 -
Attachment is obsolete: true
Comment 19•24 years ago
|
||
Comment on attachment 68384 [details] [diff] [review]
Revised patch
- after talking with brian and giving him mediocre string advice, we decied to
go with const char * instead of this crazy nsACString& thing that I originally
suggested :)
- mTargetFileName could be an nsXPIDLString
- seems like PostProcessSave() should return an nsresult..specifically the
failure of any of the nsILocalFile calls...esp. the last one (MoveTo()) and
then propagate that error all the way through nsPrefService::savePrefFile()
Assignee | ||
Comment 20•24 years ago
|
||
Yet another patch addressing alecf's additional comments and splitting
nsSafeSave out into its own file (which he also requested, but forgot to put in
his comments.)
Attachment #68384 -
Attachment is obsolete: true
Comment 21•24 years ago
|
||
Only nits left:
+ const char * outHeader = "# Mozilla User Preferences"
+ NS_LINEBREAK
+ "// This is a generated file!"
+ NS_LINEBREAK
+ NS_LINEBREAK;
If you want const data, and not just a const pointer, use
const char outHeader[] = "";
+nsresult nsPrefService::savePrefFile(nsIFile* aFile)
Not you, but since when did we recomment leading lower case method names?
+ PRInt32 numCopies = 1;
+ mRootBranch->GetIntPref("backups.number_of_prefs_copies", &numCopies);
Does 'GetIntPref' really not touch the param if it fails?
+ temp = strrchr(mTargetFileName, '\.');
Does the '.;' really have to be escaped?
I think this code needs to be very thoroughly tested, including under conditions
of low disk space (there's a DiskFiller tool for Mac that is useful here). I'd
also like to know whether the prefs file is saved during startup, since this
could hurt our startup time.
Assignee | ||
Comment 22•24 years ago
|
||
>Not you, but since when did we recomment leading lower case method names?
This seemed to be the convention that the original prefs files were using to
indicate a non-public method. I continued to use it, but I'm not particularly
tied to it.
>Does 'GetIntPref' really not touch the param if it fails?
None of the prefs functions touch the out param if they fail. Many consumers of
preferences count on this functionality.
>I'd also like to know whether the prefs file is saved during startup, since
>this could hurt our startup time.
The file is saved on startup if the initial read fails (i.e. it does not exist),
otherwise it is not.
Comment 23•24 years ago
|
||
Comment on attachment 68442 [details] [diff] [review]
Re-revised patch
sr=sfraser. Test, test and test again. This is critical functionality.
Attachment #68442 -
Flags: superreview+
Comment 24•24 years ago
|
||
Comment on attachment 68442 [details] [diff] [review]
Re-revised patch
excellent. with simon's nits, r=alecf
Attachment #68442 -
Flags: review+
Assignee | ||
Comment 25•24 years ago
|
||
This patch addresses the previous nits, and adds two useful methods to
nsSafeSaveFile. One to remove the temp file if the save failed for some reason
(i.e. disk full), and one to delete the oldest backup file. These functions
allow the consumer to detect a failed save, remove the most dated backup, and
retry the save if they are so inclined.
I have tested this functionality, though it is not actually used in the patch.
Attachment #68442 -
Attachment is obsolete: true
Assignee | ||
Comment 26•24 years ago
|
||
The last one didn't post correctly... trying again.
Attachment #68656 -
Attachment is obsolete: true
Assignee | ||
Comment 27•24 years ago
|
||
Some additional Front-End UI changes to make the Preferences dialog recover
gracefully if a save error occurs.
Comment 28•24 years ago
|
||
Comment on attachment 69087 [details] [diff] [review]
Patch to make the prefs dialog gracefully handle the save error
sr=alecf
Attachment #69087 -
Flags: superreview+
Comment 29•24 years ago
|
||
Comment on attachment 68659 [details] [diff] [review]
Same patch...try again
sr=alecf
Attachment #68659 -
Flags: superreview+
Comment 30•24 years ago
|
||
Comment on attachment 68659 [details] [diff] [review]
Same patch...try again
r=sfraser
Attachment #68659 -
Flags: review+
Comment 31•24 years ago
|
||
Comment on attachment 69087 [details] [diff] [review]
Patch to make the prefs dialog gracefully handle the save error
r=sfraser
Attachment #69087 -
Flags: review+
Updated•24 years ago
|
Summary: no redundant backup of critical cfg files (e.g., pref.js) → no redundant backup of critical cfg files (e.g., prefs.js)
Updated•24 years ago
|
Blocks: profile-corrupt
Assignee | ||
Comment 32•24 years ago
|
||
Fix checked in.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
2 pieces of bustage on Seamonkey-Ports:
On OS/2:
E:/OS2_2.40_Clobber/mozilla/modules/libpref/src/nsSafeSaveFile.cpp(61:30) :
error EDC3054: The "-" operator is not allowed between "char*" and "nsXPIDLCString".
on nebiros:
"/builds/tinderbox/SeaMonkey/SunOS_5.7_Clobber/mozilla/modules/libpref/src/nsSafeSaveFile.cpp",
line 59: Error: Cannot assign const char* to char*.
along with the warnings:
"/builds/tinderbox/SeaMonkey/SunOS_5.7_Clobber/mozilla/modules/libpref/src/nsSafeSaveFile.cpp",
line 60: Warning: The variable temp has not yet been assigned a value.
"/builds/tinderbox/SeaMonkey/SunOS_5.7_Clobber/mozilla/modules/libpref/src/nsSafeSaveFile.cpp",
line 95: Warning: fileName hides nsSafeSaveFile::fileName.
"/builds/tinderbox/SeaMonkey/SunOS_5.7_Clobber/mozilla/modules/libpref/src/nsSafeSaveFile.cpp",
line 155: Warning: fileName hides nsSafeSaveFile::fileName.
Assignee | ||
Comment 34•24 years ago
|
||
Had to back out changes due to unexplained orangeness on btek and comet.
May be related to dbaron's comments. re-opening.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Updated•24 years ago
|
QA Contact: sairuh → rvelasco
Assignee | ||
Comment 35•24 years ago
|
||
I generated this patch in conjunction with dbaron as an attempt to clean up the
issues that showed up on the 2 ports tinderboxen. I suspect that the orange we
saw may also have been due to these same issues showing up at runtime.
Comment 36•24 years ago
|
||
Comment on attachment 70184 [details] [diff] [review]
Patch to clean up ports builds.
sr=alecf
Attachment #70184 -
Flags: superreview+
Comment 37•24 years ago
|
||
Comment on attachment 70184 [details] [diff] [review]
Patch to clean up ports builds.
r=sfraser
Attachment #70184 -
Flags: review+
Comment 38•24 years ago
|
||
Question: You mentioned removing oldest backup on save fail. Will it be possible
to lose *all* backups this way through repeated save failures?
Under low disk space conditions, you should not relay on deleting backups for
recovering free space, because as soon as you free up some space, something
else, other than Mozilla might claim it.
Assignee | ||
Comment 39•24 years ago
|
||
There is no automatic removal of backups. I added the ability for the consumer
to remove the oldest backup if they so choose. This will not happen unless
called PurgeOldestBackup() is specifically called by the nsSafeSaveFile consumer.
Assignee | ||
Updated•23 years ago
|
Target Milestone: mozilla0.9.9 → mozilla1.0
Assignee | ||
Comment 40•23 years ago
|
||
*** Bug 127942 has been marked as a duplicate of this bug. ***
Comment 41•23 years ago
|
||
*** Bug 128131 has been marked as a duplicate of this bug. ***
Comment 42•23 years ago
|
||
nsbeta1+ per ADT/Embed triage.
Comment 43•23 years ago
|
||
*** Bug 128879 has been marked as a duplicate of this bug. ***
Comment 44•23 years ago
|
||
*** Bug 131105 has been marked as a duplicate of this bug. ***
Comment 45•23 years ago
|
||
*** Bug 122362 has been marked as a duplicate of this bug. ***
Comment 46•23 years ago
|
||
I posted Bug 131105, which concerns loss of only bookmarks added during the
current session when Mozilla crashes. It was marked as a dupe of this bug, but
it doesn't seem to be a dupe, unless I'm fundamentally misunderstanding this
bug. This bug, along with the other bugs marked as dupes of it, discusses loss
of bookmarks.html, but this isn't losing the whole file -- the file only loses
those bookmarks added during the current session. This *might* be an
unintentional side effect of a fix for 98476, if the file is just being
restored from a backup. There doesn't seem to be any reason to hold
bookmarks.html open after writing to it, though, and closing the file
immediately after writing a new bookmark to it ought to address this.
Since 131105 was marked as a dupe of this bug, I'm posting this here.
Assignee | ||
Comment 47•23 years ago
|
||
Ian, you are correct that this bug has nothing to do with bookmarks.html.
Although the code in this patch could be used to help fix bookmark issues, the
landing of this patch will in no way do so.
Comment 48•23 years ago
|
||
is this bug still supposed to be reopened?
Assignee | ||
Updated•23 years ago
|
Status: REOPENED → ASSIGNED
Target Milestone: mozilla1.0 → mozilla1.0.1
Assignee | ||
Comment 49•23 years ago
|
||
Yes. I still need to figure out what it is doing that causes the tinderboxen to
go orange when I land it.
Comment 50•23 years ago
|
||
*** Bug 135615 has been marked as a duplicate of this bug. ***
Comment 51•23 years ago
|
||
not going to mess with the summary on an established and assigned bug, but I'd
suggest that adding something about lost prefs/bookmarks to the summary would
make this easier to find.
bugs duped against this:
"All bookmarks/prefs/saved data GONE", "Browser configuration data lost",
"Mozilla-mail config files lost on power failure", "Preference file nuked", "All
bookmarks lost after computer crashed while managing", "intermittent total loss
of prefs", "bookmark file corrupted"
Comment 52•23 years ago
|
||
Another thing that I found to be lost on crash is browser History, on which I do
rely heavily for URL autocompletion.
Comment 53•23 years ago
|
||
*** Bug 143158 has been marked as a duplicate of this bug. ***
Comment 54•23 years ago
|
||
To summarize my duped bug:
1. Bookmarks and toolbar shortcuts deleted
2. History is intact and prefs.js looks ok too on a quick glance
3. Can't drag fave icon onto toolbar anymore to add shortcuts
(in the profile which had the files deleted)
Comment 55•23 years ago
|
||
Just read Brian Nesse's patch in comment #18.
Right at the end it has the action:
mTempFile->MoveTo(0, mTargetFileName);
In short, having shuffled the backups, _move_ the fresh temp file in
place of the extant config file.
Now, there are two main schools of thought on replacing files: the one above,
which makes a new file, then if ok deletes the old and moves the new in on top,
and the school which says backup the old, rewrite the extant file, then if ok
delete the backup.
I am in the latter camp.
Why? Because the former breaks the extant file's permissions and other state.
Example: I keep most of my config files "off to the side", in an "rc" subdir
of my home dir, for handy access and ready mirroring between work/home/isp. For
many apps it's enough to symlink the app's ~/.foo dir into ~/rc/foo, but that
only works for directories. For plain files on must either symlink or hardlink
from the app's expected path (eg ~/.mozilla/weirdchars/prefs.js) to the master
copy (eg ~/rc/mozilla/prefs.js).
The delete master and rename temp approach breaks that association.
Example two. My usual umask is 077 ("private file access by default" for nonUNIX
people). Now, suppose I make my prefs.js or some other file publicly accessable
for some reason (eg as an example for others). The delete/rename approach will
make a new, private, file. Undoing my altruism.
The core issue here is that there may be arbitrary policy on the user's end
about whatever file you're rewriting, and the delete/replace method destroys it.
All you're doing is replacing the file's content. Therefore, you _should_not_ be
doing things which affect more than the content.
I have met camp 1 (delete/replace) people who, on being presented with this
argument, went and wrote symlink-following, permission reading and restoring,
workarounds. Not only do such things not work (they won't help hard linked
files, they won't help files with nondefault owner/group, etc), they're also
unnecessary bloat totally unsuitable to a function whose core purpose is simply
safe file content replacement.
In summary, this short rant is a request to recast the code to something like this:
make backup (shuffling old backups as at present)
rewrite original (ie _just_ open for write/truncate and go)
if ok delete backup (or not, if you're accomodating change reversion)
if not ok, rewrite original from backup
if not ok, delete original, rename backup
if not ok, complain loudly, citing location of backup for user manual
recovery
Your call of course, but I strongly feel that people should avoid approaches
which assume they know the user's policy, especially since the user lacks an
standard public API for exporting that policy to the app, and also since the
apps really doesn't need to know such policy if cautiously coded.
Assignee | ||
Comment 56•23 years ago
|
||
*** Bug 145556 has been marked as a duplicate of this bug. ***
Comment 57•23 years ago
|
||
When can this land on the trunk, and be verified?
Blocks: 143047
Whiteboard: [ADT2 RTM]
Assignee | ||
Comment 58•23 years ago
|
||
There is an interaction between the safe save code and the tinderbox testing
scripts which causes any tinderbox running tests to go orange when this patch is
landed. Until this can be sorted out, this patch can not be landed.
Comment 59•23 years ago
|
||
Pls land this one on the trunk, and have it verified, after resolving tinderbox
issues.
Assignee | ||
Comment 60•23 years ago
|
||
My current intention, which should make Cameron happy :), is to re-architect the
safe save process along the lines of Cameron's suggestion. A side benefit of
this approach is that the actual process for writing the file will be
essentially unchanged from its current functionality which should eliminate the
Tinderbox script conflict.
Comment 61•23 years ago
|
||
I don't see it mentioned here, so don't forget the password manager. A disk
full error is death, to everything it seems. "Enhancement" doesn't quite
capture my sentiments right now, as I'm still finding de-config'ed nonsense an
hour after the fact.
Assignee | ||
Comment 62•23 years ago
|
||
Version which copies current to backup instead of writing temp files.
Additionally, I will also attach nsSafeSaveFile.cpp & h because it is simpler
to look at the entire file(s) than it is the diffs.
Attachment #68659 -
Attachment is obsolete: true
Attachment #69087 -
Attachment is obsolete: true
Attachment #70184 -
Attachment is obsolete: true
Assignee | ||
Comment 63•23 years ago
|
||
Assignee | ||
Comment 64•23 years ago
|
||
Comment 65•23 years ago
|
||
*** Bug 147053 has been marked as a duplicate of this bug. ***
Comment 66•23 years ago
|
||
Comment on attachment 84976 [details] [diff] [review]
Revised patch based on Cameron's comments
r=/sr=jag
Attachment #84976 -
Flags: superreview+
Comment 67•23 years ago
|
||
Comment on attachment 84976 [details] [diff] [review]
Revised patch based on Cameron's comments
r=alecf
Attachment #84976 -
Flags: review+
Assignee | ||
Comment 68•23 years ago
|
||
Orangeness fix verified on tinderbox yesterday by mcafee. Fix checked into trunk.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago → 23 years ago
Resolution: --- → FIXED
Comment 69•23 years ago
|
||
Mass removing adt1.0.0, and adding adt1.0.1 because, we are now on 1.0.1.
Keywords: adt1.0.0
Comment 70•23 years ago
|
||
rvelasco - can you pls verify this on the trunk? thanks!
Keywords: verifyme
Whiteboard: [ADT2 RTM] [Needs ADT+] [ETA 06/03] → [ADT2 RTM] [Needs ADT+] [ETA 06/07]
Comment 71•23 years ago
|
||
after talking with brian about this he gave me some insight as to how to verify
this bug.
"what I did for my purposes was to go and edit prefs... hit save/ok and then
compare the contents of the js and bak file... you should see the previous prefs
in .bak and the current ones in .js. That should be proof that it has done the
right thing"
I couldn't find a test case that would corrupt my prefs.js via crash, so I had
to test to see if the prefs.bak file was writing the correct values on exit of
the browser. On a File -> Exit or Ctrl-Q prefs.js writes the modified prefs
back to the prefs.bak file. which is what we want because that was the last
known good state.
In the event of a crash and a corruption occurs the end user should be aware of
reverting back to there old state by renaming or copying the prefs.bak to
prefs.js and load the browser with it's previously known good state.
Brian also stated you can use the pref("backups.number_of_prefs_copies", 3) to
keep multiple copies of the modified prefs.js file to avoid overwriting your
backup data with the corrupted one. Just add that line to the all.js to create
multiple backups of the prefs file prefs.bak1, prefs.bak2, etc, etc. With that
said...
verified on trunk:
Linux 2.4.7-10
Windows XP Pro
Mac OS X.1.3
Mac OS 9.2.2
Status: RESOLVED → VERIFIED
Comment 72•23 years ago
|
||
That's a very handy hidden pref. Are there others? How would you do that with
the bookmarks file?
Comment 73•23 years ago
|
||
>In the event of a crash and a corruption. . . the end user should be aware of
>reverting back to their old state by renaming or copying the prefs.bak to
>prefs.js and load the browser with its previously known good state.
Doesn't this mean that a user will have to manually move files around in the
event of a crash, or risk profile corruption?
If there is a crash, we should automatically restore the last known good config
files. Unfortunately, this process will sometimes fail because there will be no
known good config files. When that happens, we should restore the config files
to their default settings, just as they are with a new profile.
Thank you, Brian Nesse and other developers, for your work.
Comment 74•23 years ago
|
||
Rodney Velasco wrote:
>On a File -> Exit or Ctrl-Q prefs.js writes the modified prefs
>back to the prefs.bak file. which is what we want because that was the last
>known good state.
I'm not a Mozilla developer, so I'm not sure if I'm reading into this right, but
shouldn't it save the prefs as soon as the user exits the Preferences dialog?
Why should there be ANYTHING for it to write out at exit (or crash) time?
What am I missing? Thanks.
Assignee | ||
Comment 75•23 years ago
|
||
Ken, preferences *are* saved when you hit OK in the preferences dialog. But other
things are also saved in preferences, which are not directly affected by the
prefs dialog... these will only be saved if preferences are saved on exit.
Comment 76•23 years ago
|
||
adt1.0.1 (on ADT's behalf) for checkin to the 1.0 branch. pls check this in
asap, then add the "fixed1.0.1" keyword.
Whiteboard: [ADT2 RTM] [Needs ADT+] [ETA 06/07] → [ADT2 RTM] [ETA 06/14]
Comment 77•23 years ago
|
||
please checkin to the 1.0.1 branch. once there, remove the "mozilla1.0.1+"
keyword and add the "fixed1.0.1" keyword.
Keywords: mozilla1.0.1 → mozilla1.0.1+
Assignee | ||
Comment 78•23 years ago
|
||
Checked in to the 1.0 branch.
Keywords: mozilla1.0.1+ → fixed1.0.1
Comment 79•23 years ago
|
||
Verified on commercial branch
Linux 2.4.7-10 2002-06-20-06
Mac OS 9.2.2 2002-06-20-05
Mac OS X.1.5 2002-06-20-05
Windows 2000 2002-06-20-08
Keywords: fixed1.0.1 → verified1.0.1
Comment 80•23 years ago
|
||
I have a few questions that would be helpful to document for future generations
in one comment...so anyone who crashes can refer to this bug to make sure the
fix is working as expected in the real world:
Overall, please describe the user experience when they restart after a crash
other than the fact that only the last saved prefs will be intact.
-Will they see a popup message about this?
-Will they have to manually move files around in the event of a crash as asked
in comment #73?
(separate question: Are there any secret ways to recover an old bookmark file
that was completely wiped out due to crashes in previous builds? )
Thanks!
Comment 81•23 years ago
|
||
I just had a similar crash running the 6/16/2002 build under Mac OS X 10.1.5 on
a G4 Powerbook.
Wiped out (reset to distribution) my Bookmarks, no backup file around. It
doesn't look like it particularly wiped out my preferences as they seem pretty
much there.
There was no warning that it was lost.
Interestingly it wasn't exactly a crash. I had been changing the smtp server for
a mail account and discovered I could not save the preferences. It complained
about the tempoary file not being there. So I quit Mozilla and there were no
warning signs, dialog boxes or anything unusual. When I restarted everything was
fine except my bookmarks were gone.
This may be another bug, but it also applies to the desire to have a more robust
backup mechanism for bookmarks.
Assignee | ||
Comment 82•23 years ago
|
||
>Overall, please describe the user experience when they restart after a crash
>other than the fact that only the last saved prefs will be intact.
>-Will they see a popup message about this?
No, the PrefService has no knowledge that the Application crashed.
>-Will they have to manually move files around in the event of a crash as asked
>in comment #73?
Yes, see comment above.
>(separate question: Are there any secret ways to recover an old bookmark file
>that was completely wiped out due to crashes in previous builds? )
I don't know anything about bookmarks. Try asking in bug 131105 which pertains
to bookmark dataloss on crashes.
Comment 83•23 years ago
|
||
Re: Comment#80 (Susie)
> Overall, please describe the user experience when they restart after a crash
> other than the fact that only the last saved prefs will be intact.
My issue was rather with RULES.DAT and with the .MSF files. Damaged .MSF files
are sometimes not detected and they reflect bad information in the mail
summaries. The only solution I've found is to exit Mozilla and delete the .MSF,
forcing a re-build.
Damage to RULES.DAT is an even bigger pain. I've experienced several cases of
damage that completely disabled the mail-filtering function. For me, that dumps
about 2000 messages per day into my Inbox. There is no reasonable repair
procedure, it requires going back to a saved version and discovering what
filters need to be recreated.
> -Will they see a popup message about this?
No message. Mozilla doesn't really seem to notice the damage.
> -Will they have to manually move files around in the event of a crash as asked
> in comment #73?
As stated, restore is from a home-grown Zip archive of selected files.
> (separate question: Are there any secret ways to recover an old bookmark file
> that was completely wiped out due to crashes in previous builds? )
Back it up yourself, manually, as I've been doing. ;=P
Comment 84•23 years ago
|
||
*** Bug 158501 has been marked as a duplicate of this bug. ***
Comment 85•23 years ago
|
||
*** Bug 170460 has been marked as a duplicate of this bug. ***
Comment 86•23 years ago
|
||
I lost my bookmarks-file today while surfing http://www.ageofmythology.nu/ and
clicking "Prizes & Rules" mozilla crashed, most likely it was Flash that caused
the crash.
I didn't lose prefs.js or my history.
I didn't have any backups of the bookmarksfile. Shouldn't I have at least one? I
added one bookmark during the session.
I didn't have backups.number_of_prefs_copies set, I've set it to 3 now, since
this isn't the first time I've lost my bookmarks due to crashes.
I'm using Build: 2002111605
You need to log in
before you can comment on or make changes to this bug.
Description
•