Closed Bug 918223 Opened 6 years ago Closed 6 years ago

Aurora stopped adding words to persdict.dat

Categories

(Core :: Spelling checker, defect)

25 Branch
x86
All
defect
Not set

Tracking

()

VERIFIED FIXED
mozilla27
Tracking Status
firefox24 --- unaffected
firefox25 + verified
firefox26 + verified
firefox27 + verified

People

(Reporter: mackeev, Assigned: smaug)

References

Details

(Keywords: regression)

Attachments

(4 files, 1 obsolete file)

User Agent: Mozilla/5.0 (Windows NT 6.1; rv:25.0) Gecko/20100101 Firefox/25.0 (Beta/Release)
Build ID: 20130916004002

Steps to reproduce:

I added a new word to user dictionary by pressing the Add to dictionary item on the right-click menu. 


Actual results:

The squiggly line under the word disappeared and all subsequent entries of this word were treated as 'known' (no underlining) during the session.
When I closed and reopened Aurora, however, and then typed this word again, it was all new to the spellchecker (underlined again).
I found out that it had not been added to persdict.dat file at all.


Expected results:

It should have been added to persdict.dat. Actually, I had had no problems with this until August 21 (this is the last date persdict. dat was modified). I don't know what nightly exactly is responsible for this problem: I don't add new words too  often. But it should have started sometime around end of August beginning of September.
I can reproduce.
http://hg.mozilla.org/releases/mozilla-beta/rev/143e8c67cf1b
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0 ID:20130917123208
http://hg.mozilla.org/releases/mozilla-aurora/rev/0322470077b7
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0 ID:20130918004001
http://hg.mozilla.org/mozilla-central/rev/ab4ccf3d6b60
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0 ID:20130918030202
Status: UNCONFIRMED → NEW
Component: Untriaged → Spelling checker
Ever confirmed: true
Product: Firefox → Core
Regression window(m-c)
Good:
http://hg.mozilla.org/mozilla-central/rev/b3ff36cb6a1a
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20130710 Firefox/25.0 ID:20130710064457
Bad:
http://hg.mozilla.org/mozilla-central/rev/dde4dcd6fa46
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20130710 Firefox/25.0 ID:20130710105040
Pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=b3ff36cb6a1a&tochange=dde4dcd6fa46

Regression window(m-i)
Good:
http://hg.mozilla.org/integration/mozilla-inbound/rev/b61b7f2e0d0b
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20130709 Firefox/25.0 ID:20130709145300
Bad:
http://hg.mozilla.org/integration/mozilla-inbound/rev/d42a2a82f3d2
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20130709 Firefox/25.0 ID:20130709151225
Pushlog:
http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=b61b7f2e0d0b&tochange=d42a2a82f3d2

Regressed by:
d42a2a82f3d2	Olli Pettay — bug 789919, (snow-white) make addref/release of CCable objects faster by removing indirect refcnt increase/decrease, r=mccr8, test changes r=ehsan
OS: Windows 7 → All
Attached file spellcheck4.html
STR
1. Create New profile
2. Open Attached html
3. Type any wrong word 
4. Right click on a misspelled word And Choose "Add to Dictionary"
5. Exit Browser
   --- observe whether persdict.dat file is created in profile folder.
6. Start browser again
7. Open Attached html again
3. Type the wrong word 
   --- observe red squiggly line under the word

Actual Results:
persdict.dat file is not created.
underlined again.

Expected Results:
persdict.dat file should be created.
No underlined.
Looking (sounds like a bug in mozPersonalDictionary.cpp)
Aha, bug in mozSpellChecker. dtor does stuff it shouldn't do.
Assignee: nobody → bugs
Attached patch patchSplinter Review
As far as I see, this bug has been there forever. If mozSpellChecker has been
leaked or not collected during shutdown (and these days we explicitly disable shutdown CCs), http://mxr.mozilla.org/mozilla-central/source/extensions/spellcheck/src/mozSpellChecker.cpp#32 may not be called, and EndSession is possibly not called.

profile-do-change usage looks a bit bogus, but I don't want to change that
in this regression bug.
Attachment #807183 - Flags: review?(ehsan)
Attachment #807183 - Flags: review?(ehsan) → review+
Comment on attachment 807183 [details] [diff] [review]
patch

Actually, this should happen in profile-before-change.  r=me with that.
Don't know why, given the current shutdown setup, but ok, in principle that is the right thing to do.
Attached patch patch (obsolete) — Splinter Review
Attached patch patchSplinter Review
Attachment #807214 - Attachment is obsolete: true
Attached patch for branchesSplinter Review
[Approval Request Comment]
Bug caused by (feature/regressing bug #): bug 789919, although the problem has been there for ages
User impact if declined: User dictionary is not saved always
Testing completed (on m-c, etc.): about to land m-i. tested locally
Risk to taking this patch (and alternatives if risky): Should be low risk
String or IDL/UUID changes made by this patch:NA
Attachment #807227 - Flags: approval-mozilla-beta?
Comment on attachment 807217 [details] [diff] [review]
patch

I think this should actually apply to the latest Aurora.
Attachment #807217 - Flags: approval-mozilla-aurora?
(In reply to comment #8)
> Don't know why, given the current shutdown setup, but ok, in principle that is
> the right thing to do.

Yeah, in principle we're supposed to save everything that we need by profile-before-change.
https://hg.mozilla.org/mozilla-central/rev/01e5e4697b36
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla27
Assignee: bugs → twalker
Keywords: verifyme
Whiteboard: [good first verify]
Assignee: twalker → bugs
QA Contact: twalker
Attachment #807217 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Attachment #807227 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Mozilla/5.0 (Windows NT 6.1; rv:25.0) Gecko/20100101 Firefox/25.0
Mozilla/5.0 (Windows NT 6.1; rv:27.0) Gecko/20100101 Firefox/27.0 
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:25.0) Gecko/20100101 Firefox/25.0 
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:27.0) Gecko/20100101 Firefox/27.0
Mozilla/5.0 (X11; Linux i686; rv:25.0) Gecko/20100101 Firefox/25.0
Mozilla/5.0 (X11; Linux i686; rv:27.0) Gecko/20100101 Firefox/27.0

Reproduced with Nightly 25.0a1(Build ID: 20130713030205). 
Verified as fixed with STR from comment 3 on Firefox 25 beta 2 (Build ID: 20130923194050) and latest Nightly (Build ID: 20130924030202): the persdict.dat file is created in the profile folder when a word is added to dictionary.
Verified fixed in Nightly 27.0a1 buildid 20131007030203, Aurora 26.0a2 buildid 20131007004003.
Status: RESOLVED → VERIFIED
Keywords: verifyme
QA Contact: twalker
Whiteboard: [good first verify]
You need to log in before you can comment on or make changes to this bug.