Closed Bug 243294 Opened 20 years ago Closed 20 years ago

M17rc2 Crash [@ nsCaret::GetViewForRendering] when printing a schedule from www.matkahuolto.info

Categories

(Core :: Printing: Output, defect)

x86
Windows XP
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla1.7final

People

(Reporter: emaijala+moz, Assigned: sspitzer)

References

()

Details

(4 keywords)

Crash Data

Attachments

(4 files)

Running trunk build 2004050609 (the last one with working talkback) on WinXP.
The problem exists also in the latest trunk build and 1.7 branch build. Use the
specified URL or do the following:
1. browse to www.matkahuolto.info
2. put "helsinki" to the field "Lähtöpaikka"
3. put "rauma" to the field "Määräpaikka"
4. press enter
5. press enter again to confirm

Then print out the schedule page and observe the crash. I've got talkbacks from
it, but talkback-public seems to be broken. One ID is TB44076Y.
Flags: blocking1.7?
Whiteboard: TB44076Y
That's what I meant when I said "talkback-public seems to be broken". 
talkback-public is ok now:
http://talkback-public.mozilla.org/talkback/fastfind.jsp?search=2&type=iid&id=TB44076Y

stack signature is  "nsCaret::GetViewForRendering aa102e53"

This is the stack from a recent debug build. It looks quite different than the
one in talkback-public.
Attached file Crash stack
Oops, that one didn't crash yet as it was an assertion failure (bad enough, but
not fatal in this case). This is where an access violation occurred a few
assertion failures later.
Actually, the talkback stack makes sense. It didn't crash when the caret wasn't
blinking in the first field.
This crash is showing up as a topcrasher for Mozilla 1.7 rc2.  Here are just a
couple of sets of crahes from Talkback:

     Count   Offset    Real Signature
[ 5   nsCaret::GetViewForRendering 68816d7a - nsCaret::GetViewForRendering ]
 
     Crash date range: 18-MAY-04 to 24-MAY-04
     Min/Max Seconds since last crash: 8229 - 583173
     Min/Max Runtime: 10051 - 583173
 
     Count   Platform List 
     5   [Windows NT 5.0 build 2195]   
 
     Count   Build Id List 
     5   2004051408
 
     No of Unique Users         5
 
 Stack trace(Frame) 

	 nsCaret::GetViewForRendering
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/layout/base/src/nsCaret.cpp
 line 836] 
	 nsCaret::GetCaretRectAndInvert
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/layout/base/src/nsCaret.cpp
 line 958] 
	 nsCaret::DrawCaret
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/layout/base/src/nsCaret.cpp
 line 942] 
	 nsCaret::StartBlinking
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/layout/base/src/nsCaret.cpp
 line 512] 
	 nsCaret::SetCaretVisible
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/layout/base/src/nsCaret.cpp
 line 232] 
	 PresShell::SetCaretEnabled
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/layout/html/base/src/nsPresShell.cpp
 line 3119] 
	 nsTextInputSelectionImpl::SetCaretEnabled
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/layout/html/forms/src/nsTextControlFrame.cpp
 line 596] 
	 nsTextEditorFocusListener::Focus
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/editor/libeditor/text/nsEditorEventListeners.cpp
 line 1044] 
	 DispatchToInterface
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/content/events/src/nsEventListenerManager.cpp
 line 128] 
	 nsEventListenerManager::HandleEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/content/events/src/nsEventListenerManager.cpp
 line 1524] 
	 nsGenericElement::HandleDOMEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/content/base/src/nsGenericElement.cpp
 line 1960] 
	 nsHTMLInputElement::HandleDOMEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/content/html/content/src/nsHTMLInputElement.cpp
 line 1399] 
	 nsEventStateManager::SendFocusBlur
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/content/events/src/nsEventStateManager.cpp
 line 4270] 
	 nsEventStateManager::SetContentState
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/content/events/src/nsEventStateManager.cpp
 line 3933] 
	 nsHTMLInputElement::SetFocus
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/content/html/content/src/nsHTMLInputElement.cpp
 line 1110] 
	 nsEventStateManager::PreHandleEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/content/events/src/nsEventStateManager.cpp
 line 751] 
	 PresShell::HandleEventInternal
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/layout/html/base/src/nsPresShell.cpp
 line 6033] 
	 PresShell::HandleEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/layout/html/base/src/nsPresShell.cpp
 line 5961] 
	 nsViewManager::HandleEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/view/src/nsViewManager.cpp
 line 2239] 
	 nsViewManager::DispatchEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/view/src/nsViewManager.cpp
 line 2029] 
	 HandleEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/view/src/nsView.cpp 
