Closed Bug 269861 Opened 21 years ago Closed 21 years ago

Address Book file (abook.mab) is modified at each startup for no reason

Categories

(SeaMonkey :: MailNews: Address Book & Contacts, defect)

x86
Windows 2000
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jezza, Assigned: Bienvenu)

Details

(Keywords: fixed-aviary1.0)

Attachments

(1 file, 2 obsolete files)

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; INTRANETUSER) Build Identifier: When you start Mozilla Mail, your abook.mab file is opened and re-written even though you may not actually touch your Address Book via the interface. I can't figure out why this is the case. The following gets appended to abook.mab each time you load Mozilla Mail: @$${2{@ @$$}2}@ @$${4{@ @$$}4}@ ... Then, after it gets to @$${A{@ it removes all these, rewrites the existing entries and then starts off again at @$${3{@, then @$${5{@ - so far I haven't seen it stop. I can't figure this out. All I'm doing is loading Mozilla Mail. I'm not even opening my Address Book, nor am I composing a new message, nor am I viewing any mail, nor am I entering my password to download more mail. This is causing a problem for me because I want to back up the last N copies of my address book and the way my code works is based on whether the file is different to the saved copies. If it is, it rotates the saved copies up to a maximum of ten times, then copies the new file over. This works fine, but if the address book gets corrupted, very soon it will have overwritten all the backed up copies. Can anyone explain why Mozilla Mail is rewriting abook.mab every time? Reproducible: Always Steps to Reproduce: 1. Create a new profile 2. Enter an entry into the address book 3. Close Mozilla Mail 4. Copy the abook.mab from this profile to a temporary location 5. Start Mozilla Mail 6. Close Mozilla Mail 7. Using a 'diff' tool, compare the two abook.mab files. 8. Keep repeating steps 5 onwards to see ongoing effects. Actual Results: You see extra lines added to the live copy of abook.mab for no apparent reason. Expected Results: If the address book is not changed by way of new entries, deleted or updated entries then the abook.mab file should at most be accessed by Mozilla Mail, but not be modified by it.
OK, mork writes out a little bit of data on an ab commit even if the ab is not dirty...and we're committing the collected address book even though it's not dirty. I didn't think Mork wrote out any data on a commit with a clean db, and I think I could preflight this in mork w/o too much trouble. It would help performance, I think, because I've been assuming that commits were free on clean db's, instead of having a nominal cost.
Attached patch proposed fix (obsolete) — Splinter Review
this makes mork see if a store is dirty before writing out any data...
Assignee: sspitzer → bienvenu
Status: UNCONFIRMED → ASSIGNED
Attached patch use mork bools (obsolete) — Splinter Review
Attachment #165954 - Attachment is obsolete: true
it would be cheaper to check morkStore::IsStoreDirty() as long as that's reliable. I'll test that out...
Attached patch simpler fixSplinter Review
Attachment #165955 - Attachment is obsolete: true
Attachment #165957 - Flags: superreview?(mscott)
Comment on attachment 165957 [details] [diff] [review] simpler fix are you sure you want to add yourself as a contributor for morkWrite.h? :)
Attachment #165957 - Flags: superreview?(mscott) → superreview+
fixed on trunk - if all goes well, I'll check this into the branch as well.
Status: ASSIGNED → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Thanks everyone for your help!
Product: Browser → Seamonkey
Keywords: fixed-aviary1.0
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: