Closed Bug 626195 Opened 9 years ago Closed 9 years ago

Spell checker crash with French dictionaries 4.0 or Hunspell 1.2.12 and below [@ AffixMgr::suffix_check(char const*, int, int, PfxEntry*, char**, int, int*, unsigned short, unsigned short, char) ][@ AffixMgr::suffix_check ]

Categories

(Core :: Spelling checker, defect, critical)

x86
All
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla2.0b12
Tracking Status
blocking2.0 --- final+
blocking1.9.2 --- needed
status1.9.2 --- .17-fixed
blocking1.9.1 --- needed
status1.9.1 --- wanted

People

(Reporter: scoobidiver, Assigned: RyanVM)

References

Details

(Keywords: crash, regression, Whiteboard: [tb31needed][hardblocker][fixed-in-hunspell-1.3.0])

Crash Data

Attachments

(2 files)

It is a new crash signature that exists in the trunk.
It is #48 top crasher in 4.0b9 over the last 3 days.

Comments say:
"Crashed when I tried to respond to an email in gmail (by clicking in the white box just below the received email). It is the second times it happens in 5 minutes."
"I was entering a bug (not this crash), then moved a tab out of the window to create another window and display it on my 2nd screen, and I got this"
"I was using the spell checker in a form field."

From a sample of crash reports, it seems to happen only with one of these extensions:
fr-classique@dictionaries.addons.mozilla.org 4.0
fr-classique-reforme1990@dictionaries.addons.mozilla.org 4.0
fr-moderne@dictionaries.addons.mozilla.org 4.0

Signature	AffixMgr::suffix_check(char const*, int, int, PfxEntry*, char**, int, int*, unsigned short, unsigned short, char)
UUID	be7ad7f8-b079-47ed-9008-250cc2110115
Time 	2011-01-15 17:41:12.631741
Uptime	61500
Install Age	64960 seconds (18.0 hours) since version was first installed.
Product	Firefox
Version	4.0b9
Build ID	20110110191547
Branch	2.0
OS	Windows NT
OS Version	6.0.6002 Service Pack 2
CPU	x86
CPU Info	GenuineIntel family 6 model 15 stepping 13
Crash Reason	EXCEPTION_ACCESS_VIOLATION_READ
Crash Address	0x2
App Notes 	AdapterVendorID: 8086, AdapterDeviceID: 2a02

Frame 	Module 	Signature [Expand] 	Source
0 	xul.dll 	AffixMgr::suffix_check 	extensions/spellcheck/hunspell/src/affixmgr.cpp:2486
1 	xul.dll 	PfxEntry::checkword 	extensions/spellcheck/hunspell/src/affentry.cpp:257
2 	xul.dll 	AffixMgr::prefix_check 	extensions/spellcheck/hunspell/src/affixmgr.cpp:1148
3 	xul.dll 	AffixMgr::compound_check 	
4 	xul.dll 	SfxEntry::checkword 	extensions/spellcheck/hunspell/src/affentry.cpp:716
5 	xul.dll 	nsIFrame::GetOffsetToCrossDoc 	layout/generic/nsFrame.cpp:3817
6 	xul.dll 	nsCOMPtr_base::~nsCOMPtr_base 	obj-firefox/xpcom/build/nsCOMPtr.cpp:81
7 	xul.dll 	nsIFrame::InvalidateInternal 	layout/generic/nsFrame.cpp:4141
8 	mozcrt19.dll 	arena_dalloc_small 	obj-firefox/memory/jemalloc/crtsrc/jemalloc.c:4153
9 	xul.dll 	xul.dll@0xd29cf 	
10 	xul.dll 	nsHTMLScrollFrame::InvalidateInternal 	layout/generic/nsGfxScrollFrame.cpp:211
11 	xul.dll 	AffixMgr::suffix_check_twosfx 	extensions/spellcheck/hunspell/src/affixmgr.cpp:2552
12 	xul.dll 	PfxEntry::check_twosfx 	extensions/spellcheck/hunspell/src/affentry.cpp:305
13 	xul.dll 	PfxEntry::check_twosfx 	extensions/spellcheck/hunspell/src/affentry.cpp:311
14 	xul.dll 	PfxEntry::checkword 	extensions/spellcheck/hunspell/src/affentry.cpp:263
15 	xul.dll 	xul.dll@0xd878f 	
16 	mozcrt19.dll 	arena_dalloc_small 	obj-firefox/memory/jemalloc/crtsrc/jemalloc.c:4204
17 	xul.dll 	AttachedHandleEvent 	view/src/nsView.cpp:193
18 	xul.dll 	AttachedHandleEvent 	view/src/nsView.cpp:194
19 	xul.dll 	nsRuleNode::GetStyleSVGReset 	layout/style/nsStyleStructList.h:147
20 	xul.dll 	nsBlockFrame::InvalidateInternal 	layout/generic/nsBlockFrame.cpp:541
21 	xul.dll 	xul.dll@0x10656f 	
22 	xul.dll 	nsWindow::OnPaint 	widget/src/windows/nsWindowGfx.cpp:673
23 	xul.dll 	nsBlockFrame::InvalidateInternal 	layout/generic/nsBlockFrame.cpp:547

More reports at:
http://crash-stats.mozilla.com/report/list?range_value=4&range_unit=weeks&signature=AffixMgr%3A%3Asuffix_check%28char%20const*%2C%20int%2C%20int%2C%20PfxEntry*%2C%20char**%2C%20int%2C%20int*%2C%20unsigned%20short%2C%20unsigned%20short%2C%20char%29
Component: Extension Compatibility → Spelling checker
Product: Firefox → Core
QA Contact: extension.compatibility → spelling-checker
Summary: Crash with the spell checker when different from the default one [@ AffixMgr::suffix_check(char const*, int, int, PfxEntry*, char**, int, int*, unsigned short, unsigned short, char) ] → Crash with the spell checker when the dictionnary is different from the default one [@ AffixMgr::suffix_check(char const*, int, int, PfxEntry*, char**, int, int*, unsigned short, unsigned short, char) ]
Summary: Crash with the spell checker when the dictionnary is different from the default one [@ AffixMgr::suffix_check(char const*, int, int, PfxEntry*, char**, int, int*, unsigned short, unsigned short, char) ] → Crash with the spell checker when the dictionary is different from the default one [@ AffixMgr::suffix_check(char const*, int, int, PfxEntry*, char**, int, int*, unsigned short, unsigned short, char) ]
Hunspell 1.2.14 has r+ and is waiting for hopeful landing approval. If someone can reproduce this crash, I can send it to the tryserver again to see if the new release fixes the crash.

Interestingly, there's a Hunspell bug filed upstream regarding crashing with French dictionaries as well. Might be related.
http://sourceforge.net/tracker/index.php?func=detail&aid=3159027&group_id=143754&atid=756395
Here is another helpul comment to find STR:
"Writing a mail in Yahoo Mail, typing a "+", Firefox crashes on a daily basis while typing message since 1 month (SAME thing with Firefox 3.6)"

It is not restricted to French dictionaries, see crash correlations in 4.0b9:
     43% (25/58) vs.   0% (58/24862) fr-classique-reforme1990@dictionaries.addons.mozilla.org (French dictionary, “classic and reform 1990” spelling., https://addons.mozilla.org/addon/13371)
     36% (21/58) vs.   0% (37/24862) fr-moderne@dictionaries.addons.mozilla.org
     45% (26/58) vs.  13% (3150/24862) {CAFEEFAC-0016-0000-0023-ABCDEFFEDCBA}
     43% (25/58) vs.  13% (3249/24862) {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d} (Adblock Plus, https://addons.mozilla.org/addon/1865)
     19% (11/58) vs.   1% (209/24862) en-GB@dictionaries.addons.mozilla.org (British English Dictionary, https://addons.mozilla.org/addon/3366)
     17% (10/58) vs.   0% (24/24862) fr-classique@dictionaries.addons.mozilla.org (French dictionary, “classic” spelling., https://addons.mozilla.org/addon/13369)
     21% (12/58) vs.   6% (1446/24862) {b9db16a4-6edc-47ec-a1f4-b86292ed211d} (Video DownloadHelper, https://addons.mozilla.org/addon/3006)
     17% (10/58) vs.   3% (631/24862) {CAFEEFAC-0016-0000-0021-ABCDEFFEDCBA}
     16% (9/58) vs.   2% (593/24862) {CAFEEFAC-0016-0000-0020-ABCDEFFEDCBA}
     14% (8/58) vs.   1% (196/24862) en-US@dictionaries.addons.mozilla.org (United States English Dictionary, https://addons.mozilla.org/addon/3497)
     19% (11/58) vs.   7% (1794/24862) {CAFEEFAC-0016-0000-0022-ABCDEFFEDCBA}
     16% (9/58) vs.   4% (1115/24862) {D4DD63FA-01E4-46a7-B6B1-EDAB7D6AD389} (Download Statusbar, https://addons.mozilla.org/addon/26)
      9% (5/58) vs.   0% (74/24862) {B17C1C5A-04B1-11DB-9804-B622A1EF5492} (Password Exporter, https://addons.mozilla.org/addon/2848)
     10% (6/58) vs.   2% (547/24862) compatibility@addons.mozilla.org
      9% (5/58) vs.   1% (148/24862) {F8A55C97-3DB6-4961-A81D-0DE0080E53CB} (Download Manager Tweak, https://addons.mozilla.org/addon/256)
    100% (58/58) vs.  93% (23083/24862) {972ce4c6-7e08-4474-a285-3208198ce6fd} (Default, https://addons.mozilla.org/addon/8150)
      7% (4/58) vs.   0% (11/24862) {2E481B23-66AC-313F-D6A8-A81DDDF26249} (Fierr, https://addons.mozilla.org/addon/5754)
      7% (4/58) vs.   0% (14/24862) {CAFEEFAC-0016-0000-0019-ABCDEFFEDCBA}
      7% (4/58) vs.   0% (28/24862) it-IT@dictionaries.addons.mozilla.org (Dizionario italiano, https://addons.mozilla.org/addon/3053)
      7% (4/58) vs.   0% (45/24862) {CAFEEFAC-0016-0000-0017-ABCDEFFEDCBA}
      7% (4/58) vs.   0% (45/24862) {4daac69c-cba7-45e2-9bc8-1044483d3352}
      7% (4/58) vs.   0% (74/24862) {e968fc70-8f95-4ab9-9e79-304de2a71ee1} (User Agent Switcher, https://addons.mozilla.org/addon/59)
      7% (4/58) vs.   1% (140/24862) {01A8CA0A-4C96-465b-A49B-65C46FAD54F9}
      7% (4/58) vs.   1% (273/24862) {0538E3E3-7E9B-4d49-8831-A227C80A7AD3} (Forecastfox, https://addons.mozilla.org/addon/398)
      7% (4/58) vs.   1% (295/24862) {64161300-e22b-11db-8314-0800200c9a66} (Speed Dial, https://addons.mozilla.org/addon/4810)
      5% (3/58) vs.   0% (7/24862) fr-reforme1990@dictionaries.addons.mozilla.org (French dictionary, “reform 1990” spelling., https://addons.mozilla.org/addon/13372)
      5% (3/58) vs.   0% (14/24862) {1266764D-FC4F-4FA7-B63B-884D53B1680F}
      5% (3/58) vs.   0% (23/24862) nl-NL@dictionaries.addons.mozilla.org (Woordenboek Nederlands, https://addons.mozilla.org/addon/3291)
      5% (3/58) vs.   0% (30/24862) dictionary-switcher@design-noir.de (Dictionary Switcher, https://addons.mozilla.org/addon/3414)
      5% (3/58) vs.   0% (30/24862) mintrayr@tn123.ath.cx (MinimizeToTray revived, https://addons.mozilla.org/addon/12581)
      5% (3/58) vs.   0% (38/24862) {cc85cd4e-5a5b-4eda-a25c-bdaffa93b406} (Google Redesigned, https://addons.mozilla.org/addon/8434)
      5% (3/58) vs.   0% (38/24862) browserprotect@browserprotect.com
Looks like a lot of foreign dictionaries in that list.

Nemeth - What are the odds that this is the same as the PHONE crash you recently fixed upstream?
(In reply to comment #3)
> Nemeth - What are the odds that this is the same as the PHONE crash you
> recently fixed upstream?

I believe, this is the same problem.
I'll push a build to the tryserver tonight with current Hunspell CVS code integrated into it. I'll need to reproduce the crash first, though...
I'm not sure it's the same crash. When I revert to Hunspell 1.2.12, I can't crash using the STR in comment #6. When I update to 1.2.14, I can reproduce that crash, however (which seems to follow with the comments given in the SourceForge bug report which imply that the problems start when updating to 1.2.14).

Firefox is currently on Hunspell 1.2.8 in in Firefox 3.6.13 (will be 1.2.12 in 3.6.14) and 1.2.12 on trunk and the last couple 4.0 betas. So it seems to me that we'll need to hold off on taking Hunspell 1.2.14 due to the new crash, but it may not solve the crash reported in this bug.
Tryserver builds off the current Hunspell CVS will be available here when they're ready:
http://ftp.mozilla.org/pub/mozilla.org/firefox/tryserver-builds/ryanvm@gmail.com-8bc51dbd02e2

I can at least confirm that the crash in comment #6 is fixed.

What interests and concerns me is that the crashes all show 4.0b7/b8/b9, which would indicate that the crash was introduced in Hunspell 1.2.12. On the other hand, there are some comments suggesting that this is being seen in older (1.2.8) code in Firefox 3.6 as well (though maybe they're just confounding two different crashes). I guess we'll find out for sure when Firefox 3.6.14 with the updated Hunspell code ships next month.

But like I said before, I can't reproduce the PHONE crash with 1.2.12, which leads me to believe that we're looking at something different here.
It looks like bug 606677 which has STR.
OS: Windows 7 → All
Summary: Crash with the spell checker when the dictionary is different from the default one [@ AffixMgr::suffix_check(char const*, int, int, PfxEntry*, char**, int, int*, unsigned short, unsigned short, char) ] → Crash with the spell checker when the dictionary is different from the default one [@ AffixMgr::suffix_check(char const*, int, int, PfxEntry*, char**, int, int*, unsigned short, unsigned short, char) ][@ AffixMgr::suffix_check ]
ditto thunderbird - huge increase starting Jan 13 (Bug 627420), which is long after version 3.1.7 shipped with whatever version of hunspell

spot check shows the most prevelant dictionary is 
 French dictionary, “classic and reform 1990” spelling. 	fr-classique-reforme1990@dictionaries.addons.mozilla.org 4.0 current  
though not restricted to that dictionary
It's interesting that the volume uptick is across a variety of firefox 4 betas starting on Jan 12.
         AffixMgr::suffix_check.char.const.,.int,.int,.PfxEntry.,.char..,.int,.int.,.unsigned.short,.unsigned.short,.char.

date     total    breakdown by build
         crashes  count build, count build, ...

20110110   
20110111   
20110112 1       1 4.0b82010121417 	
20110113 17  	15 4.0b82010121417, 
        		2 4.0b72010110414, 
20110114 56  	37 4.0b82010121417, 
        		7 4.0b92011011019, 	5 4.0b72010110414, 
        		4 4.0b42010081813, 	1 4.0b52010083108, 
        		1 4.0b10pre2011011303, 	1 4.0b10pre2011011207, 
20110115 61  	29 4.0b92011011019, 
        		19 4.0b82010121417, 	6 4.0b10pre2011011207, 
        		4 4.0b62010091408, 	1 4.0b72010110414, 
        		1 4.0b42010081813, 	1 4.0b10pre2011011403, 
20110116 84  	58 4.0b92011011019, 
        		12 4.0b82010121417, 	9 4.0b10pre2011011207, 
        		2 4.0b10pre2011011503, 	1 4.0b72010110414, 
        		1 4.0b62010091408, 	1 4.0b12010063014, 
20110117 163  	112 4.0b92011011019, 
        		19 4.0b82010121417, 	10 4.0b72010110414, 
        		9 4.0b10pre2011011207, 	5 4.0b42010081813, 
        		4 4.0b10pre2011011603, 	1 4.0b9pre2011011016, 
        		1 4.0b9pre2011010903, 	1 4.0b10pre2011011703, 
        		1 4.0b10pre2011011303, 
20110118 137  	115 4.0b92011011019, 
        		6 4.0b82010121417, 	4 4.0b72010110414, 
        		3 4.0b62010091408, 	3 4.0b10pre2011011703, 
        		3 4.0b10pre2011011207, 	2 4.0b10pre2011011303, 
        		1 4.0b22010072019, 
20110119 169  	121 4.0b92011011019, 
        		13 4.0b82010121417, 	11 4.0b10pre2011011803, 
        		9 4.0b72010110414, 	6 4.0b10pre2011011813, 
        		5 4.0b10pre2011011903, 	1 4.0b42010081813, 
        		1 4.0b22010072019, 	1 4.0b10pre2011011303, 
        		1 4.0b12010063014,
AMO indicates the fr dictionaries were updated Jan 13.
a few comments also confirm

> It just stopped, and this is the second or third time since I installed the 
> French Dictionnary.
in a sample of 169 reports from yesterday I see this break down and counts of the top addons

 123 <a href="http://addons.mozilla.org/en-US/firefox/addon/13661" Test Pilot 1.0.3 

 107 <a href="" </a     {972ce4c6-7e08-4474-a285-3208198ce6fd}       4.0b9

  65 <a href="http://addons.mozilla.org/en-US/firefox/addon/1865" Adblock Plus    {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}</td      1.3.3

  52 <a href="http://addons.mozilla.org/en-US/firefox/addon/13369" French dictionary, &ldquo;classic&rdquo; spelling.   4.0

  48 <a href="http://addons.mozilla.org/en-US/firefox/addon/13371" French dictionary, &ldquo;classic and reform 1990&rdquo; spelling.  fr-classique-reforme1990@dictionaries.addons.mozilla.org    4.0

  44 <a href="http://addons.mozilla.org/en-US/firefox/addon/64759" French dictionary, &ldquo;modern&rdquo; spelling.  "   4.0
more complete list of just the FR dictionaries

  52 <a href="http://addons.mozilla.org/en-US/firefox/addon/13369" French dictionary, &ldquo;classic&rdquo; spelling.</a	<a href="http://addons.mozilla.org/en-US/firefox/addon/13369"	4.0</td
  48 <a href="http://addons.mozilla.org/en-US/firefox/addon/13371" French dictionary, &ldquo;classic and reform 1990&rdquo; spelling.</a	<a href="http://addons.mozilla.org/en-US/firefox/addon/13371"	fr-classique-reforme1990@dictionaries.addons.mozilla.org</td	4.0</td
  44 <a href="http://addons.mozilla.org/en-US/firefox/addon/64759" French dictionary, &ldquo;modern&rdquo; spelling.</a	<a href="http://addons.mozilla.org/en-US/firefox/addon/64759"	4.0</td
   6 <a href="http://addons.mozilla.org/en-US/firefox/addon/13372" French dictionary, &ldquo;reform 1990&rdquo; spelling.</a	<a href="http://addons.mozilla.org/en-US/firefox/addon/13372"	fr-reforme1990@dictionaries.addons.mozilla.org</td	4.0</td
   5 <a href="http://addons.mozilla.org/en-US/firefox/addon/13369" French dictionary, &ldquo;classic&rdquo; spelling.</a	<a href="http://addons.mozilla.org/en-US/firefox/addon/13369"	3.9.2</td
   1 <a href="http://addons.mozilla.org/en-US/firefox/addon/64759" French dictionary, &ldquo;modern&rdquo; spelling.</a	<a href="http://addons.mozilla.org/en-US/firefox/addon/64759"	3.9.2</td
   1 <a href="http://addons.mozilla.org/en-US/firefox/addon/13371" French dictionary, &ldquo;classic and reform 1990&rdquo; spelling.</a	<a href="http://addons.mozilla.org/en-US/firefox/addon/13371"	fr-classique-reforme1990@dictionaries.addons.mozilla.org</td	3.9.2</td
The FR dictionaries have a 4.0.1 in the sandbox that looks like its awaiting review - maybe that "fixes" the issue? (I wasn't able to download it earlier).
Chris, can you confirm than for each crash, there is a French dictionary as add-on whatever its type and version?
Hmm, maybe the fix for comment #6 will resolve this then after all.
of the 169 reports it looks like 22 didn't have something matching "French" in the addon list.

a few cases of no addons installed (maybe bugs in gathering the addon list?) and other cases where *alot* of addons installed.

http://crash-stats.mozilla.com/report/index/e33de4a6-b8d2-4c26-b271-985d12110119 
http://crash-stats.mozilla.com/report/index/e2bf4623-2743-4d09-aabd-5c4bd2110119 
http://crash-stats.mozilla.com/report/index/daf87258-0072-42c5-b904-e2b5a2110119 
http://crash-stats.mozilla.com/report/index/d047a2e4-414b-4bf9-8c99-6fd782110119 
http://crash-stats.mozilla.com/report/index/cff97f6f-703a-4e92-9a48-de12b2110119 
http://crash-stats.mozilla.com/report/index/c33ee968-ddae-48d8-b20f-5ee432110119 
http://crash-stats.mozilla.com/report/index/be1c6a8a-1ed8-47d1-903f-c0f932110119 
http://crash-stats.mozilla.com/report/index/9a0a163b-9b93-4e1b-8a0a-7c4d02110119 
http://crash-stats.mozilla.com/report/index/8de93c78-6317-4b76-920b-65ab72110119 
http://crash-stats.mozilla.com/report/index/891ade42-fec1-469d-b138-4aab92110119 
http://crash-stats.mozilla.com/report/index/6e0a1d16-1341-40f2-a44a-fd91b2110119 
http://crash-stats.mozilla.com/report/index/67d6939a-80b0-43d8-8d30-aa7dd2110119 
http://crash-stats.mozilla.com/report/index/60d629b2-f3f3-4d70-aa75-4ed232110119 
http://crash-stats.mozilla.com/report/index/5fc58d92-f3b6-4135-a59d-1b45b2110119 
http://crash-stats.mozilla.com/report/index/4ec40860-9daf-4cf2-8313-1db852110119 
http://crash-stats.mozilla.com/report/index/3fefed32-7bab-4c01-a4d9-b04892110119 
http://crash-stats.mozilla.com/report/index/34850357-90e1-446b-a271-384be2110119 
http://crash-stats.mozilla.com/report/index/2ceb4fe7-1495-4b99-b8d2-bdd8d2110119 
http://crash-stats.mozilla.com/report/index/217478dc-c70e-42aa-b0c7-190d62110119 
http://crash-stats.mozilla.com/report/index/20ab1938-698f-4a81-b5f9-0b9ba2110119 
http://crash-stats.mozilla.com/report/index/14b7eb5b-2af0-4129-9ee7-2de0f2110119 
http://crash-stats.mozilla.com/report/index/0b4bf272-fae7-417b-b993-eafbf2110119
In reply to comment 19
> a few cases of no addons installed (maybe bugs in gathering the addon list?)
I noticed it for other crash reports. I don't know if there is a bug for that.

> and other cases where *alot* of addons installed.
Among the reports that have add-ons, there all have a fr-*@dictionaries* add-on. So it is definitively a French dictionary issue.

In reply to comment 6 and comment 16
The differences between 4.0 and 4.0.1 is the removing of PHONE commands (PHONE hasn't supported Unicode) as a workaround of bug ID 3159027 in Hunspell 1.2.14
French modern dictionary 4.0.1 is now available on addons.mozilla.org
Summary: Crash with the spell checker when the dictionary is different from the default one [@ AffixMgr::suffix_check(char const*, int, int, PfxEntry*, char**, int, int*, unsigned short, unsigned short, char) ][@ AffixMgr::suffix_check ] → Spell checker crash with French dictionaries 4.0 (PHONE commands) [@ AffixMgr::suffix_check(char const*, int, int, PfxEntry*, char**, int, int*, unsigned short, unsigned short, char) ][@ AffixMgr::suffix_check ]
also noticed there is a wide distribution of stack traces under this signature when looked at the run I made last night.
comments about spell check not working in the labs google group turned out to be the result of a corupt dictionary file.

http://groups.google.com/group/mozilla-labs-testpilot/browse_thread/thread/1b7b1a3f145afdcc/4e36a69e290f0424?lnk=gst&q=spell+check#4e36a69e290f0424
domains where these crashes seem to be happening most frequently are:

  54 www.facebook.com
  38 mail.google.com
   6 translate.google.com
   5 fr.mg40.mail.yahoo.com
   4 www.linkedin.com
   4 sn106w.snt106.mail.live.com
   3 www.q500.no
   3 svcs.cnn.com
   3 mx2.ecliente.com
   2 www.youtube.com
   2 www.google.com
   2 woodbumgfx.com
   2 static.ak.fbcdn.net
   2 nk.pl
   2 fr.mg41.mail.yahoo.com
   2 docs.google.com
   2 contact.ebay.fr
   2 contact.ebay.com
   2 ca.mg4.mail.yahoo.com
   2 bl158w.blu158.mail.live.com
I installed fr-moderne 4.0.1 (default dictionary) and it crashes again.
See: bp-b522db7f-b7c6-4556-8250-0cf3c2110121
So you can reproduce the crash? That's great news! I'm doing a build with current Hunspell CVS right now. If it goes well, I'll push it to tryserver and post the link here.
Pushed to tryserver. Builds will eventually appear at the below link:
http://ftp.mozilla.org/pub/mozilla.org/firefox/tryserver-builds/ryanvm@gmail.com-96fd3568b8ea
All versions of the French dictionary have been updated to 4.0.1, which supposedly fix the crash. Comment 24 claims otherwise, though.

It should take a few days for most users to update, and the impact should be reflected in the stats soon enough.
> So you can reproduce the crash?
Unfortunately, my STRs are not reliable. Sometimes it crashes but not always so I can't say if it is fixed in your try build.

> Comment 24 claims otherwise, though.
Here are other crash reports:
bp-3329940f-4642-4929-9b40-61db82110122
bp-7d45df1f-7b59-411b-be0f-49e9f2110121
Even if the crash signature is the same than the one with French dictionaries 4.0, stack traces differ from frame 5:
0 	xul.dll 	AffixMgr::suffix_check 	extensions/spellcheck/hunspell/src/affixmgr.cpp:2486
1 	xul.dll 	PfxEntry::checkword 	extensions/spellcheck/hunspell/src/affentry.cpp:257
2 	xul.dll 	AffixMgr::prefix_check 	extensions/spellcheck/hunspell/src/affixmgr.cpp:1148
3 	xul.dll 	AffixMgr::affix_check 	extensions/spellcheck/hunspell/src/affixmgr.cpp:2786
4 	xul.dll 	Hunspell::checkword 	extensions/spellcheck/hunspell/src/hunspell.cpp:664
5 	mozcrt19.dll 	mozcrt19.dll@0x640ef 
So may be, the latest version of Hunspell fix this part of the bug.
I confirm than after the upgrade to French dictionaries 4.0.1, crash is still here. Platform Linux 64 bits (slackware 13.1), sorry but no backtrace available.
Summary: Spell checker crash with French dictionaries 4.0 (PHONE commands) [@ AffixMgr::suffix_check(char const*, int, int, PfxEntry*, char**, int, int*, unsigned short, unsigned short, char) ][@ AffixMgr::suffix_check ] → Spell checker crash with French dictionaries 4.0 or Hunspell 1.2.12 and below [@ AffixMgr::suffix_check(char const*, int, int, PfxEntry*, char**, int, int*, unsigned short, unsigned short, char) ][@ AffixMgr::suffix_check ]
I think its still a bit unclear if the recent increase in crashes is due to the extension or not.

However, I think this needs to go on blocking lists so that we ensure we either resolve the issues with the add-ons or get a fix in for it.
Blocks: 627420
blocking1.9.1: --- → ?
blocking1.9.2: --- → ?
Whiteboard: [tb31needs]
(In reply to comment #28)
> > So you can reproduce the crash?
> Unfortunately, my STRs are not reliable. Sometimes it crashes but not always so
> I can't say if it is fixed in your try build.

Were you basically installing the French dictionary and then just using the browser as normal until it crashed?

I'd like to try landing Hunspell 1.2.15 ASAP once it's released, as it fixes a crash with similar symptoms and may take care of this one as well.

Nemeth/Caolan, any idea when that's going to be? The freeze for 4.0b11 is this Friday. Otherwise, are we willing to land a Hunspell CVS snapshot on trunk with the fix included to see if it works with the assumption that we will upgrade to 1.2.15 final (in whatever form it may take) when it goes final?
Hi all, I just registered in order to let you know about this crash, which I experience a lot

it happens with FF3 (up to date) and FF4 (also up to date)

I've tried all 3 of these French dictionaries:
https://addons.mozilla.org/en-US/firefox/addon/french-dictionary-classic-spel/
https://addons.mozilla.org/en-US/firefox/addon/french-dictionary-classic-and-/
https://addons.mozilla.org/en-US/firefox/addon/french-dictionary-modern-spell/
The problem remains with all of them

I'm pretty sure there are several ways to reproduce the crash, but I will tell you one of them:
Assuming you're typing a long enough message (let's say several times this one) and using the word "L'Islam" (without quotes) several times in it, at some point an occurrence of the word will be displayed as faulty (red underline) even if it's not
If you try to right click it to correct, the browser crashes
Mozilla has a ton of crash reports from me ^^

A detail that might be important, it seems to be happening a whole lot more depending on the website
For example, you have less chances to crash if you're typing a message in a simple phpBB board than you have if you're typing it on Facebook
I'm pretty sure facebook is the place where it happens the most

anyway, thanks for you concern: it is a real pain and I'm glad it's being looked into :)
Fixed in the Hunspell CVS. Removing "FULLSTRIP" from the dictionary aff file is a temporary solution to avoid program crash. Ryan, I will fix also a small memory leak this day before the next Hunspell release (version 1.3).
Do we have a specific patch to fix this, or is it just "take newer hunspell"?
blocking1.9.1: ? → needed
blocking1.9.2: ? → needed
The patches to fix this are on top of a version two releases ahead of current 3.6/trunk. Unfortunately, "take newer Hunspell" is likely the way it's going to be. Furthermore, 3.6 backporting will be a bit non-trivial due to some other changes that landed during the 4.0 release cycle that will need to be backed out on the branch. We'll worry about that in bug 620626 when the time comes, however.

Tryserver builds of 1.2.15/1.3.0 (identical codewise) will be available here when builds complete:
http://ftp.mozilla.org/pub/mozilla.org/firefox/tryserver-builds/ryanvm@gmail.com-812d3b9c129d

slowmotive - Can you please grab one of these builds once they become available and see if they fix the crash for you?
Depends on: hunspell-1.3.2
Will do, and come back to keep you informed :)
(In reply to comment #34)
> Do we have a specific patch to fix this, or is it just "take newer hunspell"?

Here is a patch to Hunspell 1.2.14 to show the relevant changes:

--- hunspell_fixsug3/src/hunspell/affixmgr.cxx	2011-01-24 13:29:22.711132007 +0100
+++ hunspell/src/hunspell/affixmgr.cxx	2011-01-26 10:18:19.446600063 +0100
@@ -2522,9 +2527,10 @@
         }
        se = se->getNext();
     }
-  
+
     // now handle the general case
-    unsigned char sp = *((const unsigned char *)(word + len - 1));
+    if (len == 0) return NULL; // FULLSTRIP
+    unsigned char sp= *((const unsigned char *)(word + len - 1));
     SfxEntry * sptr = sStart[sp];
 
     while (sptr) {
@@ -2589,8 +2595,9 @@
         }
         se = se->getNext();
     }
-  
+
     // now handle the general case
+    if (len == 0) return NULL; // FULLSTRIP
     unsigned char sp = *((const unsigned char *)(word + len - 1));
     SfxEntry * sptr = sStart[sp];
 
@@ -2651,8 +2658,9 @@
         }
         se = se->getNext();
     }
-  
+
     // now handle the general case
+    if (len == 0) return NULL; // FULLSTRIP
     unsigned char sp = *((const unsigned char *)(word + len - 1));
     SfxEntry * sptr = sStart[sp];
 
@@ -2757,8 +2765,9 @@
        }
        se = se->getNext();
     }
-  
+
     // now handle the general case
+    if (len == 0) return NULL; // FULLSTRIP
     unsigned char sp = *((const unsigned char *)(word + len - 1));
     SfxEntry * sptr = sStart[sp];
slowmotive - any news to report?
I'd love to, but turns out I didn't understand what file I'm supposed to download and install :/
I'm really sorry to ask you that, but can you please tell me which file to try in this link http://ftp.mozilla.org/pub/mozilla.org/firefox/tryserver-builds/ryanvm@gmail.com-812d3b9c129d
and, if it's complicated, how to install it?
thanks a lot and, again, sorry
It does not solve this issue, but I updated the French dictionaries extensions. The version 4.0.3 is in fact an old version of the dictionary (version 3.9.5, from october 2010).

No FULLSTRIP command.
No PHONE command.
No flags compression.
No morphologic data.
That should prevent Firefox/Thunderbird from crashing. ;)

https://addons.mozilla.org/en-US/firefox/addon/french-dictionary-modern-spell/
The new extension has not been validated yet.
Click on “View all versions” to get it.

I won’t upgrade the French dictionaries until this bug is fixed.
To Olivier R. : I just installed this add-on (in FF 3) and gave it a try
the first thing i did was to type "L'Islam " in the box below here: it crashed (report sent bp-afb7f00a-ca78-4537-8645-ab7f52110128) but I had just switched from English dictionary to this one, maybe it was part of the cause...

I then went to facebook and typed (pasted actually) a long enough message in which i added several "L'Islam" and "extrêmle" ("extrêmle" is a typo of the French word "extrême" which also causes crashes some times) and FF didn't crash, it did keep on saying "L'Islam" is wrong even thought it's not

a few minutes definitely can't be seen as a proper testing, therefore I will keep using this version for, say a day or two, and then come back at you

thanks for your work :)


Note: i use FF's spellchecker a LOT because i translate videos and subtitle them
in order to check my spelling and save time, i don't correct typos on the fly: i just let them and then paste the whole thing on a web page and read to correct, using FF's spellchecker
slowmotive - Assuming you're on win32, you would need to grab the .zip file from the win32 directory for that test build. You can then extract it and run firefox.exe from that extracted directory. If you need more help, feel free to email me directly.
Thanks: I'm going to try that immediately and I'll let you know
Once again, thanks a lot to all of you who try and help us with this issue: That's just great and highly appreciated :)
(In reply to comment #41)
> I then went to facebook and typed (pasted actually) a long enough message in
> which i added several "L'Islam" and "extrêmle" ("extrêmle" is a typo of the
> French word "extrême" which also causes crashes some times) and FF didn't
> crash, it did keep on saying "L'Islam" is wrong even thought it's not

Hunspell does not recognize words with a capital letter separated by a apostrophe with a prefix with a capital letter. That’s why the word “L'Islam” is not recognized, even if it’s suggested by the spellchecker. This is a very old bug (several years), but does not concern this issue. ;)
@ Olivier R.: noted :)

@ Ryan Vandermeulen: So far so good! I already think there's a major improvement since the spellchecker seems somehow faster, seems to be better oiled.

I used firefox-4.0b11pre.en-US.win32.zip on a win7 x64 computer and I've just corrected a very long message: To help test, I did the correction in facebook which definitely is a good benchmark and I didn't experience any crash.
Like I said, it also does seem faster, the somehow slow response seems to have disappeared.

I'll keep testing but it already smells good :)
I forgot to add precisions: i ran it with the dictionnary  (French "Classic") which used to cause lots of crashes in 4.0b10
Thank you so much for testing! I have one more request, however. Due to how close the final release of Firefox 4.0 is, the powers that be have decided that Hunspell 1.3.0 is too risky to take at this time. As a result, they want to take just a fix for this bug instead. I've started a new tryserver build with just the fix for this bug in it. Can you please test the build at the link below to confirm that the bug is still fixed? Note that the builds are in process now, so they may not be there immediately.
http://ftp.mozilla.org/pub/mozilla.org/firefox/tryserver-builds/ryanvm@gmail.com-d13f96e3cbdb

Thanks!
Attachment #508009 - Flags: review?(ehsan)
Attachment #508009 - Flags: review?(ehsan)
Attachment #508009 - Flags: review+
Attachment #508009 - Flags: approval2.0?
I have removed the version 4.0.1 from AMO. Here it is:
http://www.dicollecte.org/download/fr/moz-hunspell-fr-classique-v4.0.1.xpi
@ Ryan: no problem, I'm happy to help
however, the link http://ftp.mozilla.org/pub/mozilla.org/firefox/tryserver-builds/ryanvm@gmail.com-d13f96e3cbdb leads to a 404 error
Yes, because the builds are still in process. The link will work when they finish. If you want to follow their status, watch the following link:
http://tbpl.mozilla.org/?tree=MozillaTry&rev=d13f96e3cbdb

The the "B" on the Win Opt line is green, the build will be completed.
ok, thx :)
version downloaded: I'll be testing all tomorrow 
the previous already seemed pretty ok to me, even thought the testing was short
So far so good: it seem you have solved the problem or at the very least, say 95% of it's occurences.

Anyway, I've just received an update notice for 4b11: does it include these changes? thanks :)
This has not landed yet. If you're still running the build you downloaded from above, you're probably being asked to update to a newer nightly (4.0b11pre). Thanks again for testing!
Ok, I will stay to your version until it's changes are applied to the rest then
All better since it will allow a more thorough testing
CCing some drivers here for approval...
Assignee: nobody → ryanvm
blocking2.0: --- → final+
Whiteboard: [tb31needs] → [tb31needs][hardblocker]
Attachment #508009 - Flags: approval2.0? → approval2.0+
http://hg.mozilla.org/mozilla-central/rev/5947cd7a6ca2
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla2.0b12
slowmotive, it would appear that this did not land in time to make beta 11. Barring any unforseen changes, it will be in beta 12 and any future releases. Also, it will be in nightly builds starting tomorrow. Once we confirm that this patch fixes the crash, I will ask to get it landed on the Firefox 3.5 and 3.6 branches as well. Thank you again for helping to test the patch!
Thanks to you and the team for fixing it :)
I'll stick to you modded 4b11 version until 12 is out since I'm not experiencing any bugs with it

You guys are doing great: Keep this on !
(In reply to comment #32)

> I'm pretty sure there are several ways to reproduce the crash, but I will tell
> you one of them:
> Assuming you're typing a long enough message (let's say several times this one)
> and using the word "L'Islam" (without quotes) several times in it, at some
> point an occurrence of the word will be displayed as faulty (red underline)
> even if it's not
> If you try to right click it to correct, the browser crashes

I still crash the french Minefield version

Mozilla/5.0 (Windows NT 5.1; rv:2.0b12pre) Gecko/20110204 Firefox/4.0b12pre ID:20110204030345

with this steps:

Open http://www.quackit.com/html/codes/html_text_box_code.cfm

Clear the first text box, the one that says "Enter your comments here..." and type in "L'Islam ", and right click on the word.

Crash bp-dddfdb05-7703-4659-9030-2013b2110204
I confirm. Same with Firefox 3.6.13. French dictionary 4.0.3.

But is it the same bug?

http://pastebin.com/
Type in "L'Islam ", and right click on the word.

No crash.

Here, no crash. Same on other sites. No crash.
This bug is caused by one of the 2 reasons:
* French dictionary 4.0: see stack traces in comment 0. Fixed by 4.0.3
* FULLSTRIP: see stack traces in comment 28. Fixed by patch in comment 58

Ben,
It is another reason, so please file a new bug with your STR in the title. Don't forget to copy your stack traces from your crash report.
I created Bug 631607 for my STR.
Whiteboard: [tb31needs][hardblocker] → [tb31needs][hardblocker][fixed-in-hunspell-1.3.0]
Does this need to land on 1.9.2 as well?
Comment on attachment 508009 [details] [diff] [review]
Patch from comment #37

(In reply to comment #65)
> Does this need to land on 1.9.2 as well?

Yes.
Attachment #508009 - Flags: approval1.9.2.16?
Comment on attachment 508009 [details] [diff] [review]
Patch from comment #37

Approved for 1.9.2.16, a=dveditz for release-drivers
Attachment #508009 - Flags: approval1.9.2.16? → approval1.9.2.16+
Whiteboard: [tb31needs][hardblocker][fixed-in-hunspell-1.3.0] → [tb31needed][hardblocker][fixed-in-hunspell-1.3.0]
No longer blocks: 627420
Duplicate of this bug: 627420
Crash Signature: [@ AffixMgr::suffix_check(char const*, int, int, PfxEntry*, char**, int, int*, unsigned short, unsigned short, char) ] [@ AffixMgr::suffix_check ]
You need to log in before you can comment on or make changes to this bug.