line 79] 
	 nsWindow::DispatchEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 1071] 
	 nsWindow::DispatchWindowEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 1088] 
	 nsWindow::DispatchFocus
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 5454] 
	 nsWindow::ProcessMessage
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 4202] 
	 nsWindow::WindowProc
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 1350] 
	 USER32.dll + 0x1ef0 (0x77e11ef0)  
	 USER32.dll + 0x3869 (0x77e13869)  
	 USER32.dll + 0x38ab (0x77e138ab)  
	 ntdll.dll + 0x1ff57 (0x77f9ff57)  
	 GlobalWindowImpl::Focus
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/dom/src/base/nsGlobalWindow.cpp
 line 2526] 
	 nsWebShellWindow::HandleEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/xpfe/appshell/src/nsWebShellWindow.cpp
 line 610] 
	 nsWindow::DispatchEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 1071] 
	 nsWindow::DispatchWindowEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 1088] 
	 nsWindow::DispatchFocus
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 5454] 
	 nsWindow::ProcessMessage
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 4195] 
	 nsWindow::WindowProc
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 1350] 
	 USER32.dll + 0x1ef0 (0x77e11ef0)  
	 USER32.dll + 0x3869 (0x77e13869)  
	 USER32.dll + 0x38ab (0x77e138ab)  
	 ntdll.dll + 0x1ff57 (0x77f9ff57)  
	 USER32.dll + 0x343f (0x77e1343f)  
	 USER32.dll + 0x1ef0 (0x77e11ef0)  
	 USER32.dll + 0x3d1e (0x77e13d1e)  
	 USER32.dll + 0x6e9b (0x77e16e9b)  
	 nsWindow::WindowProc
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 1361] 
	 USER32.dll + 0x1ef0 (0x77e11ef0)  
	 USER32.dll + 0x3869 (0x77e13869)  
	 USER32.dll + 0x38ab (0x77e138ab)  
	 ntdll.dll + 0x1ff57 (0x77f9ff57)  
	 nsXULWindow::Destroy
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/xpfe/appshell/src/nsXULWindow.cpp
 line 483] 
	 nsWebShellWindow::Destroy
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/xpfe/appshell/src/nsWebShellWindow.cpp
 line 1664] 
	 nsChromeTreeOwner::Destroy
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/xpfe/appshell/src/nsChromeTreeOwner.cpp
 line 330] 
	 GlobalWindowImpl::ReallyCloseWindow
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/dom/src/base/nsGlobalWindow.cpp
 line 3691] 
	 GlobalWindowImpl::Close
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/dom/src/base/nsGlobalWindow.cpp
 line 3677] 
	 XPTC_InvokeByIndex
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/xpcom/reflect/xptcall/src/md/win32/xptcinvoke.cpp
 line 102] 
	 XPCWrappedNative::CallMethod
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/js/src/xpconnect/src/xpcwrappednative.cpp
 line 2029] 
	 XPC_WN_CallMethod
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/js/src/xpconnect/src/xpcwrappednativejsops.cpp
 line 1288] 
	 js_Invoke
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/js/src/jsinterp.c 
line 943] 
	 js_Interpret
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/js/src/jsinterp.c 
line 2968] 
	 js_Invoke
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/js/src/jsinterp.c 
line 959] 
	 nsXPCWrappedJSClass::CallMethod
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/js/src/xpconnect/src/xpcwrappedjsclass.cpp
 line 1338] 
	 nsXPCWrappedJS::CallMethod
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/js/src/xpconnect/src/xpcwrappedjs.cpp
 line 450] 
	 PrepareAndDispatch
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/xpcom/reflect/xptcall/src/md/win32/xptcstubs.cpp
 line 119]  
 
     (58178)	URL: www.gartner.com
     (58178)	Comments: searches within searches  search features seems to use
lots of javascript
     (55290)	URL:
http://search.barnesandnoble.com/booksearch/isbninquiry.asp?ISBN=0735611297&userid=ZYw1YpfUn6&cds2Pid=946&pdf=y
     (55290)	Comments: Printing a page 1 to 1
     (51527)	URL: http://quicken.com/investments/quotes/?p=vfinx%2Cvgsix&B1=Go
     (51527)	Comments: attempting to print a page
 
====================================================================================================
     Count   Offset    Real Signature
[ 1   nsCaret::GetViewForRendering ffdb4f12 - nsCaret::GetViewForRendering ]
 
     Crash date range: 23-MAY-04 to 23-MAY-04
     Min/Max Seconds since last crash: 91 - 91
     Min/Max Runtime: 8674 - 8674
 
     Count   Platform List 
     1   [Windows NT 5.1 build 2600]   
 
     Count   Build Id List 
     1   2004051408
 
     No of Unique Users         1
 
 Stack trace(Frame) 

	 nsCaret::GetViewForRendering
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/layout/base/src/nsCaret.cpp
 line 836] 
	 nsCaret::GetCaretRectAndInvert
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/layout/base/src/nsCaret.cpp
 line 958] 
	 nsCaret::DrawCaret
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/layout/base/src/nsCaret.cpp
 line 942] 
	 nsCaret::StartBlinking
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/layout/base/src/nsCaret.cpp
 line 512] 
	 nsCaret::SetCaretVisible
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/layout/base/src/nsCaret.cpp
 line 232] 
	 PresShell::SetCaretEnabled
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/layout/html/base/src/nsPresShell.cpp
 line 3119] 
	 nsTextInputSelectionImpl::SetCaretEnabled
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/layout/html/forms/src/nsTextControlFrame.cpp
 line 596] 
	 nsTextEditorFocusListener::Focus
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/editor/libeditor/text/nsEditorEventListeners.cpp
 line 1044] 
	 DispatchToInterface
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/content/events/src/nsEventListenerManager.cpp
 line 128] 
	 nsEventListenerManager::HandleEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/content/events/src/nsEventListenerManager.cpp
 line 1524] 
	 nsGenericElement::HandleDOMEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/content/base/src/nsGenericElement.cpp
 line 1960] 
	 nsHTMLInputElement::HandleDOMEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/content/html/content/src/nsHTMLInputElement.cpp
 line 1399] 
	 nsEventStateManager::SendFocusBlur
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/content/events/src/nsEventStateManager.cpp
 line 4270] 
	 nsEventStateManager::SetContentState
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/content/events/src/nsEventStateManager.cpp
 line 3933] 
	 nsHTMLInputElement::SetFocus
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/content/html/content/src/nsHTMLInputElement.cpp
 line 1110] 
	 nsEventStateManager::PreHandleEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/content/events/src/nsEventStateManager.cpp
 line 751] 
	 PresShell::HandleEventInternal
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/layout/html/base/src/nsPresShell.cpp
 line 6033] 
	 PresShell::HandleEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/layout/html/base/src/nsPresShell.cpp
 line 5961] 
	 nsViewManager::HandleEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/view/src/nsViewManager.cpp
 line 2239] 
	 nsViewManager::DispatchEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/view/src/nsViewManager.cpp
 line 2029] 
	 HandleEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/view/src/nsView.cpp 
