Closed Bug 267433 Opened 20 years ago Closed 18 years ago

crash / freeze generating print preview

Categories

(Core :: Print Preview, defect)

x86
Windows 2000
defect
Not set
major

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: syskin2, Unassigned)

References

()

Details

(Keywords: crash, testcase)

Attachments

(2 files, 1 obsolete file)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.3) Gecko/20041026 Firefox/1.0RC1
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.3) Gecko/20041026 Firefox/1.0RC1

As first found by runab0ut here:
http://forums.mozillazine.org/viewtopic.php?t=154518

A website causes a freeze when generating print preview.
I've made a testcase based on that website.

Reproducible: Always
Steps to Reproduce:
1. Open my testcase, attached below.
2. Enter print preview

Actual Results:  
Freeze, you can only kill firefox (I haven't tried on Seamonkey)

Expected Results:  
Working, maybe a bit boring, print preview should open.

All the <p>s at the beginning are most likely needed to push the real broken
element (either form or final div) to the right spot. *Perhaps* the <form> is
not needed either, and some extra <p>s would achive the same thing.

I'm using A4 paper size - perhaps with differen paper size, different number of
<p>s is needed to put the broken element (whichever that is) the the right spot.
Attached file minimum testcase
Based on the website in URL field
Keywords: testcase
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.3)
Gecko/20041031 Firefox/1.0RC2
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.3)
Gecko/20041031 Firefox/1.0RC2

WFM in 31st Oct nightly.

Could you test this bug in the latest nightly?
(In reply to comment #2)
> Could you test this bug in the latest nightly?

Sure. Still breaks with Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US;
rv:1.7.5) Gecko/20041102 Firefox/1.0RC2 (zip) + new profile

