Closed
Bug 240490
Opened 21 years ago
Closed 21 years ago
M17x FF10PR1 crash after closing Print Preview of XUL page [@ gklayout.dll - nsTreeBoxObject::GetTreeBody] [@ 0x00000000 - nsSplittableFrame::RemoveFromFlow] [@ PresShell::`vftable']
Categories
(Core :: Print Preview, defect)
Tracking
()
VERIFIED
FIXED
People
(Reporter: aha, Assigned: dbaron)
References
()
Details
(5 keywords, Whiteboard: [fixed by disabling printing of XUL documents])
Crash Data
Attachments
(3 files)
|
8.11 KB,
text/plain
|
Details | |
|
8.76 KB,
patch
|
roc
:
superreview+
|
Details | Diff | Splinter Review |
|
3.65 KB,
patch
|
benjamin
:
review+
chofmann
:
approval-aviary+
chofmann
:
approval1.7.5+
|
Details | Diff | Splinter Review |
2004041310/trunk/W2K -> TB18570H
I was able to display Print Preview of XUL page (!) from bug 240484, but Mozilla
crashes after Print Preview was closed.
Repro:
1. open http://www.global-centre.com/interact/forums/xul/
2. Print Preview
3. close
-> crash
Comment 1•21 years ago
|
||
Adam, you should be able to get the stack off the talkback server...
Comment 2•21 years ago
|
||
I can reproduce this with build 2004-04-14-08 on Windows XP (seamonkey).
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment 3•21 years ago
|
||
TB19104Z, but I'm having problems finding either Adam's or my incidents on the
following page:
http://talkback-public.mozilla.org/
| Reporter | ||
Comment 4•21 years ago
|
||
Yep, public TalkBack server doesn't show many of incidents. Maybe Jay should
know more?
Comment 5•21 years ago
|
||
in case stack is different, Talkback ID from Firefox 20040413 on Linux: TB19229M.
OS: Windows 2000 → All
Comment 6•21 years ago
|
||
Regarding Talkback: Our current db server is running out of space and we have a
huge backlog of incidents waiting to be processed. A few crashes are being
stored into the db daily, but most of them are stuck in a queue. I know it
sucks, but there isn't much we can do about it until we get our new server and
upgrade the db. We're hoping that will be soon. Sorry!
Comment 7•21 years ago
|
||
So the summary is that something is very wrong.
Details are as follows: We're crashing because PresShell::GetPageSequenceFrame
returns null (or at least something that does not QI to nsIPageSequenceFrame.
What this code does is the following:
1) Get the root frame (viewport)
2) Get its first child (call it X)
3) If X is a nsIScrollableFrame, return the scrolled frame
4) Else, if we have a print preview prescontext, return the first child of X
5) Else, return X
Now for HTML the child of the viewport is _always_ a scrollable frame, so we
follow the step 3 codepath.
For XUL, we don't create scrollbars on the viewport. The child of the viewport
is the RootBoxFrame or PageSequenceFrame, depending on whether we're printing.
When we close print preview here, we hit step 4, and return the first child of
the PageSequenceFrame, which naturally does not QI to nsIPageSequenceFrame,
being a pageframe.
So the first thing I tried doing was eliminating step 4 altogether (since it
seems totally bogus). But if I do that, I crash when going _into_ print preview
on the document in question. At the time of that crash, the frame hierarchy
looks like this:
ViewPortFrame
^
|
ScrollPortFrame
^
|
PageSequenceFrame
which is totally bogus -- there shouldn't be a scrollport frame hanging about
outside a GfxScrollFrame. I assume step 4 was initially added as a workaround
for this bogus frame structure. The question is how it manages to correct
itself by the time we're exiting print preview.... :(
Oh, the caller of GetPageSequenceFrame is nsPrintEngine::ReflowPrintObject,
which naturally does not check the rv (which is NS_OK in error cases anyway) or
the frame (and the best it could do would be to bail, I guess).
So the real problem is this random ScrollPortFrame that just shouldn't be there.
| Reporter | ||
Comment 8•21 years ago
|
||
Boris: with 2004042009/trunk/W2K I'm not longer able to reproduce this crash
with "load page -> Print Preview -> close" sequence.
But this build is crashing after changing anything in Print Preview (background
off -> TB26608, Portrait to Landscape -> TB26606, to 50% -> TB26604; public TB
server has all these stacktraces available, previous incidents are probably gone).
Keywords: talkbackid
I am using 1.7RC1 on Win XP. Print Preview causes immediate closing of the
browser (not e-mail) on all pages tried. Printing works fine, but I can not
print preview at all. This may be a different, but similar bug or the same issue.
H. Beitman
Comment 10•21 years ago
|
||
I've seen the same with Mozilla 1.7RC2 (Mozilla/5.0 (Windows; U; Windows NT 5.1;
en-US; rv:1.7) Gecko/20040514)
TalkBack ID: TB51091X
Comment 11•21 years ago
|
||
Severity: normal → critical
Keywords: helpwanted
Whiteboard: [we don't need talkback data, we need someone to fix this bug see comment 7]
Comment 12•21 years ago
|
||
Adding M17rc2 and [@ 0x00000000 - nsSplittableFrame::RemoveFromFlow] to summary
and topcrash keyword for tracking. I see a few crashes in early Mozilla 1.7 rc2
Talkback data and this has the potential to be topcrash.
Keywords: topcrash
Summary: crash after closing Print Preview of XUL page → M17rc2 crash after closing Print Preview of XUL page [@ 0x00000000 - nsSplittableFrame::RemoveFromFlow]
Comment 13•21 years ago
|
||
Well, I was able to reproduce this with Mozilla 1.7 rc2, but my stack looked
different than the ones posted here. I updated bug 243669 with my crash...but I
think it might be a dup of this one. Steps to reproduce are the same.
If we care about this, then we should disable print and print preview for XUL. I
think there's probably a whole lot of issues with printing XUL and we shouldn't
try to get it working for 1.7.
Comment 15•21 years ago
|
||
Robert O'Callahan wrote:
> If we care about this, then we should disable print and print preview for XUL.
That's no solution - that's only wallpapering over the problem. When you disable
it (again; a while ago the attempt was made to disable XUL printing/print
preview... but later that change was reversed) noone will care fixing the root
of the problem.
We could disable it for 1.7.
Comment 17•21 years ago
|
||
Since Mozilla 1.7 is the next long time stable release and developers are
supposed to use it as basis for their XUL developments it should contain the
ability to print XUL without any crashes.
I'm not a C++ programmer, so I can't say what's the definite problem here and
how long developing of a patch would need. I would prefer to delay Mozilla 1.7
final and bring another 2 or 3 RCs in the hope, that someone is able to find a
working solution for Mozilla 1.7 final. This way developers would also have more
time to work on the 1.8 trunk before branching of 1.8a, which would (at least in
my opinion) not be a bad idea.
Can you explain why it's important for users to be able to print XUL?
Comment 19•21 years ago
|
||
(In reply to comment #18)
> Can you explain why it's important for users to be able to print XUL?
For example if you want to print the error messages in the JavaScript Console.
With XUL-printing you would only have to call
chrome://global/content/console.xul and print it. Without you can either make a
screenshot (which probably doesn't contain all errors on one screen) and print
that or you copy each error, which would need a lot of time.
Another example could be the history. At the moment you have to make a
screenshot of the history and print it in another program. With XUL-printing you
could simply load chrome://communicator/content/history/history.xul and print
that page.
I think that there are even more things (perhaps a preferences dialog or), which
would profit from the ability of printing XUL.
I know, that this is something 99% of all users will never do and perhaps most
users don't even know, that you can open the dialogs directly in the browser
with chrome://...
One can certainly argue if it's really needed, but I would regard it as a useful
feature.
I don't think any of these reasons justify getting XUL printing working on the
branch. We should try to get it working for 1.8 I guess.
Comment 21•21 years ago
|
||
Adding [@ gklayout.dll - nsTreeBoxObject::GetTreeBody] to summary since I'm
crashing under that stack signature closing print preview of
http://www.global-centre.com/interact/forums/xul/
See:
http://talkback-public.mozilla.org/talkback/fastfind.jsp?search=2&type=iid&id=60597
Summary: M17rc2 crash after closing Print Preview of XUL page [@ 0x00000000 - nsSplittableFrame::RemoveFromFlow] → M17rc2 crash after closing Print Preview of XUL page [@ gklayout.dll - nsTreeBoxObject::GetTreeBody] [@ 0x00000000 - nsSplittableFrame::RemoveFromFlow]
Comment 22•21 years ago
|
||
*** Bug 243669 has been marked as a duplicate of this bug. ***
Comment 23•21 years ago
|
||
*** Bug 240484 has been marked as a duplicate of this bug. ***
Comment 24•21 years ago
|
||
(In reply to comment #0)
> 2004041310/trunk/W2K -> TB18570H
> I was able to display Print Preview of XUL page (!) from bug 240484, but
Mozilla
> crashes after Print Preview was closed.
> Repro:
> 1. open http://www.global-centre.com/interact/forums/xul/
> 2. Print Preview
> 3. close
> -> crash
I have this problem too, Mozilla 1.8 Alpha 1. I also have many problems, only
recently of Mozilla crashes. It seems that it gets caught into a loop, where it
crashes every few hours, I reboot, Mozilla stays stable until next crash. It
seems you have a higher chance of crashes if you have several tabs open
(bookmark important tabs often). If you need more info about my errors, I can
post them. I would like to help Mozilla be as stable as MSIE.
Comment 25•21 years ago
|
||
Adding [@ PresShell::`vftable'] to summary since my most recent crash with
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040804
Firefox/0.9.1+ showed that stack signature when closing print preview:
http://talkback-reports.mozilla.org/talkback/quicksearch.jsp?search=2&type=iid&id=484719
Also marking this blocking-aviary1.0+ since many people are able to easily
reproduce this and it has been a topcrasher across many releases.
Flags: blocking-aviary1.0+
Summary: M17rc2 crash after closing Print Preview of XUL page [@ gklayout.dll - nsTreeBoxObject::GetTreeBody] [@ 0x00000000 - nsSplittableFrame::RemoveFromFlow] → M17 FF09x crash after closing Print Preview of XUL page [@ gklayout.dll - nsTreeBoxObject::GetTreeBody] [@ 0x00000000 - nsSplittableFrame::RemoveFromFlow] [@ PresShell::`vftable']
Comment 26•21 years ago
|
||
Definitely still crashing with Firefox 1.0 PR1. We should probably find an
owner for this one if it's going to be looked at for 1.0.
Summary: M17 FF09x crash after closing Print Preview of XUL page [@ gklayout.dll - nsTreeBoxObject::GetTreeBody] [@ 0x00000000 - nsSplittableFrame::RemoveFromFlow] [@ PresShell::`vftable'] → M17x FF10PR1 crash after closing Print Preview of XUL page [@ gklayout.dll - nsTreeBoxObject::GetTreeBody] [@ 0x00000000 - nsSplittableFrame::RemoveFromFlow] [@ PresShell::`vftable']
| Assignee | ||
Comment 28•21 years ago
|
||
I agree with comment 14 that the appropriate branch solution is to back out bug
137526.
| Assignee | ||
Comment 29•21 years ago
|
||
This is basically a backout of bug 137526.
| Assignee | ||
Comment 30•21 years ago
|
||
Comment on attachment 161317 [details] [diff] [review]
disable XUL printing / print preview
bsmedberg, since I'm not sure what the late localization change policy
currently is, you get the review request
Attachment #161317 -
Flags: superreview?(roc)
Attachment #161317 -
Flags: review?(bsmedberg)
| Assignee | ||
Comment 31•21 years ago
|
||
Note that if we don't want the l10n change, the best error to use is probably:
NS_ERROR_NOT_IMPLEMENTED=Some printing functionality is not implemented yet.
| Assignee | ||
Comment 32•21 years ago
|
||
Attachment #161317 -
Flags: superreview?(roc) → superreview+
Comment 33•21 years ago
|
||
I prefer the version without the l10n change at this time... does this display a
generic error dialog to the user?
Comment 34•21 years ago
|
||
Bsmedberg, yes, it does. It displays "Some printing functionality is not
implemented yet"
Can you r=?
Updated•21 years ago
|
Attachment #161318 -
Flags: review+
| Assignee | ||
Updated•21 years ago
|
Attachment #161318 -
Flags: approval1.7.x?
Attachment #161318 -
Flags: approval-aviary?
| Assignee | ||
Updated•21 years ago
|
Attachment #161317 -
Flags: review?(bsmedberg)
Comment 35•21 years ago
|
||
Comment on attachment 161318 [details] [diff] [review]
alternative with no l10n change
a=chofmann for the branches
Attachment #161318 -
Flags: approval1.7.x?
Attachment #161318 -
Flags: approval1.7.x+
Attachment #161318 -
Flags: approval-aviary?
Attachment #161318 -
Flags: approval-aviary+
| Assignee | ||
Comment 36•21 years ago
|
||
Fix checked in to AVIARY_1_0_20040515_BRANCH, 2004-10-09 00:15 -0700.
Fix checked in to MOZILLA_1_7_BRANCH, 2004-10-09 00:16 -0700.
Keywords: fixed-aviary1.0,
fixed1.7
| Assignee | ||
Updated•21 years ago
|
Whiteboard: [we don't need talkback data, we need someone to fix this bug see comment 7] → [we don't need talkback data, we need someone to fix this bug see comment 7][patch]
| Assignee | ||
Updated•21 years ago
|
Whiteboard: [we don't need talkback data, we need someone to fix this bug see comment 7][patch] → [patch][we don't need talkback data, we need someone to fix this bug see comment 7][patch]
Comment 37•21 years ago
|
||
dbaron: It looks like this is checked in everywhere and Asa said the merge with
the Trunk was complete...so is this safe to mark fixed?
| Assignee | ||
Comment 38•21 years ago
|
||
No, nothing has been checked in to the trunk.
Comment 39•21 years ago
|
||
*** Bug 218304 has been marked as a duplicate of this bug. ***
| Assignee | ||
Comment 40•21 years ago
|
||
Fix checked in to trunk, 2004-12-24 14:27 -0800.
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Verified FIXED, because now we don't print preview XUL pages at all anymore.
Build 2005-01-17, Windows XP Seamonkey trunk.
Status: RESOLVED → VERIFIED
Comment 42•21 years ago
|
||
After reading all the comments in this bug, I still don't understand the
justification for checking into trunk a patch designed as wallpaper for the
branch. Can somebody explain?
Comment 43•21 years ago
|
||
Note that this caused bug 275996 because the UI doesn't deal with the exception....
| Assignee | ||
Comment 44•21 years ago
|
||
(In reply to comment #42)
> After reading all the comments in this bug, I still don't understand the
> justification for checking into trunk a patch designed as wallpaper for the
> branch. Can somebody explain?
If somebody (e.g., gisburn) wants to implement XUL printing, it's their
responsibility to make it work before turning it on. They shouldn't just turn
it on and then complain to other people when it crashes.
Updated•16 years ago
|
Whiteboard: [patch][we don't need talkback data, we need someone to fix this bug see comment 7][patch] → [fixed by disabling printing of XUL documents]
Updated•14 years ago
|
Crash Signature: [@ gklayout.dll - nsTreeBoxObject::GetTreeBody]
[@ 0x00000000 - nsSplittableFrame::RemoveFromFlow]
[@ PresShell::`vftable']
You need to log in
before you can comment on or make changes to this bug.
Description
•