line 79] 
	 nsWindow::DispatchEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 1071] 
	 nsWindow::DispatchWindowEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 1088] 
	 nsWindow::DispatchFocus
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 5454] 
	 nsWindow::ProcessMessage
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 4202] 
	 nsWindow::WindowProc
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 1350] 
	 USER32.dll + 0x857a (0x77d8857a)  
	 USER32.dll + 0x867b (0x77d8867b)  
	 USER32.dll + 0x961e (0x77d8961e)  
	 USER32.dll + 0x9ca9 (0x77d89ca9)  
	 ntdll.dll + 0xfb73 (0x77ccfb73)  
	 GlobalWindowImpl::Focus
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/dom/src/base/nsGlobalWindow.cpp
 line 2526] 
	 nsWebShellWindow::HandleEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/xpfe/appshell/src/nsWebShellWindow.cpp
 line 610] 
	 nsWindow::DispatchEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 1071] 
	 nsWindow::DispatchWindowEvent
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 1088] 
	 nsWindow::DispatchFocus
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 5454] 
	 nsWindow::ProcessMessage
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 4195] 
	 nsWindow::WindowProc
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 1350] 
	 USER32.dll + 0x857a (0x77d8857a)  
	 USER32.dll + 0x867b (0x77d8867b)  
	 USER32.dll + 0x961e (0x77d8961e)  
	 USER32.dll + 0x9ca9 (0x77d89ca9)  
	 ntdll.dll + 0xfb73 (0x77ccfb73)  
	 USER32.dll + 0x8bb9 (0x77d88bb9)  
	 USER32.dll + 0x8c19 (0x77d88c19)  
	 nsWindow::DefaultWindowProc
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 1375] 
	 USER32.dll + 0x857a (0x77d8857a)  
	 USER32.dll + 0x867b (0x77d8867b)  
	 USER32.dll + 0xacba (0x77d8acba)  
	 USER32.dll + 0xace0 (0x77d8ace0)  
	 nsWindow::WindowProc
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp
 line 1361] 
	 USER32.dll + 0x857a (0x77d8857a)  
	 USER32.dll + 0x867b (0x77d8867b)  
	 USER32.dll + 0x961e (0x77d8961e)  
	 USER32.dll + 0x9ca9 (0x77d89ca9)  
	 ntdll.dll + 0xfb73 (0x77ccfb73)  
	 nsXULWindow::Destroy
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/xpfe/appshell/src/nsXULWindow.cpp
 line 483] 
	 nsWebShellWindow::Destroy
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/xpfe/appshell/src/nsWebShellWindow.cpp
 line 1664] 
	 nsChromeTreeOwner::Destroy
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/xpfe/appshell/src/nsChromeTreeOwner.cpp
 line 330] 
	 GlobalWindowImpl::ReallyCloseWindow
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/dom/src/base/nsGlobalWindow.cpp
 line 3691] 
	 GlobalWindowImpl::Close
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/dom/src/base/nsGlobalWindow.cpp
 line 3677] 
	 XPTC_InvokeByIndex
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/xpcom/reflect/xptcall/src/md/win32/xptcinvoke.cpp
 line 102] 
	 XPCWrappedNative::CallMethod
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/js/src/xpconnect/src/xpcwrappednative.cpp
 line 2029] 
	 XPC_WN_CallMethod
[d:/BUILDS/tinderbox/Mozilla1.7/WINNT_5.0_Clobber/mozilla/js/src/xpconnect/src/xpcwrappednativejsops.cpp
 line 1288]  
 
     (57854)	URL: www.bn.com
     (57854)	Comments: Printing out some book information from bn.com
Keywords: topcrash
Summary: Crash when printing a schedule from www.matkahuolto.info → M17rc2 Crash [@ nsCaret::GetViewForRendering] when printing a schedule from www.matkahuolto.info
Flags: blocking1.7? → blocking1.7+
if we get closer to test case and fix for 1.7 renominate..
Flags: blocking1.8a2+
Flags: blocking1.7-
Flags: blocking1.7+
this might be bulletproofed (wall papered, as waterson called it) for 1.7 with a
null check.

the crash comes from nsCaret::GetViewForRendering():

    else
    {
      outClipRect = returnView->GetBounds();
    }

returnView is null.

 	gkgfx.dll!nsRect::nsRect(const nsRect & aRect={...})  Line 57 + 0xd	C++
 	gklayout.dll!nsIView::GetBounds()  Line 215 + 0x17	C++
>	gklayout.dll!nsCaret::GetViewForRendering(nsIFrame * caretFrame=0x038fc658,
nsICaret::EViewCoordinates coordType=eRenderingViewCoordinates, nsPoint &
viewOffset={...}, nsRect & outClipRect={...}, nsIView * *
outRenderingView=0x0012c678, nsIView * * outRelativeView=0x00000000)  Line 832
+ 0xc	C++
 	gklayout.dll!nsCaret::GetCaretRectAndInvert()  Line 958	C++
 	gklayout.dll!nsCaret::DrawCaret()  Line 942	C++
 	gklayout.dll!nsCaret::StartBlinking()  Line 512	C++
 	gklayout.dll!nsCaret::SetCaretVisible(int inMakeVisible=1)  Line 231 + 0x8	C++
 	gklayout.dll!PresShell::SetCaretEnabled(int aInEnable=1)  Line 3115 + 0x21	C++
 	gklayout.dll!nsTextInputSelectionImpl::SetCaretEnabled(int enabled=1)  Line
596	C++
 	editor.dll!nsTextEditorFocusListener::Focus(nsIDOMEvent * aEvent=0x039a31a0) 
