User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0a1) Gecko/20111225 Firefox/12.0a1 SeaMonkey/2.9a1 Build ID: 20111225003005 Steps to reproduce: Upgrade SM to latest nightly on Dec. 24th and start it Actual results: No mail was filtered - turned out that all filters had disappeared from the message filter dialog. msgFilterRules.dat was empty except for version and logging ("9" and "no" respectively). Happened again with trunk from 25th - my newly created filters were gone again... Expected results: Filters should have stayed in place...
wfm with Mozilla/5.0 (Windows NT 6.1; rv:12.0a1) Gecko/20111225 Firefox/12.0a1 SeaMonkey/2.9a1 My single message filter is still there.
Ah, yes, sorry. This is Linux. Furthermore, I have discovered that if I add a new rule, then try to add another, the second one replaces the first...
In the same time frame - I've lost filters as noted in bug 713253. - the reporter of bp-7a462531-f732-415e-942d-665e12111225 also lost filters. his last message to me ... "I had the profile window open when I loaded this 12.0a1. It appears that it over wrote the existing msgFilterRules.dat or erased its contents when Thunderbird loaded. The actual file is empty but the 'message filters' (loaded into memory?) still show in the GUI and they continue to function as written until I close Thunderbird. Or it crashes and closes itself. Evidently it then reads the empty file. The GUI appears to allow me to add filters but when I close the window and reopen it it is empty."
dgboles ... http://harthur.github.com/mozregression/ has a -thunderbird option according to :protz
(In reply to Wayne Mery (:wsmwk) from comment #4) > dgboles ... http://harthur.github.com/mozregression/ has a -thunderbird > option according to :protz Hmm... On the webpage <http://harthur.github.com/mozregression/> it says mozregression --app=thunderbird. Note the two dashes. That did not work. However that fails with an error. If I knew how to add an attachment here I would so I will put it here. Please feel free to copy it here. <http://www.box.com/s/zyniiiq2qqqt65m3zgul>
Created attachment 584442 [details] [diff] [review] proposed fix this fixes filter loss, so I'd like to land it asap.
Comment on attachment 584442 [details] [diff] [review] proposed fix >- NS_ENSURE_ARG(! (filterCount >= filterIndex)); >+ NS_ENSURE_TRUE(filterCount > filterIndex, NS_ERROR_INVALID_ARG); [Would have preferred NS_ENSURE_ARG(filterCount > filterIndex);]
ok, switched back to NS_ENSURE_ARG - http://hg.mozilla.org/comm-central/rev/07bbbe99496f
May I, since this is file-based as opposed to something with sqlite, and since it's apparently easy to hit a code path that zeroes the file, that someone institutes a "copy to .bak, then write the new file" thing, as it's apparently done for sessionstore.json, that we've had problems with before, which I guess is the reason for making backups in-app as opposed to relying on the user to have a backup mechanism in place?
Thanks for finding the cause David :(
(In reply to :aceman from comment #10) > Thanks for finding the cause David :( aceman, no problem.
I must be more careful next time.
The same fix is needed on Aurora channel..no http://hg.mozilla.org/releases/comm-aurora/rev/5cca813898cc
I guess that is the more proper flag to set.
Comment on attachment 584442 [details] [diff] [review] proposed fix > I guess that is the more proper flag to set. > status-thunderbird11: --- → affected You forgot approval-comm-aurora?
Comment on attachment 584442 [details] [diff] [review] proposed fix we should land this for aurora asap.
fixed on aurora - http://hg.mozilla.org/releases/comm-aurora/rev/e5d240a676e7