Closed Bug 175321 Opened 22 years ago Closed 22 years ago

Crashes with Type Ahead Find; topcrash on M120B [@ nsTypeAheadFind::FindItNow]

Categories

(SeaMonkey :: Find In Page, defect, P1)

x86
Windows NT
defect

Tracking

(Not tracked)

RESOLVED FIXED
mozilla1.2final

People

(Reporter: greer, Assigned: aaronlev)

References

Details

(Keywords: crash, topcrash)

Crash Data

Attachments

(1 file, 1 obsolete file)

Not sure where this one belongs, I believe that Aaron worked on Type ahead Find,
so I will cc him. Aaron, please feel free to change this if it belongs somewhere
else.

This signature is showing up as a topcrash on the Trunk and in M1.2 Beta on
Windows and Linux. (The only user comments are at the bottom.)

Stack Trace: 

	 nsTypeAheadFind::FindItNow
[c:/builds/seamonkey/mozilla/extensions/typeaheadfind/src/nsTypeAheadFind.cpp 
line 1023]
	 nsTypeAheadFind::FindNext
[c:/builds/seamonkey/mozilla/extensions/typeaheadfind/src/nsTypeAheadFind.cpp 
line 1566]
	 nsTypeAheadFind::Observe
[c:/builds/seamonkey/mozilla/extensions/typeaheadfind/src/nsTypeAheadFind.cpp 
line 402]
	 nsObserverService::NotifyObservers
[c:/builds/seamonkey/mozilla/xpcom/ds/nsObserverService.cpp  line 213]
	 nsWebBrowserFind::FindNext
[c:/builds/seamonkey/mozilla/embedding/components/find/src/nsWebBrowserFind.cpp
 line 120]
	 XPTC_InvokeByIndex
[c:/builds/seamonkey/mozilla/xpcom/reflect/xptcall/src/md/win32/xptcinvoke.cpp 
line 106]
	 XPCWrappedNative::CallMethod
[c:/builds/seamonkey/mozilla/js/src/xpconnect/src/xpcwrappednative.cpp  line 1996]
	 XPC_WN_CallMethod
[c:/builds/seamonkey/mozilla/js/src/xpconnect/src/xpcwrappednativejsops.cpp 
line 1267]
	 js_Invoke	[c:/builds/seamonkey/mozilla/js/src/jsinterp.c  line 841]
	 js_Interpret	[c:/builds/seamonkey/mozilla/js/src/jsinterp.c  line 2804]
	 js_Invoke	[c:/builds/seamonkey/mozilla/js/src/jsinterp.c  line 857]
	 js_InternalInvoke	[c:/builds/seamonkey/mozilla/js/src/jsinterp.c  line 932]
	 JS_CallFunctionValue	[c:/builds/seamonkey/mozilla/js/src/jsapi.c  line 3433]
	 nsJSContext::CallEventHandler
[c:/builds/seamonkey/mozilla/dom/src/base/nsJSEnvironment.cpp  line 1044]
	 nsJSEventListener::HandleEvent
[c:/builds/seamonkey/mozilla/dom/src/events/nsJSEventListener.cpp  line 184]
	 nsXBLPrototypeHandler::ExecuteHandler
[c:/builds/seamonkey/mozilla/content/xbl/src/nsXBLPrototypeHandler.cpp  line 457]
	 nsXBLWindowHandler::WalkHandlersInternal
[c:/builds/seamonkey/mozilla/content/xbl/src/nsXBLWindowHandler.cpp  line 312]
	 nsXBLWindowKeyHandler::WalkHandlers
[c:/builds/seamonkey/mozilla/content/xbl/src/nsXBLWindowKeyHandler.cpp  line 183]
	 nsXBLWindowKeyHandler::KeyPress
[c:/builds/seamonkey/mozilla/content/xbl/src/nsXBLWindowKeyHandler.cpp  line 199]
	 nsEventListenerManager::HandleEvent
[c:/builds/seamonkey/mozilla/content/events/src/nsEventListenerManager.cpp  line
1627]
	 nsXULDocument::HandleDOMEvent
[c:/builds/seamonkey/mozilla/content/xul/document/src/nsXULDocument.cpp  line 2602]
	 nsXULElement::HandleDOMEvent
[c:/builds/seamonkey/mozilla/content/xul/content/src/nsXULElement.cpp  line 3497]
	 nsXULElement::HandleDOMEvent
[c:/builds/seamonkey/mozilla/content/xul/content/src/nsXULElement.cpp  line 3489]
	 nsXULElement::HandleDOMEvent
[c:/builds/seamonkey/mozilla/content/xul/content/src/nsXULElement.cpp  line 3489]
	 nsXULElement::HandleDOMEvent
[c:/builds/seamonkey/mozilla/content/xul/content/src/nsXULElement.cpp  line 3489]
	 nsXULElement::HandleDOMEvent
[c:/builds/seamonkey/mozilla/content/xul/content/src/nsXULElement.cpp  line 3489]
	 nsXULElement::HandleDOMEvent
[c:/builds/seamonkey/mozilla/content/xul/content/src/nsXULElement.cpp  line 3489]
	 nsXULElement::HandleDOMEvent
[c:/builds/seamonkey/mozilla/content/xul/content/src/nsXULElement.cpp  line 3489]
	 nsXULElement::HandleDOMEvent
[c:/builds/seamonkey/mozilla/content/xul/content/src/nsXULElement.cpp  line 3489]
	 nsXULElement::HandleChromeEvent
[c:/builds/seamonkey/mozilla/content/xul/content/src/nsXULElement.cpp  line 4688]
	 GlobalWindowImpl::HandleDOMEvent
[c:/builds/seamonkey/mozilla/dom/src/base/nsGlobalWindow.cpp  line 792]
	 nsDocument::HandleDOMEvent
[c:/builds/seamonkey/mozilla/content/base/src/nsDocument.cpp  line 3539]
	 nsGenericElement::HandleDOMEvent
[c:/builds/seamonkey/mozilla/content/base/src/nsGenericElement.cpp  line 2055]
	 PresShell::HandleEventInternal
[c:/builds/seamonkey/mozilla/layout/html/base/src/nsPresShell.cpp  line 6220]
	 PresShell::HandleEvent
[c:/builds/seamonkey/mozilla/layout/html/base/src/nsPresShell.cpp  line 6143]
	 nsViewManager::HandleEvent
[c:/builds/seamonkey/mozilla/view/src/nsViewManager.cpp  line 2148]
	 nsView::HandleEvent	[c:/builds/seamonkey/mozilla/view/src/nsView.cpp  line 304]
	 nsViewManager::DispatchEvent
[c:/builds/seamonkey/mozilla/view/src/nsViewManager.cpp  line 1934]
	 HandleEvent	[c:/builds/seamonkey/mozilla/view/src/nsView.cpp  line 83]
	 nsWindow::DispatchEvent
[c:/builds/seamonkey/mozilla/widget/src/windows/nsWindow.cpp  line 1065]
	 nsWindow::DispatchWindowEvent
[c:/builds/seamonkey/mozilla/widget/src/windows/nsWindow.cpp  line 1082]
	 nsWindow::DispatchKeyEvent
[c:/builds/seamonkey/mozilla/widget/src/windows/nsWindow.cpp  line 2925]
	 nsWindow::OnKeyDown
[c:/builds/seamonkey/mozilla/widget/src/windows/nsWindow.cpp  line 3014]
	 nsWindow::ProcessMessage
[c:/builds/seamonkey/mozilla/widget/src/windows/nsWindow.cpp  line 3913]
	 0x22eb84b1
 
 	Source File :
c:/builds/seamonkey/mozilla/extensions/typeaheadfind/src/nsTypeAheadFind.cpp
line : 1023
     (12669290)	Comments: Using F3 in typeaheadfind  
     (12429193)	Comments: Selected find again from menu after using type ahead
search (not sure if repeatable)
removing Aaron, from the cc list since he is the default owner.
Keywords: crash, topcrash
my guess is that treeItem is null.
1016               nsCOMPtr<nsIDocShellTreeItem>
treeItem(do_QueryInterface(startingContainer));
1017               nsCOMPtr<nsIDocShellTreeItem> rootContentTreeItem;
1018               nsCOMPtr<nsIDocShell> currentDocShell;
1019               nsCOMPtr<nsIDocShell>
startingDocShell(do_QueryInterface(startingContainer));
1020             
1021              
treeItem->GetSameTypeRootTreeItem(getter_AddRefs(rootContentTreeItem));
1022               nsCOMPtr<nsIDocShell> rootContentDocShell =
1023                 do_QueryInterface(rootContentTreeItem);
I wish I could work on this now, but I'm about to leave for the airport.
Blocks: isearch
Component: Accessibility APIs → Keyboard Navigation
Can we get a null defense wallpaper fix for 1.2?  Topcrash, and all, you know.

/be
Blocks: 1.2
Attached patch noisy wallpaper (obsolete) — Splinter Review
Comment on attachment 103497 [details] [diff] [review]
noisy wallpaper

sr=bzbarsky, but keep the bug open for the real fix, please.
Attachment #103497 - Flags: superreview+
Comment on attachment 103497 [details] [diff] [review]
noisy wallpaper

r=bbaetz, but don't let this become a permenant wallpaper
Attachment #103497 - Flags: review+
Comment on attachment 103497 [details] [diff] [review]
noisy wallpaper

a=asa for checkin to 1.2 (on behalf of drivers).
Attachment #103497 - Flags: approval+
Thanks for the temporary fix.

I do presshell -> prescontext -> docshell.

I do a null check on the presshell and prescontext, but I wasn't checking the
docshell.

Does anyone know when a presshell and prescontext can still be alive, but the
docshell isn't?

Perhaps the simple adding of this null check is the right fix after all.
Comment on attachment 103497 [details] [diff] [review]
noisy wallpaper

checked in. if this is the right patch then someone can remove the assertion
using this bug :)
Attachment #103497 - Attachment is obsolete: true
If this is fixed, can we close it please?
According to jkeiser this should not be happening.

There should never be a case where there is a presshell without a docshell.

Right?
*** Bug 176472 has been marked as a duplicate of this bug. ***
Both user comments say this is something related to "find again". I think this
is the same as bug 177039, but I cannot get a test case where it will crash for
me, or hit the assertion added by timeless.

I think this must have been fixed by one of the changes to the
nsTypeAheadFind::FindNext impl along the way.
I raised bug 176472 with a test case that caused this crash.  Have you tried
that as your test case?

I also did a retest with a nightly build showing it was fixed, at least for my
test case, details in the bug comments.
I'll reiterate Ian's comment: I got this crash by:

- visit page
- do typeaheadfind search
- visit other page
- type F3

I *think* it only crashed if the second page didn't contain the string we
searched for initially, but I can't say that's true. It's fixed by this band-aid
for now, anyway.
I'm not sure it's the band-aid that fixed it. I can't even get it to assert
there (in a debug build). It might have been changes to our "find next" handling
code that fixed this.
Aha, I have it asserting now.

1. Go to www.generalcoffee.com
2. type "soft" <Enter>
3. type F3

Asserts or crashes depending on whteher you have the "band-aid" fix for this bug.
*** Bug 177039 has been marked as a duplicate of this bug. ***
Blocks: 171260
Comment on attachment 104458 [details] [diff] [review]
Compare findnext's top content presshell with typeaheadfind's top content presshell. If different, taf shouldn't handle the findnext command.

>Index: src/nsTypeAheadFind.cpp

>@@ -1508,16 +1508,32 @@

>+  nsCOMPtr<nsIPresShell> typeAheadPresShell(do_QueryReferent(mFocusedWeakShell));

Could you comment that here, the typeAheadPresShell is not really the
typeAheadPresShell (we get the real shell later on and re-assign into this
var)...


>+  NS_ENSURE_TRUE(treeItem, NS_OK);;

Double semi-colon.

r=caillon
Attachment #104458 - Flags: review+
Okay, comment added and ;; changed to ;

Seeking sr=
Status: NEW → ASSIGNED
Priority: -- → P1
Target Milestone: --- → mozilla1.2final
Comment on attachment 104458 [details] [diff] [review]
Compare findnext's top content presshell with typeaheadfind's top content presshell. If different, taf shouldn't handle the findnext command.

sr=brendan@mozilla.org

/be
Attachment #104458 - Flags: superreview+
Comment on attachment 104458 [details] [diff] [review]
Compare findnext's top content presshell with typeaheadfind's top content presshell. If different, taf shouldn't handle the findnext command.

a=asa for checkin to 1.2 (on behalf of drivers)
Attachment #104458 - Flags: approval+
checked in
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
-- Verified in latest trunk build.(20021111). Works fine. Marking verified.
Status: RESOLVED → VERIFIED
reopening for M120B


Rank    StackSignature    Count  

12   nsTypeAheadFind::FindItNow   47
		 175321 	 VERI 	 FIXE 	 aaronl@netscape.com 	 mozilla1.2final 	 2002-11-11 

 
 	Source File :
c:/builds/seamonkey/mozilla/extensions/typeaheadfind/src/nsTypeAheadFind.cpp
line : 1023
 
====================================================================================================
     Count   Offset    Real Signature
[ 13   nsTypeAheadFind::FindItNow 124e8ff7 - nsTypeAheadFind::FindItNow ]
[ 1   nsTypeAheadFind::FindItNow 64cfe909 - nsTypeAheadFind::FindItNow ]
 
     Crash date range: 2002-11-14 to 2002-11-23
     Count   Platform List 
     13   Windows NT 5.0 build 2195
     1   Windows 98 4.10 build 67766446
 
     Count   Build Id List 
     14   2002101612
 
     No of Unique Users        13
 
 Stack trace(Frame) 

	 nsTypeAheadFind::FindItNow
[c:/builds/seamonkey/mozilla/extensions/typeaheadfind/src/nsTypeAheadFind.cpp 
line 1023] 
	 nsTypeAheadFind::FindNext
[c:/builds/seamonkey/mozilla/extensions/typeaheadfind/src/nsTypeAheadFind.cpp 
line 1566] 
	 nsTypeAheadFind::Observe
[c:/builds/seamonkey/mozilla/extensions/typeaheadfind/src/nsTypeAheadFind.cpp 
line 402] 
	 nsObserverService::NotifyObservers
[c:/builds/seamonkey/mozilla/xpcom/ds/nsObserverService.cpp  line 213] 
	 nsWebBrowserFind::FindNext
[c:/builds/seamonkey/mozilla/embedding/components/find/src/nsWebBrowserFind.cpp
 line 120] 
	 XPTC_InvokeByIndex
[c:/builds/seamonkey/mozilla/xpcom/reflect/xptcall/src/md/win32/xptcinvoke.cpp 
line 106] 
	 XPCWrappedNative::CallMethod
[c:/builds/seamonkey/mozilla/js/src/xpconnect/src/xpcwrappednative.cpp  line 1996] 
	 XPC_WN_CallMethod
[c:/builds/seamonkey/mozilla/js/src/xpconnect/src/xpcwrappednativejsops.cpp 
line 1267] 
	 js_Invoke	[c:/builds/seamonkey/mozilla/js/src/jsinterp.c  line 841] 
	 js_Interpret	[c:/builds/seamonkey/mozilla/js/src/jsinterp.c  line 2804] 
	 js_Invoke	[c:/builds/seamonkey/mozilla/js/src/jsinterp.c  line 857] 
	 js_InternalInvoke	[c:/builds/seamonkey/mozilla/js/src/jsinterp.c  line 932] 
	 JS_CallFunctionValue	[c:/builds/seamonkey/mozilla/js/src/jsapi.c  line 3433] 
	 nsJSContext::CallEventHandler
[c:/builds/seamonkey/mozilla/dom/src/base/nsJSEnvironment.cpp  line 1044] 
	 nsJSEventListener::HandleEvent
[c:/builds/seamonkey/mozilla/dom/src/events/nsJSEventListener.cpp  line 184] 
	 nsXBLPrototypeHandler::ExecuteHandler
[c:/builds/seamonkey/mozilla/content/xbl/src/nsXBLPrototypeHandler.cpp  line 457] 
	 nsXBLWindowHandler::WalkHandlersInternal
[c:/builds/seamonkey/mozilla/content/xbl/src/nsXBLWindowHandler.cpp  line 312] 
	 nsXBLWindowKeyHandler::WalkHandlers
[c:/builds/seamonkey/mozilla/content/xbl/src/nsXBLWindowKeyHandler.cpp  line 183] 
	 nsXBLWindowKeyHandler::KeyPress
[c:/builds/seamonkey/mozilla/content/xbl/src/nsXBLWindowKeyHandler.cpp  line 199] 
	 nsEventListenerManager::HandleEvent
[c:/builds/seamonkey/mozilla/content/events/src/nsEventListenerManager.cpp  line
1627] 
	 nsXULDocument::HandleDOMEvent
[c:/builds/seamonkey/mozilla/content/xul/document/src/nsXULDocument.cpp  line 2602] 
	 nsXULElement::HandleDOMEvent
[c:/builds/seamonkey/mozilla/content/xul/content/src/nsXULElement.cpp  line 3497] 
	 nsXULElement::HandleDOMEvent
[c:/builds/seamonkey/mozilla/content/xul/content/src/nsXULElement.cpp  line 3489] 
	 nsXULElement::HandleDOMEvent
[c:/builds/seamonkey/mozilla/content/xul/content/src/nsXULElement.cpp  line 3489] 
	 nsXULElement::HandleDOMEvent
[c:/builds/seamonkey/mozilla/content/xul/content/src/nsXULElement.cpp  line 3489] 
	 nsXULElement::HandleDOMEvent
[c:/builds/seamonkey/mozilla/content/xul/content/src/nsXULElement.cpp  line 3489] 
	 nsXULElement::HandleDOMEvent
[c:/builds/seamonkey/mozilla/content/xul/content/src/nsXULElement.cpp  line 3489] 
	 nsXULElement::HandleDOMEvent
[c:/builds/seamonkey/mozilla/content/xul/content/src/nsXULElement.cpp  line 3489] 
	 nsXULElement::HandleDOMEvent
[c:/builds/seamonkey/mozilla/content/xul/content/src/nsXULElement.cpp  line 3489] 
	 nsXULElement::HandleChromeEvent
[c:/builds/seamonkey/mozilla/content/xul/content/src/nsXULElement.cpp  line 4688] 
	 GlobalWindowImpl::HandleDOMEvent
[c:/builds/seamonkey/mozilla/dom/src/base/nsGlobalWindow.cpp  line 792] 
	 nsDocument::HandleDOMEvent
[c:/builds/seamonkey/mozilla/content/base/src/nsDocument.cpp  line 3539] 
	 nsGenericElement::HandleDOMEvent
[c:/builds/seamonkey/mozilla/content/base/src/nsGenericElement.cpp  line 2055] 
	 PresShell::HandleEventInternal
[c:/builds/seamonkey/mozilla/layout/html/base/src/nsPresShell.cpp  line 6220] 
	 PresShell::HandleEvent
[c:/builds/seamonkey/mozilla/layout/html/base/src/nsPresShell.cpp  line 6143] 
	 nsViewManager::HandleEvent
[c:/builds/seamonkey/mozilla/view/src/nsViewManager.cpp  line 2148] 
	 nsView::HandleEvent	[c:/builds/seamonkey/mozilla/view/src/nsView.cpp  line 304] 
	 nsViewManager::DispatchEvent
[c:/builds/seamonkey/mozilla/view/src/nsViewManager.cpp  line 1934] 
	 HandleEvent	[c:/builds/seamonkey/mozilla/view/src/nsView.cpp  line 83] 
	 nsWindow::DispatchEvent
[c:/builds/seamonkey/mozilla/widget/src/windows/nsWindow.cpp  line 1065] 
	 nsWindow::DispatchWindowEvent
[c:/builds/seamonkey/mozilla/widget/src/windows/nsWindow.cpp  line 1082] 
	 nsWindow::DispatchKeyEvent
[c:/builds/seamonkey/mozilla/widget/src/windows/nsWindow.cpp  line 2925] 
	 nsWindow::OnKeyDown
[c:/builds/seamonkey/mozilla/widget/src/windows/nsWindow.cpp  line 3014] 
	 nsWindow::ProcessMessage
[c:/builds/seamonkey/mozilla/widget/src/windows/nsWindow.cpp  line 3913] 
	 0x18a16457   
 
     (14262654)	URL: n.a.
     (14262654)	Comments: I pressed F3 after I did a search with /
     (14244392)	URL: www.nessus.org/plugins/dump.php3
     (14244392)	Comments: Using fast find to find text "black".
     (14154783)	Comments: pressing F3 while page was still being downloaded  
     (14154765)	Comments: pressing F3 while page was still being downloaded  
     (13989693)	URL: http://blogdex.media.mit.edu/ (i think)
     (13989693)	Comments: pressed F3.
Status: VERIFIED → REOPENED
OS: All → Windows NT
Resolution: FIXED → ---
Summary: Crashes with Type Ahead Find [@ nsTypeAheadFind::FindItNow] → Crashes with Type Ahead Find; topcrash on M120B [@ nsTypeAheadFind::FindItNow]
adding jpatel to cc list
The target milestone for this bug is 1.2final, and 1.2beta was released off the
trunk.  Why was this reopened?
Oops, my bad.  Sorry.  I misread the shipbuild date. 
Status: REOPENED → RESOLVED
Closed: 22 years ago22 years ago
Resolution: --- → FIXED
*** Bug 182736 has been marked as a duplicate of this bug. ***
*** Bug 185777 has been marked as a duplicate of this bug. ***
Component: Keyboard: Navigation → Keyboard: Find as you Type
Product: Core → SeaMonkey
Crash Signature: [@ nsTypeAheadFind::FindItNow]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: