Closed Bug 918223 Opened 6 years ago Closed 6 years ago

Aurora stopped adding words to persdict.dat


(Core :: Spelling checker, defect)

25 Branch
Not set



Tracking Status
firefox24 --- unaffected
firefox25 + verified
firefox26 + verified
firefox27 + verified


(Reporter: mackeev, Assigned: smaug)



(Keywords: regression)


(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.
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0 ID:20130917123208
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0 ID:20130918004001
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0 ID:20130918030202
Component: Untriaged → Spelling checker
Ever confirmed: true
Product: Firefox → Core
Regression window(m-c)
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20130710 Firefox/25.0 ID:20130710064457
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20130710 Firefox/25.0 ID:20130710105040

Regression window(m-i)
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20130709 Firefox/25.0 ID:20130709145300
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20130709 Firefox/25.0 ID:20130709151225

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
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), 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]

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]

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.
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.
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.