Closed
Bug 35896
Opened 25 years ago
Closed 24 years ago
close browser with print dialog up --> crash
Categories
(Core :: DOM: Navigation, defect, P1)
Tracking
()
VERIFIED
WORKSFORME
mozilla0.9.2
People
(Reporter: jruderman, Assigned: mcafee)
References
Details
(4 keywords, Whiteboard: [rtm-] [PDTP2] relnote-user r=Adamlock CAN'T REPRODUCE SINCE CHECKIN!)
Go to file, print, and while the print dialog is still up, close mozilla.
Mozilla crashes. Build 2000 041409.
MOZILLA caused an invalid page fault in
module JSDOM.DLL at 015f:60b974ec.
Registers:
EAX=00000000 CS=015f EIP=60b974ec EFLGS=00010246
EBX=0068eca0 SS=0167 ESP=0068ec30 EBP=0068ec70
ECX=0068ec68 DS=0167 ESI=00000000 FS=4bdf
EDX=0068ec68 ES=0167 EDI=01646124 GS=0000
Bytes at CS:EIP:
8b 08 ff 51 1c 56 8d 4d f0 89 75 f0 e8 ab cb ff
Stack dump:
00000000 0068ec68 00000000 00000000 016d1c58 60bd7378 00000000 00000000
60bd7378 00000000 00000000 00000000 60cc5549 602dce68 00000000 00000000
Reporter | ||
Updated•25 years ago
|
Comment 1•25 years ago
|
||
Reproduced with 2000-04-14-09-M16; generated a Talkback blackbox, but
"the Agent is unable to connect to the server" -- so it's still in my queue.
Will provide Incident ID when I have one; mentioned bug 35896 (this one).
Comment 2•25 years ago
|
||
Talkback Incident ID: TB8689535W
Updated•25 years ago
|
Status: NEW → ASSIGNED
Target Milestone: --- → M16
Comment 3•25 years ago
|
||
Print dialog is modal (or should be).. and access to the menu to quit should not
be allowed. Handing this To Don Melton.. so he can assign to the correct party.
Assignee: dcone → don
Status: ASSIGNED → NEW
Reporter | ||
Comment 4•25 years ago
|
||
Can javascript call the print dialog?
Comment 7•25 years ago
|
||
still crashing as of win ME 60208, this wouldn't happen if print dialog was
modal as it should be
Comment 8•25 years ago
|
||
This visible, easily reproducable, reliable crash should really be fixed for
beta2.
Keywords: nsbeta2
Putting on [nsbeta2-] radar. We can relnote for beta2.
Is this a top Talkback crasher?
Keywords: relnote
Whiteboard: [nsbeta2-]
Comment 10•25 years ago
|
||
Stack Trace Sean reported using Talkback System.
(Talkback Incident ID: TB8689535W)
Call Stack: (Signature = GlobalWindowImpl::GetPrivateRoot 3703584a)
GlobalWindowImpl::GetPrivateRoot[d:\builds\seamonkey\mozilla\dom\src\base\nsGlob
alWindow.cpp, line 2134]
CheckForFocus[d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp,
line 1360]
PresShell::InitialReflow[d:\builds\seamonkey\mozilla\layout\html\base\src\nsPres
Shell.cpp, line 1460]
DocumentViewerImpl::Print[d:\builds\seamonkey\mozilla\layout\base\src\nsDocument
Viewer.cpp, line 1319]
nsBrowserInstance::Print[d:\builds\seamonkey\mozilla\xpfe\browser\src\nsBrowserI
nstance.cpp, line 1928]
XPTC_InvokeByIndex[d:\builds\seamonkey\mozilla\xpcom\reflect\xptcall\src\md\win3
2\xptcinvoke.cpp, line 139]
nsXPCWrappedNativeClass::CallWrappedMethod[d:\builds\seamonkey\mozilla\js\src\xp
connect\src\xpcwrappednativeclass.cpp, line 899]
WrappedNative_CallMethod[d:\builds\seamonkey\mozilla\js\src\xpconnect\src\xpcwra
ppednativejsops.cpp, line 195]
js_Invoke[d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 687]
js_Interpret[d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 2465]
js_Invoke[d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 703]
js_InternalInvoke[d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 776]
JS_CallFunctionValue[d:\builds\seamonkey\mozilla\js\src\jsapi.c, line 2796]
nsJSContext::CallEventHandler[d:\builds\seamonkey\mozilla\dom\src\base\nsJSEnvir
onment.cpp, line 732]
nsJSEventListener::HandleEvent[d:\builds\seamonkey\mozilla\dom\src\events\nsJSEv
entListener.cpp, line 141]
nsEventListenerManager::HandleEventSubType[d:\builds\seamonkey\mozilla\layout\ev
ents\src\nsEventListenerManager.cpp, line 706]
nsEventListenerManager::HandleEvent[d:\builds\seamonkey\mozilla\layout\events\sr
c\nsEventListenerManager.cpp, line 1481]
nsXULElement::HandleDOMEvent[d:\builds\seamonkey\mozilla\rdf\content\src\nsXULEl
ement.cpp, line 3296]
nsMenuFrame::Execute[d:\builds\seamonkey\mozilla\layout\xul\base\src\nsMenuFrame
.cpp, line 1284]
nsMenuFrame::HandleEvent[d:\builds\seamonkey\mozilla\layout\xul\base\src\nsMenuF
rame.cpp, line 295]
PresShell::HandleEvent[d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresSh
ell.cpp, line 3462]
nsView::HandleEvent[d:\builds\seamonkey\mozilla\view\src\nsView.cpp, line 811]
nsView::HandleEvent[d:\builds\seamonkey\mozilla\view\src\nsView.cpp, line 784]
nsViewManager2::DispatchEvent[d:\builds\seamonkey\mozilla\view\src\nsViewManager
2.cpp, line 1355]
HandleEvent[d:\builds\seamonkey\mozilla\view\src\nsView.cpp, line 69]
nsWindow::DispatchEvent[d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.
cpp, line 515]
nsWindow::DispatchWindowEvent[d:\builds\seamonkey\mozilla\widget\src\windows\nsW
indow.cpp, line 532]
nsWindow::DispatchMouseEvent[d:\builds\seamonkey\mozilla\widget\src\windows\nsWi
ndow.cpp, line 3238]
ChildWindow::DispatchMouseEvent[d:\builds\seamonkey\mozilla\widget\src\windows\n
sWindow.cpp, line 3443]
nsWindow::ProcessMessage[d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow
.cpp, line 2396]
nsWindow::WindowProc[d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp
, line 741]
USER32.dll + 0x1250 (0x77e71250)
Comment 11•25 years ago
|
||
Though namachi found the Talkback stack trace, this bug was not found to be a
top Talkback report.
Comment 12•25 years ago
|
||
Bug 41670, "Crash if cookie confirm dialog answered after File>Quit", may or
may not be related... see its talkback blackbox data.
Comment 13•25 years ago
|
||
Nav triage team: [nsbeta3+]
Comment 14•25 years ago
|
||
Adding nsbeta3 keyword to bugs which already have nsbeta3 status markings so
the queries don't get all screwed up.
Keywords: nsbeta3
Comment 15•25 years ago
|
||
OK, the fix is to make the print dialog modal; there seems to be agreement on
that.
Making the print dialog is kind of a PITA, though. We need the parent window at
the point where the call stack looks like this:
nsDeviceContextSpecFactoryWin::CreateDeviceContextSpec
DocumentViewerImpl::Print
nsBrowserInstance::Print
nsBrowserInstance knows the parent window, so it could pass it to
DocumentViewerImpl. But nsIContentViewerFile::Print (the method
nsBrowserInstance is calling) doesn't currently provide a means of passing it.
Likewise nsDeviceContextSpecFactoryWin::CreateDeviceContextSpec.
I am not confident changing either of these two interfaces. One is in the
general "webshell" category, the other deeper in layout. So I'm not sure who to
hand this off to. I'm going to hand it off to the "webshell" component (once I
find it); we can deal with the other component when we cross it, so to speak.
Once the interface(s) support passing a parent window, I'll be more than happy
to tweak nsBrowserInstance to do so.
One possibility is to exploit the nsIProgressListener argument (currently unused
by nsBrowserInstance) to get the parent window to the next component down the
line. That still requires some additional enhancement in order to get it passed
to nsDeviceContextSpecFactoryWin.
Or, CreateDeviceContextSpec can simply do QueryInterfaces and random method
calls to get to the parent window. See, for example,
nsUrlWidget::SetURLToHiddenControl (in
http://lxr.mozilla.org/seamonkey/source/xpfe/components/urlwidget/nsUrlWidget.cp
p).
Assignee: law → adamlock
Component: Printing → Embedding: Docshell
QA Contact: shrir → adamlock
Comment 16•25 years ago
|
||
The content viewer already knows it's parent widget from the call to Init(), so
it's just a matter of getting it to the context. Perhaps there should be a new
parameter to CreateDeviceContextSpec() that let's the device context spec
factory call back for additional information?
Comment 17•25 years ago
|
||
*** Bug 31439 has been marked as a duplicate of this bug. ***
Updated•24 years ago
|
Priority: P3 → P1
Comment 18•24 years ago
|
||
PDT thinks this is a P2
Priority: P1 → P2
Whiteboard: [nsbeta2-][nsbeta3+] → [nsbeta2-][nsbeta3+][PDTP2]
Comment 19•24 years ago
|
||
*** Bug 39053 has been marked as a duplicate of this bug. ***
Comment 20•24 years ago
|
||
Steps to reproduce seem uncommon enough that most users won't encounter this.
Marking nsbeta3- and adding rtm nomination.
Keywords: rtm
Whiteboard: [nsbeta2-][nsbeta3+][PDTP2] → [nsbeta2-][nsbeta3-][PDTP2]
Comment 21•24 years ago
|
||
Patch to fix this. Do you want to ask for rtm++ ?
===================================================================
RCS file: /m/pub/mozilla/layout/html/base/src/nsPresShell.cpp,v
retrieving revision 3.341.2.5
diff -u -r3.341.2.5 nsPresShell.cpp
--- nsPresShell.cpp 2000/10/12 14:52:13 3.341.2.5
+++ nsPresShell.cpp 2000/10/17 22:13:36
@@ -1706,6 +1706,9 @@
nsCOMPtr<nsIDOMWindowInternal> rootWindow;
nsCOMPtr<nsPIDOMWindow> ourWindow = do_QueryInterface(globalObject);
ourWindow->GetPrivateRoot(getter_AddRefs(rootWindow));
+ NS_ASSERTION(rootWindow , "cannot get rootWindow");
+ if(nsnull == rootWindow)
+ return;
nsCOMPtr<nsIDOMDocument> rootDocument;
rootWindow->GetDocument(getter_AddRefs(rootDocument));
cvs server: Diffing dom/src/base
Index: dom/src/base/nsGlobalWindow.cpp
===================================================================
RCS file: /m/pub/mozilla/dom/src/base/nsGlobalWindow.cpp,v
retrieving revision 1.351.2.4
diff -u -r1.351.2.4 nsGlobalWindow.cpp
--- nsGlobalWindow.cpp 2000/10/15 23:33:19 1.351.2.4
+++ nsGlobalWindow.cpp 2000/10/17 22:13:36
@@ -2561,6 +2561,9 @@
nsCOMPtr<nsIScriptGlobalObject> parentTop = do_QueryInterface(parent);
nsCOMPtr<nsIDocShell> docShell;
+ NS_ASSERTION(parentTop, "cannot get parentTop");
+ if(parentTop == nsnull)
+ return NS_ERROR_FAILURE;
parentTop->GetDocShell(getter_AddRefs(docShell));
nsCOMPtr<nsIChromeEventHandler> chromeEventHandler;
docShell->GetChromeEventHandler(getter_AddRefs(chromeEventHandler));
Updated•24 years ago
|
Whiteboard: [nsbeta2-][nsbeta3-][PDTP2] → [nsbeta2-][nsbeta3-][PDTP2] [rtm+]
Comment 22•24 years ago
|
||
this patch needs to be reviewed (Adam?) and super reviewed ASAP before this can
be plussed.
Whiteboard: [nsbeta2-][nsbeta3-][PDTP2] [rtm+] → [nsbeta2-][nsbeta3-][PDTP2] [rtm need info]
Target Milestone: M21 → M19
Comment 23•24 years ago
|
||
Can I have a description of how the patch stops the problem?
Comment 24•24 years ago
|
||
if you follow the reproduce procedure, then you will get parentTop equal to 0x00
after
nsCOMPtr<nsIScriptGlobalObject> parentTop = do_QueryInterface(parent);
If we continue, parentTop->GetDocShell(getter_AddRefs(docShell));
will cause the crash. so... the only thing we can do is to return with error code.
If we return, the caller will call
rootWindow->GetDocument(getter_AddRefs(rootDocument));
so we need to add additional check before it and return.
This is not the RIGHT fix. But it is a fix which will stop the crash. I left the
asserion there so the module owner can still hit the problem code and work out a
REALLY GOOD fix later.
ourWindow->GetPrivateRoot(getter_AddRefs(rootWindow));
Comment 25•24 years ago
|
||
r=adamlock.
I think the print mechanism needs a rethink to bring in the concept of modality
but something to stop the crash is good enough for the moment.
Comment 26•24 years ago
|
||
could we take this for rtm ? This is a simple fix.
Whiteboard: [nsbeta2-][nsbeta3-][PDTP2] [rtm need info] → [nsbeta2-][nsbeta3-][PDTP2] [rtm+]
Comment 27•24 years ago
|
||
please get an sr= (soon!) and set it back to [rtm+] so we can then move it to
approved.
Whiteboard: [nsbeta2-][nsbeta3-][PDTP2] [rtm+] → [nsbeta2-][nsbeta3-][PDTP2] [rtm need info]
Updated•24 years ago
|
Whiteboard: [nsbeta2-][nsbeta3-][PDTP2] [rtm need info] → [nsbeta2-][nsbeta3-][PDTP2] [rtm need info] NEED SR=, r= Adamlock
Comment 28•24 years ago
|
||
Ugh...what Adam said - there's too much code out there that does the wrong thing
with respect to modality because of the inavailability of a suitable parent
window. Frank's change is a reasonable stop-gap for rtm, so sr=vidur. A small
nit - Frank, please make sure that you conform to the 2-space tabbing that's
used in the rest of the file.
Updated•24 years ago
|
Whiteboard: [nsbeta2-][nsbeta3-][PDTP2] [rtm need info] NEED SR=, r= Adamlock → [nsbeta2-][nsbeta3-][PDTP2] [rtm need info] NEED SR=, r= Adamlock [rtm+]
Comment 29•24 years ago
|
||
Marking relnote-user in case this doesn't make it in.
Gerv
Comment 30•24 years ago
|
||
rtm++
Whiteboard: [nsbeta2-][nsbeta3-][PDTP2] relnote-user r=Adamlock [rtm+] → [nsbeta2-][nsbeta3-][PDTP2] relnote-user r=Adamlock [rtm++]
Comment 31•24 years ago
|
||
If this hasn't already been checked in, is someone planning to do so?
Please excuse my spam.
Comment 32•24 years ago
|
||
This fix has missed the first N6 candidate build, so we can not take it unless
we respin. This bug is in candidate limbo. We will reconsider this fix once we
have a candidate in hand, but we can't take this fix before then. PDT marking [rtm+]
Whiteboard: [nsbeta2-][nsbeta3-][PDTP2] relnote-user r=Adamlock [rtm++] → [nsbeta2-][nsbeta3-][PDTP2] relnote-user r=Adamlock [rtm+]
Comment 33•24 years ago
|
||
PDT marking [rtm++]. This bug is now out of limbo and approved for checkin to
the branch. Please check in ASAP.
Whiteboard: [nsbeta2-][nsbeta3-][PDTP2] relnote-user r=Adamlock [rtm+] → [nsbeta2-][nsbeta3-][PDTP2] relnote-user r=Adamlock [rtm++]
Comment 34•24 years ago
|
||
Fix is now checked into trunk and branch. Marking FIXED
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Comment 35•24 years ago
|
||
Does it happen only on win98?
Comment 36•24 years ago
|
||
On winnt 2000-10-31-14-MN6 build this still happens. However, in the debug build
I see a bunch of assertions but no crash... I'm reopening the bug.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Comment 37•24 years ago
|
||
Changing [rtm++] to [rtm need info] due to reopen.
Whiteboard: [nsbeta2-][nsbeta3-][PDTP2] relnote-user r=Adamlock [rtm++] → [nsbeta2-][nsbeta3-][PDTP2] relnote-user r=Adamlock [rtm need info]
Comment 38•24 years ago
|
||
I don't see this crash using the 10-31-14 MN6 candidate build on Win98.
Comment 39•24 years ago
|
||
I don't see crash either. I'm using the latest branch pull with NT.
It does print the page however.
Updated•24 years ago
|
Whiteboard: [nsbeta2-][nsbeta3-][PDTP2] relnote-user r=Adamlock [rtm need info] → [rtm need info] [PDTP2] relnote-user r=Adamlock CAN'T REPRODUCE SINCE CHECKIN!
Reporter | ||
Comment 40•24 years ago
|
||
Reopening 31439 for the "page prints when you close Mozilla with a print dialog
up" issue.
Comment 41•24 years ago
|
||
Given this is not being reproduced at this point, I'm pushing it to RTM minus
The RTM train is leaving....
Whiteboard: [rtm need info] [PDTP2] relnote-user r=Adamlock CAN'T REPRODUCE SINCE CHECKIN! → [rtm-] [PDTP2] relnote-user r=Adamlock CAN'T REPRODUCE SINCE CHECKIN!
Comment 42•24 years ago
|
||
Assigning bug back to Don Cone
Assignee: adamlock → dcone
Status: REOPENED → NEW
Comment 43•24 years ago
|
||
This is an issue for application..the close should not be an option if this
dialog is up..
Assigning to Don Melton for Triage.
Assignee: dcone → don
Comment 45•24 years ago
|
||
please re-open if this is still reproducible.
Status: NEW → RESOLVED
Closed: 24 years ago → 24 years ago
Resolution: --- → WORKSFORME
Reporter | ||
Comment 46•24 years ago
|
||
Still crashes for me.
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Comment 48•24 years ago
|
||
Quoting from above:
> ------- Additional Comments From law@netscape.com 2000-08-09 17:30 -------
> OK, the fix is to make the print dialog modal; there seems to be agreement on
> that.
This bug was not fixed in that fashion; the temporary fix no longer works,
so this is a regression; adding keyword.
New talkback data: TB29334548M
Keywords: regression
Updated•24 years ago
|
Status: REOPENED → ASSIGNED
Priority: P2 → P1
Target Milestone: --- → mozilla0.9.1
Comment 49•24 years ago
|
||
nsbeta1+, P1, => mcafee.
Comment 50•24 years ago
|
||
missed actually reassigning to chris last time around ;-)
Assignee: vishy → mcafee
Status: ASSIGNED → NEW
Comment 51•24 years ago
|
||
nav triage: not a beta stopper as this is not a common user behaviour. moving to
mozilla0.9.2.
Comment 52•24 years ago
|
||
actually changing the milestone this time :-).
Target Milestone: mozilla0.9.1 → mozilla0.9.2
Assignee | ||
Comment 53•24 years ago
|
||
this didn't crash for me, w2k, current bits, marking WFM again.
please reopen if this doesn't workforyou.
Status: NEW → RESOLVED
Closed: 24 years ago → 24 years ago
Resolution: --- → WORKSFORME
Comment 54•24 years ago
|
||
wfm win2k 2001061905
win98 2001061905
verified
Status: RESOLVED → VERIFIED
You need to log in
before you can comment on or make changes to this bug.
Description
•