If it works for you, is it A4 paper size?
No hang, but i get a crash with this testcase:
nsLineBox::IsEmpty(const nsLineBox * const 0x02cd9f04) line 285
nsBlockFrame::PlaceLine(nsBlockFrame * const 0x02cd9f04, nsBlockReflowState &
{...}, nsLineLayout & {...}, nsLineList_iterator {...}, int * 0x0012d6f4, int
0x00000000) line 4151 + 7 bytes
nsBlockFrame::DoReflowInlineFrames(nsBlockFrame * const 0x02cd9f04,
nsBlockReflowState & {...}, nsLineLayout & {...}, nsLineList_iterator {...}, int
* 0x0012d6f4, unsigned char * 0x0012d5cb, int 0x00000000, int 0x00000000) line
3654 + 19 bytes
nsBlockFrame::ReflowInlineFrames(nsBlockFrame * const 0x02cd9f04,
nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x0212d6f4, int
0x00000000, int 0x00000000) line 3456
nsBlockFrame::ReflowLine(nsBlockFrame * const 0x02cd9f04, nsBlockReflowState &
{...}, nsLineList_iterator {...}, int * 0x0012d6f4, int 0x00000000) line 2574
nsBlockFrame::ReflowDirtyLines(nsBlockFrame * const 0x02cd9f04,
nsBlockReflowState & {...}) line 2112
nsBlockFrame::Reflow(nsBlockFrame * const 0x00000000, nsPresContext *
0x0486f510, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...},
unsigned int & 0x00000000) line 828
nsBlockReflowContext::ReflowBlock(nsBlockReflowContext * const 0x02cd9f04, const
nsRect & {...}, int 0x0012dae8, nsCollapsingMargin & {...}, int 0x00000000,
nsMargin & {...}, nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 544
nsBlockFrame::ReflowFloat(nsBlockFrame * const 0x02cd9f04, nsBlockReflowState &
{...}, nsPlaceholderFrame * 0x02d5ddfc, nsFloatCache * 0x047482d8, unsigned int
& 0x00000000) line 5259 + 55 bytes
nsBlockReflowState::FlowAndPlaceFloat(nsBlockReflowState * const 0x02cd9f04,
nsFloatCache * 0x047482d8, int * 0x0012dcc8, unsigned int & 0x00000000) line 868
nsBlockReflowState::AddFloat(nsBlockReflowState * const 0x02cd9f04, nsLineLayout
& {...}, nsPlaceholderFrame * 0x02d5ddfc, int 0x00000000, unsigned int &
0x00000000) line 672
nsLineLayout::ReflowFrame(nsLineLayout * const 0x02cd9f04, nsIFrame *
0x02d5ddfc, unsigned int & 0x00000000, nsHTMLReflowMetrics * 0x00000000, int &
0x00000000) line 1024
nsBlockFrame::ReflowInlineFrame(nsBlockFrame * const 0x02cd9f04,
nsBlockReflowState & {...}, nsLineLayout & {...}, nsLineList_iterator {...},
nsIFrame * 0x00000000, unsigned char * 0x0012de97) line 3876 + 29 bytes
nsBlockFrame::DoReflowInlineFrames(nsBlockFrame * const 0x02cd9f04,
nsBlockReflowState & {...}, nsLineLayout & {...}, nsLineList_iterator {...}, int
* 0x0012e088, unsigned char * 0x0012df5f, int 0x00000000, int 0x00000000) line 3567
nsBlockFrame::ReflowInlineFrames(nsBlockFrame * const 0x02cd9f04,
nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x0212e088, int
0x00000000, int 0x00000000) line 3456
nsBlockFrame::ReflowLine(nsBlockFrame * const 0x02cd9f04, nsBlockReflowState &
{...}, nsLineList_iterator {...}, int * 0x0012e088, int 0x00000000) line 2574
nsBlockFrame::ReflowDirtyLines(nsBlockFrame * const 0x02cd9f04,
nsBlockReflowState & {...}) line 2112
nsBlockFrame::Reflow(nsBlockFrame * const 0x00000000, nsPresContext *
0x0486f510, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...},
unsigned int & 0x00000000) line 828
nsBlockReflowContext::ReflowBlock(nsBlockReflowContext * const 0x02cd9f04, const
nsRect & {...}, int 0x0012e4c8, nsCollapsingMargin & {...}, int 0x00000001,
nsMargin & {...}, nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 544
nsBlockFrame::ReflowBlockFrame(nsBlockFrame * const 0x02cd9f04,
nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x0012e6bc) line
3203 + 52 bytes
nsBlockFrame::ReflowLine(nsBlockFrame * const 0x02cd9f04, nsBlockReflowState &
{...}, nsLineList_iterator {...}, int * 0x0012e6bc, int 0x00000000) line 2455 +
13 bytes
nsBlockFrame::ReflowDirtyLines(nsBlockFrame * const 0x02cd9f04,
nsBlockReflowState & {...}) line 2112
nsBlockFrame::Reflow(nsBlockFrame * const 0x00000000, nsPresContext *
0x0486f510, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...},
unsigned int & 0x00000000) line 828
nsContainerFrame::ReflowChild(nsContainerFrame * const 0x02cd9f04, nsIFrame *
0x02cd9db0, nsPresContext * 0x0486f510, nsHTMLReflowMetrics & {...}, const
nsHTMLReflowState & {...}, int 0x00000000, int 0x00000000, unsigned int
0x00000000, unsigned int & 0x00000000) line 989
nsPageContentFrame::Reflow(nsPageContentFrame * const 0x02cd9b90, nsPresContext
* 0x0486f510, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...},
unsigned int & 0x00000000) line 105
nsContainerFrame::ReflowChild(nsContainerFrame * const 0x02cd9f04, nsIFrame *
0x02cd9b90, nsPresContext * 0x0486f510, nsHTMLReflowMetrics & {...}, const
nsHTMLReflowState & {...}, int 0x00000492, int 0x00000492, unsigned int
0x00000000, unsigned int & 0x00000000) line 989
nsPageFrame::Reflow(nsPageFrame * const 0x02cd9b90, nsPresContext * 0x0486f510,
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int &
0x00000000) line 210
nsContainerFrame::ReflowChild(nsContainerFrame * const 0x02cd9f04, nsIFrame *
0x02cd9b28, nsPresContext * 0x0486f510, nsHTMLReflowMetrics & {...}, const
nsHTMLReflowState & {...}, int 0x00000168, int 0x00004859, unsigned int
0x00000000, unsigned int & 0x00000000) line 989
nsSimplePageSequenceFrame::Reflow(nsSimplePageSequenceFrame * const 0x00000018,
nsPresContext * 0x0486f510, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState
& {...}, unsigned int & 0x00000000) line 411
nsFrame::BoxReflow(nsFrame * const 0x02cd9f04, nsBoxLayoutState & {...},
nsPresContext * 0x0486f510, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState
& {...}, unsigned int & 0x00000000, int 0x00000000, int 0x00000000, int
0x00002e85, int 0x000041c9, int 0x00000001) line 5261
nsFrame::DoLayout(nsFrame * const 0x03f0df84, nsBoxLayoutState & {...}) line 5001
nsIFrame::Layout(nsIFrame * const 0x02cd9f04, nsBoxLayoutState & {...}) line 799
nsScrollBoxFrame::DoLayout(nsScrollBoxFrame * const 0x03f0df84, nsBoxLayoutState
& {...}) line 339
nsIFrame::Layout(nsIFrame * const 0x02cd9f04, nsBoxLayoutState & {...}) line 799
nsBoxFrame::LayoutChildAt(nsBoxLayoutState & {...}, nsIFrame * 0x03f0e280, const
nsRect & {...}) line 2689 + 8 bytes
nsGfxScrollFrameInner::LayoutBox(nsGfxScrollFrameInner * const 0x02cd9f04,
nsBoxLayoutState & {...}, nsIFrame * 0x03f0e280, const nsRect & {...}) line 1668
+ 17 bytes
nsGfxScrollFrameInner::Layout(nsGfxScrollFrameInner * const 0x02cd9f04,
nsBoxLayoutState & {...}) line 1811
nsXULScrollFrame::DoLayout(nsXULScrollFrame * const 0x03f0e150, nsBoxLayoutState
& {...}) line 1081
nsIFrame::Layout(nsIFrame * const 0x02cd9f04, nsBoxLayoutState & {...}) line 799
nsBoxFrame::Reflow(nsBoxFrame * const 0x03f0e150, nsPresContext * 0x0486f510,
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int &
0x00000000) line 854
nsXULScrollFrame::Reflow(nsXULScrollFrame * const 0x03f0e150, nsPresContext *
0x0486f510, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...},
unsigned int & 0x00000000) line 1036
nsContainerFrame::ReflowChild(nsContainerFrame * const 0x02cd9f04, nsIFrame *
0x03f0e150, nsPresContext * 0x0486f510, nsHTMLReflowMetrics & {...}, const
nsHTMLReflowState & {...}, int 0x00000000, int 0x00000000, unsigned int
0x00000000, unsigned int & 0x00000000) line 989
ViewportFrame::Reflow(ViewportFrame * const 0x03f0de88, nsPresContext *
0x0486f510, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...},
unsigned int & 0x00000000) line 249
PresShell::InitialReflow(PresShell * const 0x03f0de88, int 0x04325468, int
0x00000000) line 2761
nsPrintEngine::ReflowPrintObject(nsPrintEngine * const 0x02cd9f04, nsPrintObject
* 0x00000000, int 0x00000001) line 2764
nsPrintEngine::ReflowDocList(nsPrintEngine * const 0x02cd9f04, nsPrintObject *
0x02f83bd0, int 0x00000000, int 0x00000001) line 2531 + 11 bytes
nsPrintEngine::SetupToPrintContent(nsPrintEngine * const 0x02cd9f04,
nsIDeviceContext * 0x0289ecd0, nsIDOMWindow * 0x00000000) line 2342
nsPrintEngine::DocumentReadyForPrinting(nsPrintEngine * const 0x02cd9f04) line
2155 + 18 bytes
(In reply to comment #3)
> (In reply to comment #2)
> > Could you test this bug in the latest nightly?
> 
> Sure. Still breaks with Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US;
> rv:1.7.5) Gecko/20041102 Firefox/1.0RC2 (zip) + new profile
> 
> If it works for you, is it A4 paper size?

A4 size paper (by default) works for me.

What are your File | Page Setup options set to?
(In reply to comment #5)
> What are your File | Page Setup options set to?

I don't think I changed much. Portrait orientation - it's WFM with Landscape.
Shring to fit on - if I disable it, I get a hang at 90% scale setting and WFM at
any other setting from the dropdown.
Margins default 12.7 mm everywhere (oh wait, now it says 11.9mm for top
margin... I think it's a bit random). Headers and footers default.
(In reply to comment #6)
> I don't think I changed much. Portrait orientation - it's WFM with Landscape.
> Shring to fit on - if I disable it, I get a hang at 90% scale setting and WFM at
> any other setting from the dropdown.
> Margins default 12.7 mm everywhere (oh wait, now it says 11.9mm for top
> margin... I think it's a bit random). Headers and footers default.

Test case WFM, but I can confirm a freeze on print preview on url
http://www.stuffandnonsense.co.uk/archives/web_design_depth_of_field.html as
mentioned in the mozillazine thread.
Testcase crashed the following ua for me. Also, my printer is set to use letter.
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8a5) Gecko/20041103
Test case will always crash the sys, must be the CSS
I get a crash too, because a line box is confused about the number of kids it
has...  That happens sometimes with printing...

Could someone actually minimize the testcase please?  I have a hard time
believing all that CSS is required, for example.  With a minimal testcase, I may
be able to look into what's going on.
Attached file More minimal testcase (obsolete) —
Note this produces a different stacktrace than the first testcase.
Attached file Even more minimal
Note it seems to matter what margins you have set in page setup, i have 12.7 mm
for all four margins. If i lower the buttom margin, it doesn't crash.
Attachment #165830 - Attachment is obsolete: true
minmal testcase WFM Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1)
Gecko/20050902 Firefox/1.6a1


however, failed on 20050816.  (I don't see any obvious fixed bugs)

Stack Signature	 firefox.exe + 0x110868 (0x00510868) bd96285b
Product ID	FirefoxTrunk
Build ID	2005081607
Trigger Time	2005-09-02 12:59:04.0
Platform	Win32
Operating System	Windows NT 5.1 build 2600
Module	firefox.exe + (00110868)
URL visited	http://www.pcmag.com/article2/0,1759,1937,00.asp
User Comments	testing bug 267433 minimal test case
Since Last Crash	30 sec
Total Uptime	95749 sec
Trigger Reason	Access violation
Source File, Line No.	N/A
Stack Trace 	
firefox.exe + 0x110868 (0x00510868)
firefox.exe + 0x10e24f (0x0050e24f)
firefox.exe + 0x109aad (0x00509aad)
USER32.dll + 0x8734 (0x77d48734)
USER32.dll + 0x8816 (0x77d48816)
USER32.dll + 0x89cd (0x77d489cd)
USER32.dll + 0x8a10 (0x77d48a10)
firefox.exe + 0x1153d2 (0x005153d2)
firefox.exe + 0x3f0d29 (0x007f0d29)
firefox.exe + 0x1012 (0x00401012)
kernel32.dll + 0x16d4f (0x7c816d4f)
Summary: freeze generating print preview → crash / freeze generating print preview
with testcase https://bugzilla.mozilla.org/attachment.cgi?id=165836
crash after clicking CLOSE - w2k Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US;
rv:1.9a1) Gecko/20050907 Firefox/1.6a1 (paper size=letter)

steps used to reproduce:
1. print preview
2. close

Note: did NOT change paper size, did not crash upon entry to preview.

reproduceable - one time out of 5

TB9727695E

Stack Signature	 firefox.exe + 0x21defc (0x0061defc) be778cc6
Product ID	FirefoxTrunk
Build ID	2005090707
Trigger Time	2005-09-25 15:08:30.0
Platform	Win32
Operating System	Windows NT 5.0 build 2195
Module	firefox.exe + (0021defc)
URL visited	
User Comments	testcase https://bugzilla.mozilla.org/attachment.cgi?id=164367 for
bug 267433 on w2k s/vseerror
Since Last Crash	713875 sec
Total Uptime	713875 sec
Trigger Reason	Access violation
Source File, Line No.	N/A
Stack Trace 	
firefox.exe + 0x21defc (0x0061defc)
firefox.exe + 0x21de3f (0x0061de3f)
firefox.exe + 0x19b841 (0x0059b841)
firefox.exe + 0x19a975 (0x0059a975)
firefox.exe + 0x26302f (0x0066302f)
firefox.exe + 0x1961d6 (0x005961d6)
firefox.exe + 0x195bef (0x00595bef)
firefox.exe + 0x1e5d4d (0x005e5d4d)
firefox.exe + 0x1e50af (0x005e50af)
firefox.exe + 0x21e9a2 (0x0061e9a2)
firefox.exe + 0x106a5f (0x00506a5f)
firefox.exe + 0x10b168 (0x0050b168)
firefox.exe + 0x10b5da (0x0050b5da)
firefox.exe + 0x106e1c (0x00506e1c)
USER32.dll + 0x3158f (0x77e4158f)
USER32.dll + 0x31dc9 (0x77e41dc9)
USER32.dll + 0x31e7e (0x77e41e7e)
firefox.exe + 0x3fa0f2 (0x007fa0f2)
firefox.exe + 0x1012 (0x00401012)
KERNEL32.dll + 0x28989 (0x7c598989)

------------------
but WFM XP Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1)
Gecko/20050908 Firefox/1.6a1 (A4 and letter)
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: crash
Print preview on www.myrxhealth.com (haven't tried other sites), running Windows ME (sorry!) [just clean reinstalled OS] and using Firefox 1.0.7 (brand new installation).  Have not tried on other web pages because completely freezes, have to Ctrl-Alt-Delete.  Does not happen on same web page on Firefox 1.0.3 running under Windows XP on same home network/ISP.
URL and testcases all WFM using Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20060602 Minefield/3.0a1 ID:2006060204 [cairo]
Should this bug be closed?
I don't know whether this issue has anything to do with it, but Firefox (2.0b1 under Windows 2000) stops responding when there are too many pages in a document.

E.g. I go to the page <http://samuel-beckett.net/Waiting_for_Godot_Part1.html> and click "File -> Print Preview". There are 45 pages in the document (I checked using IE's Print Preview feature). I got bored after waiting for hours for the preview to appear (somehow IE seems to be much quicker here) and decided to go back to the web page I was viewing. The "X" on the Print Preview box had taken over the "X" on the browser, i.e. the browser window's "X" failed to respond. I clicked Print Preview's "X" and a "firefox.exe Not Responding" window appeared. This shouldn't happen.
(In reply to comment #18)
> I don't know whether this issue has anything to do with it, but Firefox (2.0b1
> under Windows 2000) stops responding when there are too many pages in a
> document.
> 
> E.g. I go to the page <http://samuel-beckett.net/Waiting_for_Godot_Part1.html>
> and click "File -> Print Preview"

Alex, 
Have you tried the test cases for this bug?
The URL you cite is bug 238177 comment 6, and perhaps a different issue.
Don't ask me, I don't know what to do with test cases!
OK, I tried all attached testcases, apart from comment 4 (it didn't seem to make sense). All WFM when I tried Print Preview. As for paper size, there doesn't seem to be an option for that any more in File -> Page Setup. Isn't that set by the printer driver, anyway?
UA STRING: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-GB; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
With neither 2.0 branch nor trunk crashing, I suppose I have no choice but to close this bug.

If someone can get talkback with either of them, yell loudly.
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: