Closed Bug 111684 Opened 23 years ago Closed 23 years ago

profiles can become corrupt, causing instability

Categories

(Core :: Preferences: Backend, defect)

x86
Windows 98
defect
Not set
normal

Tracking

()

VERIFIED INVALID

People

(Reporter: contact2009, Assigned: bnesse)

Details

One of the first troubleshooting steps for a problem involving a Mozilla crash or hang is to try a new profile. It often works. In such a situation, the user's old profile had become corrupt, and that corrupt profile made Mozilla more prone to instability. At first, the user starts with a good profile. Then, in the course of time that profile receives changes and alterations. Somehow, at some point, the profile becomes corrupted. This leads to hangs and crashes. It shouldn't be this way. Mozilla should have code to protect itself in two distinct ways. The first is to prevent corruption from taking place. Each profile file that is opened should be closed as soon as Mozilla is done writing to it. The second step is to recover gracefully from a corrupt profile. Upon opening a profile file, Mozilla should always scan it for stray characters. Before writing to it, Mozilla should attempt to "fix" the profile by getting rid of the extra characters. Of course, some settings will be lost. But the alternative, instability, is worse. If the corruption cannot be repaired, Mozilla should inform the user that the profile is corrupt, and then Mozilla should not open with that profile. Netscape 4.x does not have the problem of profile corruption. IE does not have this problem either. This problem can be fixed. Most users do not expect to encounter a problem of profile corruption. Expected results: Profiles do not often become corrupt, and when they do, the problem is fixed before it causes Mozilla to become unstable. Actual results: Profiles become corrupt and cause instability.
One of the primary reasons that profiles become corrupted is that we're making changes to the way that things are stored in a profile and testers are downloading test builds with incomplete or buggy changes. This bug does not point to a specific problem that can be addressed by an engineer.
There are two issues here. First, is this a problem? Second, if so, can it be solved? It is a problem. Profiles are corrupted too frequently. If every Mozilla release allows profiles to become corrupt so frequently, and does not recover gracefully from corrupt profiles, then Mozilla will never provide a stable user experience. We don't necessarily need to solve the problem utterly, once, now, and forever, but we should make the problem happen less often. Maybe the problem of corrupt profiles will not exist once 1.0 lands, because data fields in profiles will stabilize. If so, then this bug can be closed. I doubt that the data fields will ever stabilize, though. This is a problem that can be solved, or at least greatly improved, however. Maybe there are some profile files that Mozilla unnecessarily keeps open, exposing them to the risk of corruption in the event of a system hang or crash. Those could be written to disc earlier. There are other possible solutions mentioned in the original bug report. To the extent that the problem is caused by changing data fields, a different approach would have to be taken. The code could be audited for mistakes that lead to this problem before each release. This may prove to be too time consuming. Alternatively, a preprocessor for all profile files could scan for corruption when Mozilla first starts, or a sanity check could be run before any profile file is written to disc. This is a problem that can be solved. We have to improve the situation. One way to deal with this bug would be to implement a rudimentary fix, even a quick and dirty one. A small step would help. Then close the bug. If the corrupt profiles problem continues, we'll be able to build on what we've done before.
i don't get it. I use hard drives, windows, tape recorders, washing machines, refrigerators and other appliances. All of them are more likely to fail w/ time, use and maintenance than at first use. No one has offered me a really good solution for any of these. The best solution available is "don't use it" (my coworkers told me not to use windows, that kinda works, but i still manage to crash and corrupt whatever i use instead), it works pretty well for things like washing machines (I don't own one, i don't use the one i don't have, it doesn't break or corrupt my clothing). Your two very long statements have not provided anything approximating a useful insight that would help improve the problem you perceive. As such i agree w/ asa but would like to mark your bug invalid.
Assignee: asa → bnesse
Component: Browser-General → Preferences: Backend
QA Contact: doronr → sairuh
timeless@mac.com, I remember in about 7 years of heavy Netscape Navigator use, I once had a profile become corrupt. That kind of reliability, while not perfect, would be a good goal for Mozilla.
Thanks, timeless, for tossing this in my court... :P The profile is a large thing... it consists of preferences data, rdf data, cache data, bookmarks, cookies, history, etc. There are already a number of bugs out there which already pertain to making various components (bookmarks, prefs, and rdf come to mind) deal better with making archival backups and dealing with corrupt files. As Asa has already pointed out, there is nothing specific in this report that can be looked into by an engineer. If you can identify a specific piece of the profile information which is frequently being corrupted, great, file a bug against that component. This bug, as it exists, is not particularly useful to anyone. If you like, assign it to yourself, make it a meta bug and use it to track the progress of the component specific bugs.
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → INVALID
mass verification of Invalid bugs: to find all bugspam pertaining to this, set your search string to "MagaritaLuisaChascarilloAvoidsInvalidBugs". if you think this particular bug is *still* an open issue, please make sure of the following before reopening: a. where relevant, do check that it's actually still a problem with ***recent trunk builds*** on the all appropriate platform[s] b. provide clear, compelling reasons why this bug should be considered a valid one.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.