Line 1044	C++
 	gklayout.dll!DispatchToInterface(nsIDOMEvent * aEvent=0x039a31a0,
nsIDOMEventListener * aListener=0x038fd638, unsigned int (nsIDOMEvent *)*
aMethod=0x016308a0, const nsID & aIID={...}, int * aHasInterface=0x0012c800) 
Line 127 + 0xb	C++
 	gklayout.dll!nsEventListenerManager::HandleEvent(nsIPresContext *
aPresContext=0x02fadb08, nsEvent * aEvent=0x0012cd24, nsIDOMEvent * *
aDOMEvent=0x0012c9c0, nsIDOMEventTarget * aCurrentTarget=0x039937e8, unsigned
int aFlags=7, nsEventStatus * aEventStatus=0x0012cd20)  Line 1520 + 0x23	C++
 	gklayout.dll!nsGenericElement::HandleDOMEvent(nsIPresContext *
aPresContext=0x02fadb08, nsEvent * aEvent=0x0012cd24, nsIDOMEvent * *
aDOMEvent=0x0012c9c0, unsigned int aFlags=7, nsEventStatus *
aEventStatus=0x0012cd20)  Line 1960	C++
 	gklayout.dll!nsHTMLInputElement::HandleDOMEvent(nsIPresContext *
aPresContext=0x02fadb08, nsEvent * aEvent=0x0012cd24, nsIDOMEvent * *
aDOMEvent=0x00000000, unsigned int aFlags=1, nsEventStatus *
aEventStatus=0x0012cd20)  Line 1396 + 0x1f	C++
 	gklayout.dll!nsEventStateManager::SendFocusBlur(nsIPresContext *
aPresContext=0x02fadb08, nsIContent * aContent=0x0383ea18, int
aEnsureWindowHasFocus=1)  Line 4271	C++
 	gklayout.dll!nsEventStateManager::SetContentState(nsIContent *
aContent=0x0383ea18, int aState=2)  Line 3934	C++
 	gklayout.dll!nsHTMLInputElement::SetFocus(nsIPresContext *
aPresContext=0x02fadb08)  Line 1110	C++
 	gklayout.dll!nsEventStateManager::PreHandleEvent(nsIPresContext *
aPresContext=0x02cddde0, nsEvent * aEvent=0x0012d5dc, nsIFrame *
aTargetFrame=0x02f51324, nsEventStatus * aStatus=0x0012d410, nsIView *
aView=0x02c82660)  Line 751	C++
 	gklayout.dll!PresShell::HandleEventInternal(nsEvent * aEvent=0x0012d5dc,
nsIView * aView=0x02c82660, unsigned int aFlags=1, nsEventStatus *
aStatus=0x0012d410)  Line 6030 + 0x34	C++
 	gklayout.dll!PresShell::HandleEvent(nsIView * aView=0x02c82660, nsGUIEvent *
aEvent=0x0012d5dc, nsEventStatus * aEventStatus=0x0012d410, int aForceHandle=1,
int & aHandled=1)  Line 5929 + 0x19	C++
 	gklayout.dll!nsViewManager::HandleEvent(nsView * aView=0x02c82660, nsGUIEvent
* aEvent=0x0012d5dc, int aCaptured=0)  Line 2239	C++
 	gklayout.dll!nsViewManager::DispatchEvent(nsGUIEvent * aEvent=0x0012d5dc,
nsEventStatus * aStatus=0x0012d538)  Line 2025 + 0x14	C++
 	gklayout.dll!HandleEvent(nsGUIEvent * aEvent=0x0012d5dc)  Line 79	C++
 	gkwidget.dll!nsWindow::DispatchEvent(nsGUIEvent * event=0x0012d5dc,
nsEventStatus & aStatus=nsEventStatus_eIgnore)  Line 1067 + 0xa	C++
 	gkwidget.dll!nsWindow::DispatchWindowEvent(nsGUIEvent * event=0x0012d5dc) 
Line 1088	C++
 	gkwidget.dll!nsWindow::DispatchFocus(unsigned int aEventType=107, int
isMozWindowTakingFocus=1)  Line 5453 + 0xf	C++
 	gkwidget.dll!nsWindow::ProcessMessage(unsigned int msg=7, unsigned int
wParam=460144, long lParam=0, long * aRetValue=0x0012da3c)  Line 4198 + 0x17	C++
 	gkwidget.dll!nsWindow::WindowProc(HWND__ * hWnd=0x0007057c, unsigned int
msg=7, unsigned int wParam=460144, long lParam=0)  Line 1349 + 0x1b	C++
 	user32.dll!77d43a50() 	
 	user32.dll!77d43b1f() 	
 	user32.dll!77d444f5() 	
 	user32.dll!77d44525() 	
 	ntdll.dll!77f75da3() 	
 	user32.dll!77d47998() 	
 	gkwidget.dll!nsWindow::SetFocus(int aRaise=1)  Line 2220	C++
 	gklayout.dll!GlobalWindowImpl::Focus()  Line 2523 + 0x19	C++
 	appshell.dll!nsWebShellWindow::HandleEvent(nsGUIEvent * aEvent=0x0012dd9c) 
Line 610	C++
 	gkwidget.dll!nsWindow::DispatchEvent(nsGUIEvent * event=0x0012dd9c,
nsEventStatus & aStatus=nsEventStatus_eIgnore)  Line 1067 + 0xa	C++
 	gkwidget.dll!nsWindow::DispatchWindowEvent(nsGUIEvent * event=0x0012dd9c) 
