Closed Bug 334491 Opened 19 years ago Closed 15 years ago

Crash [@ nsPageBreakFrame::GetDesiredSize] previewing or printing page with more than one page-break-, using PDF Complete pseudo-printer

Categories

(Core :: Layout, defect)

1.8 Branch
x86
All
defect
Not set
critical

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: pellissier, Unassigned)

Details

(Keywords: crash)

Crash Data

Attachments

(1 file, 2 obsolete files)

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2 If you try to print a page with more than one page-break- style in it, FF crash Reproducible: Always Steps to Reproduce: 1.print or preview a html file with more than one style="page-break-after:always" 2. 3. Actual Results: FF crash... Expected Results: FF should take into account the multiple page-break
Attached file html test case (obsolete) —
Attached file CSS file going with the HTML test case (obsolete) —
Could you install Talkback and get a Talkback ID for the crash? http://kb.mozillazine.org/Talkback
Severity: major → critical
Keywords: crash
Version: unspecified → 1.5.0.x Branch
(In reply to comment #3) > Could you install Talkback and get a Talkback ID for the crash? > http://kb.mozillazine.org/Talkback > Here is the Talkback ID : TB17694485Y
Component: General → Layout
Product: Firefox → Core
QA Contact: general → layout
Summary: FF crash while previewing or printing if more than one page-break- → Crash [@ nsPageBreakFrame::GetDesiredSize] previewing or printing page with more than one page-break-
Version: 1.5.0.x Branch → 1.8 Branch
Are you sure you attached the right stylesheet? The selectors in the CSS file you attached doesn't appear to match anything in the HTML file you attached. Also, it would be easier to test from Bugzilla if the testcase were all one file (use <style>...</style> to include CSS instead of <link href="..."> referencing another file).
aDesiredSize.height -= aDesiredSize.height % onePixel; So onePixel is zero, apparently. To get one pixel we used: nscoord onePixel = aPresContext->IntScaledPixelsToTwips(1); IntScaledPixelsToTwips boils down to multiplying two numbers: the size it's passed and whatever nsPresContext::ScaledPixelToTwips() returns. I think it's the latter that's ending up to be zero somehow... Incident ID: 17694485 Stack Signature nsPageBreakFrame::GetDesiredSize 63f7ba7f Product ID Firefox15 Build ID 2006030804 Trigger Time 2006-04-18 08:44:20.0 Platform Win32 Operating System Windows NT 5.1 build 2600 Module firefox.exe + (002512b0) URL visited User Comments Trying to preview a web page with more than one page-break- style Since Last Crash 7652 sec Total Uptime 39799 sec Trigger Reason Integer divide by zero Source File, Line No. c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsPageFrame.cpp, line 737 Stack Trace nsPageBreakFrame::GetDesiredSize [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsPageFrame.cpp, line 737] nsBlockReflowContext::ReflowBlock [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsBlockReflowContext.cpp, line 606] nsBlockFrame::ReflowBlockFrame [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsBlockFrame.cpp, line 3449] nsBlockFrame::ReflowLine [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsBlockFrame.cpp, line 2610] nsBlockFrame::ReflowDirtyLines [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsBlockFrame.cpp, line 2263] nsBlockFrame::Reflow [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsBlockFrame.cpp, line 904] nsBlockReflowContext::ReflowBlock [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsBlockReflowContext.cpp, line 606] nsBlockFrame::ReflowBlockFrame [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsBlockFrame.cpp, line 3449] nsBlockFrame::ReflowLine [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsBlockFrame.cpp, line 2610] nsBlockFrame::ReflowDirtyLines [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsBlockFrame.cpp, line 2263] nsBlockFrame::Reflow [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsBlockFrame.cpp, line 904] nsContainerFrame::ReflowChild [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsContainerFrame.cpp, line 905] nsPageContentFrame::Reflow [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsPageContentFrame.cpp, line 103] nsContainerFrame::ReflowChild [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsContainerFrame.cpp, line 905] nsPageFrame::Reflow [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsPageFrame.cpp, line 210] nsContainerFrame::ReflowChild [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsContainerFrame.cpp, line 905] nsSimplePageSequenceFrame::Reflow [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsSimplePageSequence.cpp, line 405] nsContainerFrame::ReflowChild [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsContainerFrame.cpp, line 905] nsHTMLScrollFrame::ReflowScrolledFrame [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsGfxScrollFrame.cpp, line 523] nsHTMLScrollFrame::ReflowContents [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsGfxScrollFrame.cpp, line 571] nsHTMLScrollFrame::Reflow [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsGfxScrollFrame.cpp, line 769] nsContainerFrame::ReflowChild [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsContainerFrame.cpp, line 905] ViewportFrame::Reflow [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/generic/nsViewportFrame.cpp, line 240] PresShell::InitialReflow [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/base/nsPresShell.cpp, line 2866] nsPrintEngine::ReflowPrintObject [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/printing/nsPrintEngine.cpp, line 2730] nsPrintEngine::ReflowDocList [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/printing/nsPrintEngine.cpp, line 2498] nsPrintEngine::SetupToPrintContent [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/printing/nsPrintEngine.cpp, line 2308] nsPrintEngine::DocumentReadyForPrinting [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/printing/nsPrintEngine.cpp, line 2134] DocumentViewerImpl::PrintPreview [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/layout/base/nsDocumentViewer.cpp, line 3418] XPTC_InvokeByIndex [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/xpcom/reflect/xptcall/src/md/win32/xptcinvoke.cpp, line 102] XPCWrappedNative::CallMethod [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/js/src/xpconnect/src/xpcwrappednative.cpp, line 2152] XPC_WN_CallMethod [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/js/src/xpconnect/src/xpcwrappednativejsops.cpp, line 1444] js_Invoke [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/js/src/jsinterp.c, line 1177] js_InternalInvoke [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/js/src/jsinterp.c, line 1274] JS_CallFunctionValue [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/js/src/jsapi.c, line 4171] XPC_NW_FunctionWrapper [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/js/src/xpconnect/src/XPCNativeWrapper.cpp, line 375] js_Invoke [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/js/src/jsinterp.c, line 1177] js_Interpret [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/js/src/jsinterp.c, line 3562] js_Invoke [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/js/src/jsinterp.c, line 1197] js_InternalInvoke [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/js/src/jsinterp.c, line 1274] JS_CallFunctionValue [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/js/src/jsapi.c, line 4171] nsJSContext::CallEventHandler [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/dom/src/base/nsJSEnvironment.cpp, line 1411] nsGlobalWindow::RunTimeout [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/dom/src/base/nsGlobalWindow.cpp, line 6360] nsGlobalWindow::TimerCallback [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/dom/src/base/nsGlobalWindow.cpp, line 6723] nsAppStartup::Run [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/toolkit/components/startup/src/nsAppStartup.cpp, line 151] main [c:/builds/tinderbox/Fx-Mozilla1.8.0/WINNT_5.2_Depend/mozilla/browser/app/nsBrowserApp.cpp, line 61] kernel32.dll + 0x16d4f (0x7c816d4f)
Attachment #218818 - Attachment is obsolete: true
Attachment #218819 - Attachment is obsolete: true
After testing at home, it appears the problem comes from the "pdfcomplete" (http://www.pdfcomplete.com/) pseudo-printer. Removing it, FF don't crash anymore... I change the resolution to invalid...
Status: UNCONFIRMED → RESOLVED
Closed: 19 years ago
Resolution: --- → INVALID
This might be a valid bug in Firefox even if it only occurs with a specific (pseudo)printer. It's Firefox code that's dividing by zero.
Summary: Crash [@ nsPageBreakFrame::GetDesiredSize] previewing or printing page with more than one page-break- → Crash [@ nsPageBreakFrame::GetDesiredSize] previewing or printing page with more than one page-break-, using PDF Complete pseudo-printer
Status: RESOLVED → UNCONFIRMED
Resolution: INVALID → ---
This bug has been reported on Linux (Epiphany) too: http://bugzilla.gnome.org/show_bug.cgi?id=415913 Any objections to marking it NEW?
OS: Windows XP → All
ping?
CCing fantasai, who has been working on page-break and printing bugs lately.
Can you reproduce with Firefox v2.0.0.14 ?
Is this still an issue in Firefox 3.5? If it is not, we should set the resolution of the bug to WORKSFORME.
nsPageBreakFrame::GetDesiredSize is no more, and a MXR search for "% onePixel" only shows hits in MathML code. So I guess the crashing code was rewritten.
Status: UNCONFIRMED → RESOLVED
Closed: 19 years ago15 years ago
Resolution: --- → WORKSFORME
Crash Signature: [@ nsPageBreakFrame::GetDesiredSize]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: