Closed
Bug 195243
Opened 22 years ago
Closed 22 years ago
potential hang in type ahead find
Categories
(SeaMonkey :: Find In Page, defect)
Tracking
(Not tracked)
VERIFIED
FIXED
People
(Reporter: sspitzer, Assigned: aaronlev)
Details
(Keywords: hang)
Attachments
(1 file)
hang in type ahead find
note, the junk (and filter) log is implemented with a browser tag.
<browser id="logView" disablehistory="true" disablesecurity="true"
src="about:blank" flex="1"/>
for bug #191891, I added autofind="false" fixes
if you remove that, and bring up the log, and click in it and type, you'll hang.
I hung, and broke in the debugger, and was here:
nsCOMTypeInfo<nsISimpleEnumerator>::GetIID() line 243 + 8 bytes
nsCOMPtr<nsISimpleEnumerator>::nsCOMPtr<nsISimpleEnumerator>(const
nsQueryInterface & {...}) line 572 + 5 bytes
nsCOMPtr<nsISimpleEnumerator>::Assert_NoQueryNeeded() line 508
nsGetterAddRefs<nsISimpleEnumerator>::~nsGetterAddRefs<nsISimpleEnumerator>()
line 1072
nsTypeAheadFind::FindItNow(nsIPresShell * 0x00000000, int 0, int 1, int 1) line 1348
nsTypeAheadFind::HandleChar(unsigned short 115) line 907 + 45 bytes
nsTypeAheadFind::KeyPress(nsTypeAheadFind * const 0x00faa9ec, nsIDOMEvent *
0x04c7f150) line 688 + 16 bytes
nsEventListenerManager::HandleEvent(nsEventListenerManager * const 0x04bc87d8,
nsIPresContext * 0x04c7ce50, nsEvent * 0x0012c174, nsIDOMEvent * * 0x0012bde4,
nsIDOMEventTarget * 0x04bc8930, unsigned int 2, nsEventStatus * 0x0012bfac) line
1657 + 41 bytes
nsWindowRoot::HandleChromeEvent(nsWindowRoot * const 0x04bc8938, nsIPresContext
* 0x04c7ce50, nsEvent * 0x0012c174, nsIDOMEvent * * 0x0012bde4, unsigned int 2,
nsEventStatus * 0x0012bfac) line 215
GlobalWindowImpl::HandleDOMEvent(GlobalWindowImpl * const 0x04bc8628,
nsIPresContext * 0x04c7ce50, nsEvent * 0x0012c174, nsIDOMEvent * * 0x0012bde4,
unsigned int 2, nsEventStatus * 0x0012bfac) line 828
nsXULDocument::HandleDOMEvent(nsXULDocument * const 0x04bf7fe0, nsIPresContext *
0x04c7ce50, nsEvent * 0x0012c174, nsIDOMEvent * * 0x0012bde4, unsigned int 2,
nsEventStatus * 0x0012bfac) line 2586
nsXULElement::HandleDOMEvent(nsXULElement * const 0x04bf7600, nsIPresContext *
0x04c7ce50, nsEvent * 0x0012c174, nsIDOMEvent * * 0x0012bde4, unsigned int 2,
nsEventStatus * 0x0012bfac) line 3359 + 47 bytes
nsXULElement::HandleDOMEvent(nsXULElement * const 0x04c12fe0, nsIPresContext *
0x04c7ce50, nsEvent * 0x0012c174, nsIDOMEvent * * 0x0012bde4, unsigned int 2,
nsEventStatus * 0x0012bfac) line 3353 + 61 bytes
nsXULElement::HandleDOMEvent(nsXULElement * const 0x04bfde60, nsIPresContext *
0x04c7ce50, nsEvent * 0x0012c174, nsIDOMEvent * * 0x0012bde4, unsigned int 2,
nsEventStatus * 0x0012bfac) line 3353 + 61 bytes
nsXULElement::HandleDOMEvent(nsXULElement * const 0x04c03b68, nsIPresContext *
0x04c7ce50, nsEvent * 0x0012c174, nsIDOMEvent * * 0x0012bde4, unsigned int 2,
nsEventStatus * 0x0012bfac) line 3353 + 61 bytes
nsXULElement::HandleDOMEvent(nsXULElement * const 0x04c03c58, nsIPresContext *
0x04c7ce50, nsEvent * 0x0012c174, nsIDOMEvent * * 0x0012bde4, unsigned int 2,
nsEventStatus * 0x0012bfac) line 3353 + 61 bytes
nsXULElement::HandleDOMEvent(nsXULElement * const 0x04c03e18, nsIPresContext *
0x04c7ce50, nsEvent * 0x0012c174, nsIDOMEvent * * 0x0012bde4, unsigned int 2,
nsEventStatus * 0x0012bfac) line 3353 + 61 bytes
nsXULElement::HandleChromeEvent(nsXULElement * const 0x04c03e24, nsIPresContext
* 0x04c7ce50, nsEvent * 0x0012c174, nsIDOMEvent * * 0x0012bde4, unsigned int 2,
nsEventStatus * 0x0012bfac) line 4475 + 39 bytes
GlobalWindowImpl::HandleDOMEvent(GlobalWindowImpl * const 0x04c3abf8,
nsIPresContext * 0x04c7ce50, nsEvent * 0x0012c174, nsIDOMEvent * * 0x0012bde4,
unsigned int 2, nsEventStatus * 0x0012bfac) line 828
nsDocument::HandleDOMEvent(nsDocument * const 0x04bf6b10, nsIPresContext *
0x04c7ce50, nsEvent * 0x0012c174, nsIDOMEvent * * 0x0012bde4, unsigned int 2,
nsEventStatus * 0x0012bfac) line 3472
nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x04c7c218,
nsIPresContext * 0x04c7ce50, nsEvent * 0x0012c174, nsIDOMEvent * * 0x0012bde4,
unsigned int 7, nsEventStatus * 0x0012bfac) line 1965 + 47 bytes
PresShell::HandleEventInternal(nsEvent * 0x0012c174, nsIView * 0x04befef0,
unsigned int 1, nsEventStatus * 0x0012bfac) line 6226 + 47 bytes
PresShell::HandleEvent(PresShell * const 0x04c7d8dc, nsIView * 0x04befef0,
nsGUIEvent * 0x0012c174, nsEventStatus * 0x0012bfac, int 1, int & 1) line 6150 +
25 bytes
nsViewManager::HandleEvent(nsView * 0x04befef0, nsGUIEvent * 0x0012c174, int 0)
line 2162
nsView::HandleEvent(nsViewManager * 0x04be1cd8, nsGUIEvent * 0x0012c174, int 0)
line 309
nsViewManager::DispatchEvent(nsViewManager * const 0x04be1cd8, nsGUIEvent *
0x0012c174, nsEventStatus * 0x0012c0e4) line 1938 + 23 bytes
HandleEvent(nsGUIEvent * 0x0012c174) line 83
nsWindow::DispatchEvent(nsWindow * const 0x04be18ac, nsGUIEvent * 0x0012c174,
nsEventStatus & nsEventStatus_eIgnore) line 1147 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012c174) line 1168
nsWindow::DispatchKeyEvent(unsigned int 131, unsigned short 115, unsigned int 0,
long 0) line 3047 + 15 bytes
nsWindow::OnChar(unsigned int 115, unsigned int 0, unsigned char 0) line 3242
nsWindow::ProcessMessage(unsigned int 258, unsigned int 115, long 2031617, long
* 0x0012c610) line 3953 + 41 bytes
nsWindow::WindowProc(HWND__ * 0x005e019c, unsigned int 258, unsigned int 115,
long 2031617) line 1434 + 27 bytes
USER32! 77e3a290()
USER32! 77e145b1()
USER32! 77e1a752()
nsXULWindow::ShowModal(nsXULWindow * const 0x04bc7710) line 299
nsWebShellWindow::ShowModal(nsWebShellWindow * const 0x04bc7710) line 1106
nsContentTreeOwner::ShowAsModal(nsContentTreeOwner * const 0x04bd8264) line 447
nsWindowWatcher::OpenWindowJS(nsWindowWatcher * const 0x00fbe434, nsIDOMWindow *
0x046f37c4, const char * 0x04bc5000, const char * 0x0012ccc4, const char *
0x0012cd14, int 1, unsigned int 1, long * 0x04bc532c, nsIDOMWindow * *
0x0012cd60) line 790
GlobalWindowImpl::OpenInternal(GlobalWindowImpl * const 0x046f37c0, const
nsAString & {...}, const nsAString & {...}, const nsAString & {...}, int 1, long
* 0x04bc5320, unsigned int 4, nsISupports * 0x00000000, nsIDOMWindow * *
0x0012d12c) line 4387 + 141 bytes
GlobalWindowImpl::OpenDialog(GlobalWindowImpl * const 0x046f37c8, nsIDOMWindow *
* 0x0012d12c) line 3070 + 59 bytes
XPTC_InvokeByIndex(nsISupports * 0x046f37c8, unsigned int 16, unsigned int 1,
nsXPTCVariant * 0x0012d12c) line 102
XPCWrappedNative::CallMethod(XPCCallContext & {...}, XPCWrappedNative::CallMode
CALL_METHOD) line 2023 + 42 bytes
XPC_WN_CallMethod(JSContext * 0x048a6970, JSObject * 0x03e70248, unsigned int 4,
long * 0x04bc5320, long * 0x0012d408) line 1292 + 14 bytes
js_Invoke(JSContext * 0x048a6970, unsigned int 4, unsigned int 0) line 843 + 23
bytes
js_Interpret(JSContext * 0x048a6970, long * 0x0012e2c8) line 2811 + 15 bytes
js_Invoke(JSContext * 0x048a6970, unsigned int 1, unsigned int 2) line 860 + 13
bytes
js_InternalInvoke(JSContext * 0x048a6970, JSObject * 0x0470f3b8, long 76151120,
unsigned int 0, unsigned int 1, long * 0x0012e524, long * 0x0012e3f4) line 935 +
20 bytes
JS_CallFunctionValue(JSContext * 0x048a6970, JSObject * 0x0470f3b8, long
76151120, unsigned int 1, long * 0x0012e524, long * 0x0012e3f4) line 3432 + 31 bytes
nsJSContext::CallEventHandler(nsJSContext * const 0x048a68f8, void * 0x0470f3b8,
void * 0x0489f950, unsigned int 1, void * 0x0012e524, int * 0x0012e528, int 0)
line 1040 + 33 bytes
nsJSEventListener::HandleEvent(nsJSEventListener * const 0x04a46f08, nsIDOMEvent
* 0x04bc3c88) line 181 + 77 bytes
nsEventListenerManager::HandleEventSubType(nsListenerStruct * 0x046f6980,
nsIDOMEvent * 0x04bc3c88, nsIDOMEventTarget * 0x04bc3dc8, unsigned int 8,
unsigned int 7) line 1217 + 20 bytes
nsEventListenerManager::HandleEvent(nsEventListenerManager * const 0x04a46e90,
nsIPresContext * 0x0494eaf8, nsEvent * 0x0012f004, nsIDOMEvent * * 0x0012eeb8,
nsIDOMEventTarget * 0x04bc3dc8, unsigned int 7, nsEventStatus * 0x0012f04c) line
2216 + 36 bytes
nsXULElement::HandleDOMEvent(nsXULElement * const 0x04a46e18, nsIPresContext *
0x0494eaf8, nsEvent * 0x0012f004, nsIDOMEvent * * 0x0012eeb8, unsigned int 7,
nsEventStatus * 0x0012f04c) line 3336
PresShell::HandleDOMEventWithTarget(PresShell * const 0x049322c0, nsIContent *
0x04a46e18, nsEvent * 0x0012f004, nsEventStatus * 0x0012f04c) line 6289 + 39 bytes
nsButtonBoxFrame::MouseClicked(nsIPresContext * 0x0494eaf8, nsGUIEvent *
0x0012f20c) line 200
nsButtonBoxFrame::HandleEvent(nsButtonBoxFrame * const 0x04adc810,
nsIPresContext * 0x0494eaf8, nsGUIEvent * 0x0012f20c, nsEventStatus *
0x0012f5a0) line 147
PresShell::HandleEventInternal(nsEvent * 0x0012f20c, nsIView * 0x00000000,
unsigned int 1, nsEventStatus * 0x0012f5a0) line 6257 + 38 bytes
PresShell::HandleEventWithTarget(PresShell * const 0x049322c0, nsEvent *
0x0012f20c, nsIFrame * 0x04adc810, nsIContent * 0x04a46e18, unsigned int 1,
nsEventStatus * 0x0012f5a0) line 6195 + 22 bytes
nsEventStateManager::CheckForAndDispatchClick(nsIPresContext * 0x0494eaf8,
nsMouseEvent * 0x0012f7a8, nsEventStatus * 0x0012f5a0) line 2850 + 66 bytes
nsEventStateManager::PostHandleEvent(nsEventStateManager * const 0x0489d918,
nsIPresContext * 0x0494eaf8, nsEvent * 0x0012f7a8, nsIFrame * 0x04adc810,
nsEventStatus * 0x0012f5a0, nsIView * 0x0494ab98) line 1847 + 23 bytes
PresShell::HandleEventInternal(nsEvent * 0x0012f7a8, nsIView * 0x0494ab98,
unsigned int 1, nsEventStatus * 0x0012f5a0) line 6262 + 43 bytes
PresShell::HandleEvent(PresShell * const 0x049322c4, nsIView * 0x0494ab98,
nsGUIEvent * 0x0012f7a8, nsEventStatus * 0x0012f5a0, int 1, int & 1) line 6150 +
25 bytes
nsViewManager::HandleEvent(nsView * 0x0494ab98, nsGUIEvent * 0x0012f7a8, int 1)
line 2208
nsView::HandleEvent(nsViewManager * 0x0494a958, nsGUIEvent * 0x0012f7a8, int 1)
line 309
nsViewManager::DispatchEvent(nsViewManager * const 0x0494a958, nsGUIEvent *
0x0012f7a8, nsEventStatus * 0x0012f6a4) line 1938 + 23 bytes
HandleEvent(nsGUIEvent * 0x0012f7a8) line 83
nsWindow::DispatchEvent(nsWindow * const 0x0494ac44, nsGUIEvent * 0x0012f7a8,
nsEventStatus & nsEventStatus_eIgnore) line 1147 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f7a8) line 1168
nsWindow::DispatchMouseEvent(unsigned int 301, unsigned int 0, nsPoint *
0x00000000) line 5406 + 21 bytes
ChildWindow::DispatchMouseEvent(unsigned int 301, unsigned int 0, nsPoint *
0x00000000) line 5663
nsWindow::ProcessMessage(unsigned int 514, unsigned int 0, long 787074, long *
0x0012fc38) line 4118 + 28 bytes
nsWindow::WindowProc(HWND__ * 0x00e001ac, unsigned int 514, unsigned int 0, long
787074) line 1434 + 27 bytes
USER32! 77e3a290()
USER32! 77e145b1()
USER32! 77e1a752()
nsAppShellService::Run(nsAppShellService * const 0x00fa2d88) line 480
main1(int 2, char * * 0x00270030, nsISupports * 0x00f98f40) line 1273 + 32 bytes
main(int 2, char * * 0x00270030) line 1636 + 37 bytes
mainCRTStartup() line 338 + 17 bytes
KERNEL32! 77e9ca90()
Reporter | ||
Comment 1•22 years ago
|
||
make this potential. the hang is in there, but now that the mailnews xul is
fixed, it might not be reproducable.
Summary: hang in type ahead find → potential hang in type ahead find
Assignee | ||
Comment 2•22 years ago
|
||
I'm hanging in a different place, when it's trying to release a docshell.
_PR_MD_ATOMIC_DECREMENT(int * 0x0549df70) line 798
PR_AtomicDecrement(int * 0x0549df70) line 307 + 9 bytes
nsDocShell::Release(nsDocShell * const 0x0549df28) line 288 + 69 bytes
nsWebShell::Release(nsWebShell * const 0x0549df28) line 266 + 12 bytes
nsCOMPtr<nsIDocShellTreeNode>::~nsCOMPtr<nsIDocShellTreeNode>() line 498
nsDocShellForwardsEnumerator::BuildArrayRecursive(nsIDocShellTreeItem *
0x0549df2c, nsVoidArray & {...}) line 174 + 15 bytes
nsDocShellEnumerator::BuildDocShellArray(nsVoidArray & {...}) line 143
nsDocShellEnumerator::EnsureDocShellArray() line 123 + 15 bytes
nsDocShellEnumerator::First() line 114
nsDocShell::GetDocShellEnumerator(nsDocShell * const 0x0549df28, int 1, int 0,
nsISimpleEnumerator * * 0x00129968) line 1492 + 8 bytes
nsTypeAheadFind::FindItNow(nsIPresShell * 0x00000000, int 0, int 1, int 1) line
1349 + 63 bytes
nsTypeAheadFind::HandleChar(unsigned short 119) line 909 + 45 bytes
Target Milestone: --- → M1
Assignee | ||
Comment 3•22 years ago
|
||
Don't mind my last comment, please. I'm getting to the bottom of it now.
Updated•22 years ago
|
Target Milestone: M1 → ---
Assignee | ||
Comment 4•22 years ago
|
||
Assignee | ||
Updated•22 years ago
|
Attachment #116156 -
Flags: superreview?(sspitzer)
Attachment #116156 -
Flags: review?(caillon)
Reporter | ||
Comment 5•22 years ago
|
||
Comment on attachment 116156 [details] [diff] [review]
Fix infinite loop that occured when there were no docshells of type content, which can happen even when there is an html document
what will happen on NS_ERROR_FAILURE?
what would the user see?
can you do the sr request after you have r=?
Attachment #116156 -
Flags: superreview?(sspitzer)
Assignee | ||
Comment 6•22 years ago
|
||
On NS_ERROR_FAILURE, there is nothing found. It acts as if the find failed.
Updated•22 years ago
|
Attachment #116156 -
Flags: review?(caillon) → review+
Assignee | ||
Updated•22 years ago
|
Attachment #116156 -
Flags: superreview?(sspitzer)
Reporter | ||
Comment 7•22 years ago
|
||
Comment on attachment 116156 [details] [diff] [review]
Fix infinite loop that occured when there were no docshells of type content, which can happen even when there is an html document
sr=sspitzer
thanks for following up on this.
Attachment #116156 -
Flags: superreview?(sspitzer) → superreview+
Assignee | ||
Comment 8•22 years ago
|
||
checked in
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Updated•16 years ago
|
Product: Core → SeaMonkey
You need to log in
before you can comment on or make changes to this bug.
Description
•