Line 1088	C++
 	gkwidget.dll!nsWindow::DispatchFocus(unsigned int aEventType=105, int
isMozWindowTakingFocus=1)  Line 5453 + 0xf	C++
 	gkwidget.dll!nsWindow::ProcessMessage(unsigned int msg=7, unsigned int
wParam=198452, long lParam=0, long * aRetValue=0x0012e1fc)  Line 4194 + 0x17	C++
 	gkwidget.dll!nsWindow::WindowProc(HWND__ * hWnd=0x00070570, unsigned int
msg=7, unsigned int wParam=198452, long lParam=0)  Line 1349 + 0x1b	C++
 	user32.dll!77d43a50() 	
 	user32.dll!77d43b1f() 	
 	user32.dll!77d444f5() 	
 	user32.dll!77d44525() 	
 	ntdll.dll!77f75da3() 	
 	user32.dll!77d4582b() 	
 	user32.dll!77d49bf3() 	
 	user32.dll!77d458ce() 	
 	user32.dll!77d45885() 	
 	gkwidget.dll!nsWindow::DefaultWindowProc(HWND__ * hWnd=0x00070570, unsigned
int msg=6, unsigned int wParam=1, long lParam=460408)  Line 1375	C++
 	user32.dll!77d43a50() 	
 	user32.dll!77d43b1f() 	
 	user32.dll!77d45b2c() 	
 	user32.dll!77d45b4b() 	
 	gkwidget.dll!nsWindow::WindowProc(HWND__ * hWnd=0x00070570, unsigned int
msg=6, unsigned int wParam=1, long lParam=460408)  Line 1356 + 0x1f	C++
 	user32.dll!77d43a50() 	
 	user32.dll!77d43b1f() 	
 	user32.dll!77d444f5() 	
 	user32.dll!77d44525() 	
 	ntdll.dll!77f75da3() 	
 	user32.dll!77d478fd() 	
 	gkwidget.dll!nsWindow::PlaceBehind(nsTopLevelWidgetZPlacement
aPlacement=eZPlacementTop, nsIWidget * aWidget=0x00000000, int aActivate=1) 
Line 1817	C++
 	appshell.dll!nsXULWindow::Destroy()  Line 483	C++
 	appshell.dll!nsWebShellWindow::Destroy()  Line 1663 + 0x9	C++
 	appshell.dll!nsChromeTreeOwner::Destroy()  Line 330	C++
 	gklayout.dll!GlobalWindowImpl::ReallyCloseWindow()  Line 3691	C++
 	gklayout.dll!GlobalWindowImpl::Close()  Line 3675 + 0x10	C++
 	xpcom.dll!XPTC_InvokeByIndex(nsISupports * that=0x037d4c1c, unsigned int
methodIndex=80, unsigned int paramCount=0, nsXPTCVariant * params=0x0012ea40)
 Line 102	C++
 	xpc3250.dll!XPCWrappedNative::CallMethod(XPCCallContext & ccx={...},
XPCWrappedNative::CallMode mode=CALL_METHOD)  Line 2027 + 0x1e	C++
 	xpc3250.dll!XPC_WN_CallMethod(JSContext * cx=0x00ab4568, JSObject *
obj=0x02cf4360, unsigned int argc=0, long * argv=0x0399cf0c, long *
vp=0x0012ed14)  Line 1287 + 0xe	C++
 	js3250.dll!js_Invoke(JSContext * cx=0x00ab4568, unsigned int argc=0, unsigned
int flags=0)  Line 941 + 0x20	C
 	js3250.dll!js_Interpret(JSContext * cx=0x00ab4568, long * result=0x0012f68c) 
Line 2967 + 0xf	C
 	js3250.dll!js_Invoke(JSContext * cx=0x00ab4568, unsigned int argc=4, unsigned
int flags=2)  Line 958 + 0xd	C
 	xpc3250.dll!nsXPCWrappedJSClass::CallMethod(nsXPCWrappedJS *
wrapper=0x038a8328, unsigned short methodIndex=3, const nsXPTMethodInfo *
info=0x033b5558, nsXPTCMiniVariant * nativeParams=0x0012f9a8)  Line 1336 + 0x14	C++
 	xpc3250.dll!nsXPCWrappedJS::CallMethod(unsigned short methodIndex=3, const
nsXPTMethodInfo * info=0x033b5558, nsXPTCMiniVariant * params=0x0012f9a8) 
Line 450	C++
 	xpcom.dll!PrepareAndDispatch(nsXPTCStubBase * self=0x038a8328, unsigned int
methodIndex=3, unsigned int * args=0x0012fa70, unsigned int *
stackBytesToPop=0x0012fa60)  Line 117 + 0x1c	C++
 	xpcom.dll!SharedStub()  Line 147	C++
 	embedcomponents.dll!nsPrintProgress::OnStateChange(nsIWebProgress *
aWebProgress=0x00000000, nsIRequest * aRequest=0x00000000, unsigned int
aStateFlags=131088, unsigned int aStatus=0)  Line 257	C++
 	embedcomponents.dll!nsPrintingPromptService::OnStateChange(nsIWebProgress *
aWebProgress=0x00000000, nsIRequest * aRequest=0x00000000, unsigned int
aStateFlags=131088, unsigned int aStatus=0)  Line 340	C++
 	gklayout.dll!nsPrintData::DoOnProgressChange(nsVoidArray & aListeners={...},
int aProgess=100, int aMaxProgress=100, int aDoStartStop=1, int aFlag=131088)
 Line 194	C++
 	gklayout.dll!nsPrintData::OnEndPrinting()  Line 172 + 0x17	C++
 	gklayout.dll!nsPrintData::~nsPrintData()  Line 124	C++
 	gklayout.dll!nsPrintData::`scalar deleting destructor'()  + 0xf	C++
 	gklayout.dll!nsPrintEngine::Destroy()  Line 292 + 0x1f	C++
 	gklayout.dll!DocumentViewerImpl::OnDonePrinting()  Line 3843	C++
 	gklayout.dll!HandlePLEvent(PLEvent * aEvent=0x0389c628)  Line 4579	C++
 	xpcom.dll!PL_HandleEvent(PLEvent * self=0x0389c628)  Line 673 + 0xa	C
 	xpcom.dll!PL_ProcessPendingEvents(PLEventQueue * self=0x00a28ed8)  Line 608
+ 0x9	C
 	xpcom.dll!_md_EventReceiverProc(HWND__ * hwnd=0x00070692, unsigned int
uMsg=49603, unsigned int wParam=0, long lParam=10653400)  Line 1414 + 0x9	C
 	user32.dll!77d43a50() 	
 	user32.dll!77d43b1f() 	
 	user32.dll!77d43d79() 	
 	user32.dll!77d43fd4() 	
 	user32.dll!77d43ddf() 	
 	gkwidget.dll!nsAppShell::Run()  Line 135	C++
 	appshell.dll!nsAppShellService::Run()  Line 524	C++
 	mozilla.exe!main1(int argc=4, char * * argv=0x002a57b8, nsISupports *
nativeApp=0x009d1430)  Line 1303 + 0x20	C++
 	mozilla.exe!main(int argc=4, char * * argv=0x002a57b8)  Line 1780 + 0x25	C++
 	mozilla.exe!mainCRTStartup()  Line 398 + 0x11	C
 	kernel32.dll!77e814c7() 	
I have a bullet proofer, maybe someone like roc should review?
Attachment #149477 - Flags: superreview?(roc)
Attachment #149477 - Flags: review?(bryner)
The best fix would be to never mess with the caret while printing, since that
makes no sense.

I think a better fix would be to make this loop here
http://lxr.mozilla.org/mozilla/source/layout/base/src/nsCaret.cpp#797
while (PR_TRUE) and change "if (theView->HasWidget())" to "if
(theView->HasWidget() || !theView->GetParent())" --- treat the top of the view
tree as if it has a parent widget, even if it doesn't. That will stop this crash
because returnView will always get set to something non-null.

Similarly, later on, "if (!returnView && theView->HasWidget())" should be "if
(!returnView && (theView->HasWidget() || !theView->GetParent()))".

Oh yeah, the very best fix of all would be to rip out this caret crap and draw
the caret as part of the normal frame painting code.
roc, thanks for the suggestion.  

I'll go try out your "better fix" (not the "very best fix".)

want to fix this top crasher for 1.7 final (and trunk)
Assignee: core.printing → sspitzer
Target Milestone: --- → mozilla1.7final
let me attach the patch that roc suggested.  (maybe I did the wrong thing?)

with the suggested patch it still crashes, but in a different place. 

this time we crash in nsRenderingContextWin::Init() because aWindow is null.

HDC tdc = (HDC)aWindow->GetNativeData(NS_NATIVE_GRAPHIC);

>	gkgfxwin.dll!nsRenderingContextWin::Init(nsIDeviceContext *
aContext=0x034610a8, nsIWidget * aWindow=0x00000000)  Line 384 + 0x5	C++
 	gkgfx.dll!DeviceContextImpl::InitRenderingContext(nsIRenderingContext *
aContext=0x03974738, nsIWidget * aWin=0x00000000)  Line 231	C++
 	gkgfx.dll!DeviceContextImpl::CreateRenderingContext(nsIView *
aView=0x038e3d40, nsIRenderingContext * & aContext=0x00000000)  Line 143 + 0x1a	C++
 	gklayout.dll!nsCaret::GetCaretRectAndInvert()  Line 982 + 0x4c	C++
 	gklayout.dll!nsCaret::DrawCaret()  Line 943	C++
 	gklayout.dll!nsCaret::StartBlinking()  Line 512	C++
 	gklayout.dll!nsCaret::SetCaretVisible(int inMakeVisible=1)  Line 231 + 0x8	C++
 	gklayout.dll!PresShell::SetCaretEnabled(int aInEnable=1)  Line 3115 + 0x21	C++
 	gklayout.dll!nsTextInputSelectionImpl::SetCaretEnabled(int enabled=1)  Line
596	C++
 	editor.dll!nsTextEditorFocusListener::Focus(nsIDOMEvent * aEvent=0x03973f28) 
Line 1044	C++
 	gklayout.dll!DispatchToInterface(nsIDOMEvent * aEvent=0x03973f28,
nsIDOMEventListener * aListener=0x038c0800, unsigned int (nsIDOMEvent *)*
aMethod=0x016308c0, const nsID & aIID={...}, int * aHasInterface=0x0012c800) 
Line 127 + 0xb	C++
 	gklayout.dll!nsEventListenerManager::HandleEvent(nsIPresContext *
aPresContext=0x036425a8, nsEvent * aEvent=0x0012cd24, nsIDOMEvent * *
aDOMEvent=0x0012c9c0, nsIDOMEventTarget * aCurrentTarget=0x03842438, unsigned
int aFlags=7, nsEventStatus * aEventStatus=0x0012cd20)  Line 1520 + 0x23	C++
 	gklayout.dll!nsGenericElement::HandleDOMEvent(nsIPresContext *
aPresContext=0x036425a8, nsEvent * aEvent=0x0012cd24, nsIDOMEvent * *
aDOMEvent=0x0012c9c0, unsigned int aFlags=7, nsEventStatus *
aEventStatus=0x0012cd20)  Line 1960	C++
 	gklayout.dll!nsHTMLInputElement::HandleDOMEvent(nsIPresContext *
aPresContext=0x036425a8, nsEvent * aEvent=0x0012cd24, nsIDOMEvent * *
aDOMEvent=0x00000000, unsigned int aFlags=1, nsEventStatus *
aEventStatus=0x0012cd20)  Line 1396 + 0x1f	C++
 	gklayout.dll!nsEventStateManager::SendFocusBlur(nsIPresContext *
aPresContext=0x036425a8, nsIContent * aContent=0x036fac08, int
aEnsureWindowHasFocus=1)  Line 4271	C++
 	gklayout.dll!nsEventStateManager::SetContentState(nsIContent *
aContent=0x036fac08, int aState=2)  Line 3934	C++
 	gklayout.dll!nsHTMLInputElement::SetFocus(nsIPresContext *
aPresContext=0x036425a8)  Line 1110	C++
 	gklayout.dll!nsEventStateManager::PreHandleEvent(nsIPresContext *
aPresContext=0x026e3118, nsEvent * aEvent=0x0012d5dc, nsIFrame *
aTargetFrame=0x0315a6bc, nsEventStatus * aStatus=0x0012d410, nsIView *
aView=0x026ee658)  Line 751	C++
 	gklayout.dll!PresShell::HandleEventInternal(nsEvent * aEvent=0x0012d5dc,
nsIView * aView=0x026ee658, unsigned int aFlags=1, nsEventStatus *
aStatus=0x0012d410)  Line 6030 + 0x34	C++
 	gklayout.dll!PresShell::HandleEvent(nsIView * aView=0x026ee658, nsGUIEvent *
aEvent=0x0012d5dc, nsEventStatus * aEventStatus=0x0012d410, int aForceHandle=1,
int & aHandled=1)  Line 5929 + 0x19	C++
 	gklayout.dll!nsViewManager::HandleEvent(nsView * aView=0x026ee658, nsGUIEvent
* aEvent=0x0012d5dc, int aCaptured=0)  Line 2239	C++
 	gklayout.dll!nsViewManager::DispatchEvent(nsGUIEvent * aEvent=0x0012d5dc,
nsEventStatus * aStatus=0x0012d538)  Line 2025 + 0x14	C++
 	gklayout.dll!HandleEvent(nsGUIEvent * aEvent=0x0012d5dc)  Line 79	C++
 	gkwidget.dll!nsWindow::DispatchEvent(nsGUIEvent * event=0x0012d5dc,
nsEventStatus & aStatus=nsEventStatus_eIgnore)  Line 1067 + 0xa	C++
 	gkwidget.dll!nsWindow::DispatchWindowEvent(nsGUIEvent * event=0x0012d5dc) 
Line 1088	C++
 	gkwidget.dll!nsWindow::DispatchFocus(unsigned int aEventType=107, int
isMozWindowTakingFocus=1)  Line 5453 + 0xf	C++
 	gkwidget.dll!nsWindow::ProcessMessage(unsigned int msg=7, unsigned int
wParam=1180920, long lParam=0, long * aRetValue=0x0012da3c)  Line 4198 + 0x17	C++
 	gkwidget.dll!nsWindow::WindowProc(HWND__ * hWnd=0x004104d6, unsigned int
msg=7, unsigned int wParam=1180920, long lParam=0)  Line 1349 + 0x1b	C++
 	user32.dll!77d43a50() 	
 	user32.dll!77d43b1f() 	
 	user32.dll!77d444f5() 	
 	user32.dll!77d44525() 	
 	ntdll.dll!77f75da3() 	
 	user32.dll!77d47998() 	
 	gkwidget.dll!nsWindow::SetFocus(int aRaise=1)  Line 2220	C++
 	gklayout.dll!GlobalWindowImpl::Focus()  Line 2523 + 0x19	C++
 	appshell.dll!nsWebShellWindow::HandleEvent(nsGUIEvent * aEvent=0x0012dd9c) 
Line 610	C++
 	gkwidget.dll!nsWindow::DispatchEvent(nsGUIEvent * event=0x0012dd9c,
nsEventStatus & aStatus=nsEventStatus_eIgnore)  Line 1067 + 0xa	C++
 	gkwidget.dll!nsWindow::DispatchWindowEvent(nsGUIEvent * event=0x0012dd9c) 
Line 1088	C++
 	gkwidget.dll!nsWindow::DispatchFocus(unsigned int aEventType=105, int
isMozWindowTakingFocus=1)  Line 5453 + 0xf	C++
 	gkwidget.dll!nsWindow::ProcessMessage(unsigned int msg=7, unsigned int
wParam=1378012, long lParam=0, long * aRetValue=0x0012e1fc)  Line 4194 + 0x17	C++
 	gkwidget.dll!nsWindow::WindowProc(HWND__ * hWnd=0x001204f8, unsigned int
msg=7, unsigned int wParam=1378012, long lParam=0)  Line 1349 + 0x1b	C++
 	user32.dll!77d43a50() 	
 	user32.dll!77d43b1f() 	
 	user32.dll!77d444f5() 	
 	user32.dll!77d44525() 	
 	ntdll.dll!77f75da3() 	
 	user32.dll!77d4582b() 	
 	user32.dll!77d49bf3() 	
 	user32.dll!77d458ce() 	
 	user32.dll!77d45885() 	
 	gkwidget.dll!nsWindow::DefaultWindowProc(HWND__ * hWnd=0x001204f8, unsigned
int msg=6, unsigned int wParam=1, long lParam=2754310)  Line 1375	C++
 	user32.dll!77d43a50() 	
 	user32.dll!77d43b1f() 	
 	user32.dll!77d45b2c() 	
 	user32.dll!77d45b4b() 	
 	gkwidget.dll!nsWindow::WindowProc(HWND__ * hWnd=0x001204f8, unsigned int
msg=6, unsigned int wParam=1, long lParam=2754310)  Line 1356 + 0x1f	C++
 	user32.dll!77d43a50() 	
 	user32.dll!77d43b1f() 	
 	user32.dll!77d444f5() 	
 	user32.dll!77d44525() 	
 	ntdll.dll!77f75da3() 	
 	user32.dll!77d478fd() 	
 	gkwidget.dll!nsWindow::PlaceBehind(nsTopLevelWidgetZPlacement
aPlacement=eZPlacementTop, nsIWidget * aWidget=0x00000000, int aActivate=1) 
Line 1817	C++
 	appshell.dll!nsXULWindow::Destroy()  Line 483	C++
 	appshell.dll!nsWebShellWindow::Destroy()  Line 1663 + 0x9	C++
 	appshell.dll!nsChromeTreeOwner::Destroy()  Line 330	C++
 	gklayout.dll!GlobalWindowImpl::ReallyCloseWindow()  Line 3691	C++
 	gklayout.dll!GlobalWindowImpl::Close()  Line 3675 + 0x10	C++
 	xpcom.dll!XPTC_InvokeByIndex(nsISupports * that=0x033d3a5c, unsigned int
methodIndex=80, unsigned int paramCount=0, nsXPTCVariant * params=0x0012ea40)
 Line 102	C++
 	xpc3250.dll!XPCWrappedNative::CallMethod(XPCCallContext & ccx={...},
XPCWrappedNative::CallMode mode=CALL_METHOD)  Line 2027 + 0x1e	C++
 	xpc3250.dll!XPC_WN_CallMethod(JSContext * cx=0x02566458, JSObject *
obj=0x034a5e18, unsigned int argc=0, long * argv=0x0396ef2c, long *
vp=0x0012ed14)  Line 1287 + 0xe	C++
 	js3250.dll!js_Invoke(JSContext * cx=0x02566458, unsigned int argc=0, unsigned
int flags=0)  Line 941 + 0x20	C
 	js3250.dll!js_Interpret(JSContext * cx=0x02566458, long * result=0x0012f68c) 
Line 2967 + 0xf	C
 	js3250.dll!js_Invoke(JSContext * cx=0x02566458, unsigned int argc=4, unsigned
int flags=2)  Line 958 + 0xd	C
 	xpc3250.dll!nsXPCWrappedJSClass::CallMethod(nsXPCWrappedJS *
wrapper=0x02f02b50, unsigned short methodIndex=3, const nsXPTMethodInfo *
info=0x03408eb0, nsXPTCMiniVariant * nativeParams=0x0012f9a8)  Line 1336 + 0x14	C++
 	xpc3250.dll!nsXPCWrappedJS::CallMethod(unsigned short methodIndex=3, const
nsXPTMethodInfo * info=0x03408eb0, nsXPTCMiniVariant * params=0x0012f9a8) 
Line 450	C++
 	xpcom.dll!PrepareAndDispatch(nsXPTCStubBase * self=0x02f02b50, unsigned int
methodIndex=3, unsigned int * args=0x0012fa70, unsigned int *
stackBytesToPop=0x0012fa60)  Line 117 + 0x1c	C++
 	xpcom.dll!SharedStub()  Line 147	C++
 	embedcomponents.dll!nsPrintProgress::OnStateChange(nsIWebProgress *
aWebProgress=0x00000000, nsIRequest * aRequest=0x00000000, unsigned int
aStateFlags=131088, unsigned int aStatus=0)  Line 257	C++
 	embedcomponents.dll!nsPrintingPromptService::OnStateChange(nsIWebProgress *
aWebProgress=0x00000000, nsIRequest * aRequest=0x00000000, unsigned int
aStateFlags=131088, unsigned int aStatus=0)  Line 340	C++
 	gklayout.dll!nsPrintData::DoOnProgressChange(nsVoidArray & aListeners={...},
int aProgess=100, int aMaxProgress=100, int aDoStartStop=1, int aFlag=131088)
 Line 194	C++
 	gklayout.dll!nsPrintData::OnEndPrinting()  Line 172 + 0x17	C++
 	gklayout.dll!nsPrintData::~nsPrintData()  Line 124	C++
 	gklayout.dll!nsPrintData::`scalar deleting destructor'()  + 0xf	C++
 	gklayout.dll!nsPrintEngine::Destroy()  Line 292 + 0x1f	C++
 	gklayout.dll!DocumentViewerImpl::OnDonePrinting()  Line 3843	C++
 	gklayout.dll!HandlePLEvent(PLEvent * aEvent=0x02f05970)  Line 4579	C++
 	xpcom.dll!PL_HandleEvent(PLEvent * self=0x02f05970)  Line 673 + 0xa	C
 	xpcom.dll!PL_ProcessPendingEvents(PLEventQueue * self=0x00a28ea0)  Line 608
