Last Comment Bug 316543 - crash [@ mozSpellChecker::mozSpellChecker] when opening message compose window
: crash [@ mozSpellChecker::mozSpellChecker] when opening message compose window
Status: RESOLVED FIXED
: crash, topcrash, verified1.8.1.8
Product: Core
Classification: Components
Component: Spelling checker (show other bugs)
: 1.8 Branch
: x86 Windows XP
: -- critical (vote)
: ---
Assigned To: Adam Guthrie
:
Mentors:
http://bonsai.mozilla.org/cvsblame.cg...
: 315934 375154 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2005-11-15 07:25 PST by Adam Guthrie
Modified: 2011-06-09 14:58 PDT (History)
10 users (show)
dveditz: blocking1.8.1.8+
dveditz: blocking1.8.0.13-
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
make the constructor smarter (4.33 KB, patch)
2006-05-27 22:46 PDT, Adam Guthrie
timeless: review+
Details | Diff | Splinter Review
make the constructor smarter (with comments addressed) (4.18 KB, patch)
2006-05-28 11:05 PDT, Adam Guthrie
ispiked: review+
mscott: superreview+
dveditz: approval1.8.1.8+
dveditz: approval1.8.0.14-
Details | Diff | Splinter Review

Description Adam Guthrie 2005-11-15 07:25:33 PST
Observed using a nightly build of SeaMonkey (20051114).

From bug 315934:
When opening mail compose window (such as by clicking the compose button or
reply, or forward ...), Seamonkey crashes instantly.

Reproducible: Always

Steps to Reproduce:
1. Start Seamonkey
2. Start mailnews
3. Click "compose".

Actual Results:  
Crash instantly. TalkBack send report.

Expected Results:  
No crash :)

Occures with a freshly created profile.

Incident ID: 11841826
Stack Signature	mozSpellChecker::mozSpellChecker 9d91bb19
Product ID	MozillaTrunk
Build ID	2005111409
Trigger Time	2005-11-14 13:10:42.0
Platform	Win32
Operating System	Windows NT 5.0 build 2195
Module	spellchk.dll + (000012b3)
URL visited	
User Comments	Opening Compose window
Since Last Crash	15 sec
Total Uptime	15 sec
Trigger Reason	Access violation
Source File, Line No.	c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/extensions/spellcheck/src/mozSpellChecker.cpp, line 58
Stack Trace 	
mozSpellChecker::mozSpellChecker  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/extensions/spellcheck/src/mozSpellChecker.cpp, line 58]
mozSpellCheckerConstructor  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/extensions/spellcheck/src/mozSpellCheckerFactory.cpp, line 63]
CallCreateInstance  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/xpcom/build/nsComponentManagerUtils.cpp, line 171]
nsEditorSpellCheck::InitSpellChecker  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/editor/composer/src/nsEditorSpellCheck.cpp, line 144]
mozInlineSpellChecker::SetEnableRealTimeSpell  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/extensions/spellcheck/src/mozInlineSpellChecker.cpp, line 174]
XPTC_InvokeByIndex  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/xpcom/reflect/xptcall/src/md/win32/xptcinvoke.cpp, line 102]
XPCWrappedNative::CallMethod  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/js/src/xpconnect/src/xpcwrappednative.cpp, line 2139]
XPC_WN_GetterSetter  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/js/src/xpconnect/src/xpcwrappednativejsops.cpp, line 1468]
js_Invoke  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/js/src/jsinterp.c, line 1177]
js_InternalInvoke  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/js/src/jsinterp.c, line 1274]
js_InternalGetOrSet  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/js/src/jsinterp.c, line 1333]
js_SetProperty  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/js/src/jsobj.c, line 3107]
js_Interpret  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/js/src/jsinterp.c, line 3360]
js_Invoke  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/js/src/jsinterp.c, line 1197]
nsXPCWrappedJSClass::CallMethod  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/js/src/xpconnect/src/xpcwrappedjsclass.cpp, line 1372]
nsXPCWrappedJS::CallMethod  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/js/src/xpconnect/src/xpcwrappedjs.cpp, line 462]
SharedStub  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/xpcom/reflect/xptcall/src/md/win32/xptcstubs.cpp, line 147]
nsCommandManager::CommandStatusChanged  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/embedding/components/commandhandler/src/nsCommandManager.cpp, line 115]
nsComposerCommandsUpdater::UpdateOneCommand  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/editor/composer/src/nsComposerCommandsUpdater.cpp, line 368]
nsComposerCommandsUpdater::NotifyDocumentCreated  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/editor/composer/src/nsComposerCommandsUpdater.cpp, line 83]
nsEditor::PostCreate  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/editor/libeditor/base/nsEditor.cpp, line 354]
nsEditingSession::EndDocumentLoad  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/editor/composer/src/nsEditingSession.cpp, line 1113]
nsEditingSession::OnStateChange  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/editor/composer/src/nsEditingSession.cpp, line 818]
nsDocLoader::FireOnStateChange  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/uriloader/base/nsDocLoader.cpp, line 1214]
nsDocLoader::doStopDocumentLoad  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/uriloader/base/nsDocLoader.cpp, line 848]
nsDocLoader::OnStopRequest  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/uriloader/base/nsDocLoader.cpp, line 665]
nsLoadGroup::RemoveRequest  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/netwerk/base/src/nsLoadGroup.cpp, line 686]
nsBaseChannel::OnStopRequest  [c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/netwerk/base/src/nsBaseChannel.cpp, line 555]
Comment 1 Ray Booysen 2005-11-15 07:36:53 PST
The Spell Check extension is causing the crash.  Can you uninstall it and try to reproduce?
Comment 2 timeless 2005-11-15 08:47:01 PST
the code doesn't properly handle GS failing (it crashes...)
Comment 3 Adam Guthrie 2006-05-27 22:46:53 PDT
Created attachment 223582 [details] [diff] [review]
make the constructor smarter
Comment 4 timeless 2006-05-28 05:04:29 PDT
Comment on attachment 223582 [details] [diff] [review]
make the constructor smarter

this should work :)

>+mozSpellChecker::Init()
>+  mPersonalDictionary = do_GetService("@mozilla.org/spellchecker/personaldictionary;1",&rv);

I don't consider a lack of a personal dictionary fatal. if you don't have it, that's ok.

>+  mSpellCheckingEngine = do_GetService("@mozilla.org/spellchecker/myspell;1",&rv);
>+  if (NS_FAILED(rv)) {
>+    NS_ERROR("Could not get spell checker");

I don't think we need to NS_ERROR for this.

>+  mSpellCheckingEngine->SetPersonalDictionary(mPersonalDictionary);

note that you don't have to null check mpersonaldictionary for this call (and in the average case i'd hope there is a personal dctionary).

how about another patch with those changes (r=me)
Comment 5 Adam Guthrie 2006-05-28 11:05:02 PDT
Created attachment 223617 [details] [diff] [review]
make the constructor smarter (with comments addressed)

Carrying over +r.
Comment 6 Scott MacGregor 2006-06-09 00:58:34 PDT
Comment on attachment 223617 [details] [diff] [review]
make the constructor smarter (with comments addressed)

thanks for the patch!
Comment 7 Jeff Walden [:Waldo] (remove +bmo to email) 2006-06-15 11:58:51 PDT
Patch checked in on trunk.
Comment 8 Wayne Mery (:wsmwk, NI for questions) 2007-01-07 09:13:47 PST
bug 315934 a dup ?
Comment 9 Wayne Mery (:wsmwk, NI for questions) 2007-01-12 07:49:10 PST
*** Bug 315934 has been marked as a duplicate of this bug. ***
Comment 10 timeless 2007-07-19 00:15:22 PDT
*** Bug 375154 has been marked as a duplicate of this bug. ***
Comment 11 timeless 2007-07-19 00:16:32 PDT
Comment on attachment 223617 [details] [diff] [review]
make the constructor smarter (with comments addressed)

this patch applies cleanly to both branches and should be taken.
Comment 12 Daniel Veditz [:dveditz] 2007-08-06 12:30:16 PDT
This crash does not appear on the talkback lists in 1.5.0.x for Thunderbird, but does show up in Tbird 2.0.0.x
Comment 13 Daniel Veditz [:dveditz] 2007-08-29 14:49:44 PDT
Comment on attachment 223617 [details] [diff] [review]
make the constructor smarter (with comments addressed)

Approving for 1.8.1.7, a=dveditz for release-drivers
Comment 14 Reed Loden [:reed] (use needinfo?) 2007-09-05 23:02:21 PDT
MOZILLA_1_8_BRANCH:

Checking in extensions/spellcheck/src/mozSpellChecker.cpp;
/cvsroot/mozilla/extensions/spellcheck/src/mozSpellChecker.cpp,v  <--  mozSpellChecker.cpp
new revision: 1.8.6.3; previous revision: 1.8.6.2
done
Checking in extensions/spellcheck/src/mozSpellChecker.h;
/cvsroot/mozilla/extensions/spellcheck/src/mozSpellChecker.h,v  <--  mozSpellChecker.h
new revision: 1.3.46.1; previous revision: 1.3
done
Checking in extensions/spellcheck/src/mozSpellCheckerFactory.cpp;
/cvsroot/mozilla/extensions/spellcheck/src/mozSpellCheckerFactory.cpp,v  <--  mozSpellCheckerFactory.cpp
new revision: 1.4.8.2; previous revision: 1.4.8.1
done
Comment 15 Marcia Knous [:marcia - use ni] 2007-10-19 12:04:43 PDT
verified fixed using Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.8pre) Gecko/20071019 Thunderbird/2.0.0.7pre ID:2007101904.
Comment 16 Daniel Veditz [:dveditz] 2007-12-07 11:27:29 PST
Comment on attachment 223617 [details] [diff] [review]
make the constructor smarter (with comments addressed)

This does not appear in the top 500 crashes for Tbird 1.5, whereas it is currently #13 for Thunderbird 2.0.0.6

Note You need to log in before you can comment on or make changes to this bug.