+ 0x9	C
 	xpcom.dll!_md_EventReceiverProc(HWND__ * hwnd=0x0051053a, unsigned int
uMsg=49603, unsigned int wParam=0, long lParam=10653344)  Line 1414 + 0x9	C
 	user32.dll!77d43a50() 	
 	user32.dll!77d43b1f() 	
 	user32.dll!77d43d79() 	
 	user32.dll!77d43fd4() 	
 	user32.dll!77d43ddf() 	
 	gkwidget.dll!nsAppShell::Run()  Line 135	C++
 	appshell.dll!nsAppShellService::Run()  Line 524	C++
 	mozilla.exe!main1(int argc=2, char * * argv=0x002a57b8, nsISupports *
nativeApp=0x009f5f90)  Line 1303 + 0x20	C++
 	mozilla.exe!main(int argc=2, char * * argv=0x002a57b8)  Line 1780 + 0x25	C++
 	mozilla.exe!mainCRTStartup()  Line 398 + 0x11	C
 	kernel32.dll!77e814c7() 	
Status: NEW → ASSIGNED
Comment on attachment 149477 [details] [diff] [review]
wall paper

OK. This patch means for printing, we'll return a null returnView which causes
an error exit in the caller before we do any more damage. The problem with my
patch is that it doesn't cause an error exit so we keep bulldozing on and hit
another crasher. We really didn't want to be here in the first place so this
fix is better.
Attachment #149477 - Flags: superreview?(roc)
Attachment #149477 - Flags: superreview+
Attachment #149477 - Flags: review?(bryner)
Attachment #149477 - Flags: review+
thanks roc.  I'll land the wall paper on trunk and branch (crashing is never
good) and then start a new bug on the assert with your comments.
Flags: blocking1.8a2+
Flags: blocking1.7-
Flags: blocking1.7+
I've landed the fix on the branch, and logged bug #245055 to track the real issue.
I've landed the bullet proofing on the trunk too, since crashing is never good.

thanks to roc for the help and to ere for the excellent bug report.
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Keywords: fixed1.7
fixed on aviary branch as well
Whiteboard: TB44076Y → TB44076Y, fixed-aviary1.0
Whiteboard: TB44076Y, fixed-aviary1.0
Crash Signature: [@ nsCaret::GetViewForRendering]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: