Closed Bug 241163 Opened 21 years ago Closed 21 years ago

Opening print preview on page with iframe goes into infinite loop

Categories

(Core :: Print Preview, defect)

defect
Not set
critical

Tracking

()

VERIFIED DUPLICATE of bug 230417

People

(Reporter: bzbarsky, Unassigned)

References

()

Details

BUILD: cvs Linux build from 4/16/2004, but bc says it happens with 1.7 branch build on Windows as well. STEPS TO REPRODUCE: 1) Load page in URL field 2) File > Print Preview EXPECTED RESULTS: See preview ACTUAL RESULTS: Hang ADDITIONAL INFORMATION: In a debug build, I get oodles of: ###!!! ASSERTION: aContent2 must not be null: 'aContent2', file /home/bzbarsky/mozilla/xlib/mozilla/layout/base/src/nsLayoutUtils.cpp, line 227 followed by: Block(dt)(9)@0x8921724: yikes! spinning on a line over 1000 times! Abort Program received signal SIGABRT, Aborted. (this is the abort in the |while (LINE_REFLOW_REDO == lineReflowStatus)| loop in nsBlockFrame::ReflowInlineFrames).
Blocks: 239795
Seems related to something I worked on before. See http://bugzilla.mozilla.org/show_bug.cgi?id=234062#c3.
in my moz 1.7/winxp debug build from yesterday i get ###!!! ASSERTION: aContent1 must not be null: 'aContent1', file c:/work/mozilla_ source/1.7/mozilla/layout/base/src/nsLayoutUtils.cpp, line 222 ###!!! ASSERTION: aContent2 must not be null: 'aContent2', file c:/work/mozilla_ source/1.7/mozilla/layout/base/src/nsLayoutUtils.cpp, line 223 repeated ad nauseum then Block(dt)(21)@04B5F3D8: yikes! spinning on a line over 1000 times! Abort followed by crash with stack nsDebugImpl::Abort(nsDebugImpl * const 0x002e6d28, const char * 0x01266600, int 3274) line 373 + 3 bytes nsDebug::Abort(const char * 0x01266600, int 3274) line 84 nsBlockFrame::ReflowInlineFrames(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x00128404, int 0, int 0) line 3274 + 16 bytes nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x00128404, int 0) line 2429 + 33 bytes nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2085 + 31 bytes nsBlockFrame::Reflow(nsBlockFrame * const 0x04b5f3d8, nsIPresContext * 0x04beb068, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 803 + 15 bytes nsBlockReflowContext::ReflowBlock(const nsRect & {...}, int 1, nsCollapsingMargin & {...}, int 0, nsMargin & {...}, nsHTMLReflowState & {...}, unsigned int & 0) line 546 + 42 bytes nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x00128f60) line 3042 + 56 bytes nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x00128f60, int 0) line 2300 + 27 bytes nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2085 + 31 bytes nsBlockFrame::Reflow(nsBlockFrame * const 0x04c10574, nsIPresContext * 0x04beb068, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 803 + 15 bytes nsBlockReflowContext::ReflowBlock(const nsRect & {...}, int 0, nsCollapsingMargin & {...}, int 1, nsMargin & {...}, nsHTMLReflowState & {...}, unsigned int & 0) line 546 + 42 bytes nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x00129abc) line 3042 + 56 bytes nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x00129abc, int 0) line 2300 + 27 bytes nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2085 + 31 bytes nsBlockFrame::Reflow(nsBlockFrame * const 0x04c105f8, nsIPresContext * 0x04beb068, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 803 + 15 bytes nsBlockReflowContext::ReflowBlock(const nsRect & {...}, int 0, nsCollapsingMargin & {...}, int 1, nsMargin & {...}, nsHTMLReflowState & {...}, unsigned int & 0) line 546 + 42 bytes nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x0012a618) line 3042 + 56 bytes nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x0012a618, int 0) line 2300 + 27 bytes nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2085 + 31 bytes nsBlockFrame::Reflow(nsBlockFrame * const 0x04c1067c, nsIPresContext * 0x04beb068, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 803 + 15 bytes nsBlockReflowContext::ReflowBlock(const nsRect & {...}, int 0, nsCollapsingMargin & {...}, int 1, nsMargin & {...}, nsHTMLReflowState & {...}, unsigned int & 0) line 546 + 42 bytes nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x0012b174) line 3042 + 56 bytes nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x0012b174, int 0) line 2300 + 27 bytes nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2085 + 31 bytes nsBlockFrame::Reflow(nsBlockFrame * const 0x04c10700, nsIPresContext * 0x04beb068, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 803 + 15 bytes nsBlockReflowContext::ReflowBlock(const nsRect & {...}, int 0, nsCollapsingMargin & {...}, int 1, nsMargin & {...}, nsHTMLReflowState & {...}, unsigned int & 0) line 546 + 42 bytes nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x0012bcd0) line 3042 + 56 bytes nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x0012bcd0, int 0) line 2300 + 27 bytes nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2085 + 31 bytes nsBlockFrame::Reflow(nsBlockFrame * const 0x04c10784, nsIPresContext * 0x04beb068, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 803 + 15 bytes nsBlockReflowContext::ReflowBlock(const nsRect & {...}, int 0, nsCollapsingMargin & {...}, int 1, nsMargin & {...}, nsHTMLReflowState & {...}, unsigned int & 0) line 546 + 42 bytes nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x0012c82c) line 3042 + 56 bytes nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x0012c82c, int 0) line 2300 + 27 bytes nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2085 + 31 bytes nsBlockFrame::Reflow(nsBlockFrame * const 0x04c10808, nsIPresContext * 0x04beb068, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 803 + 15 bytes nsBlockReflowContext::ReflowBlock(const nsRect & {...}, int 0, nsCollapsingMargin & {...}, int 1, nsMargin & {...}, nsHTMLReflowState & {...}, unsigned int & 0) line 546 + 42 bytes nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x0012d388) line 3042 + 56 bytes nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x0012d388, int 0) line 2300 + 27 bytes nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2085 + 31 bytes nsBlockFrame::Reflow(nsBlockFrame * const 0x04c1094c, nsIPresContext * 0x04beb068, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 803 + 15 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x04c1094c, nsIPresContext * 0x04beb068, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0, int 0, unsigned int 0, unsigned int & 0) line 938 + 31 bytes nsPageContentFrame::Reflow(nsPageContentFrame * const 0x04c108f8, nsIPresContext * 0x04beb068, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 100 nsContainerFrame::ReflowChild(nsIFrame * 0x04c108f8, nsIPresContext * 0x04beb068, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0, int 0, unsigned int 0, unsigned int & 0) line 938 + 31 bytes nsPageFrame::Reflow(nsPageFrame * const 0x04c1088c, nsIPresContext * 0x04beb068, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 214 nsContainerFrame::ReflowChild(nsIFrame * 0x04c1088c, nsIPresContext * 0x04beb068, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0, int 130200, unsigned int 0, unsigned int & 0) line 938 + 31 bytes nsSimplePageSequenceFrame::Reflow(nsSimplePageSequenceFrame * const 0x049a2838, nsIPresContext * 0x04beb068, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 429 nsBoxToBlockAdaptor::Reflow(nsBoxLayoutState & {...}, nsIPresContext * 0x04beb068, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0, int 0, int 0, int 1500, int 1500, int 1) line 880 nsBoxToBlockAdaptor::DoLayout(nsBoxToBlockAdaptor * const 0x049a2bac, nsBoxLayoutState & {...}) line 626 + 46 bytes nsBox::Layout(nsBox * const 0x049a2bac, nsBoxLayoutState & {...}) line 994 nsScrollBoxFrame::DoLayout(nsScrollBoxFrame * const 0x049a29bc, nsBoxLayoutState & {...}) line 337 nsBox::Layout(nsBox * const 0x049a29bc, nsBoxLayoutState & {...}) line 994 nsBoxFrame::Reflow(nsBoxFrame * const 0x049a2984, nsIPresContext * 0x04beb068, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 868 nsContainerFrame::ReflowChild(nsIFrame * 0x049a2984, nsIPresContext * 0x04beb068, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0, int 0, unsigned int 0, unsigned int & 0) line 938 + 31 bytes ViewportFrame::Reflow(ViewportFrame * const 0x049a2734, nsIPresContext * 0x04beb068, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 248 + 43 bytes PresShell::InitialReflow(PresShell * const 0x04bfa7c0, int 1500, int 1500) line 2827 nsPrintEngine::ReflowPrintObject(nsPrintObject * 0x03cfbc60, int 1) line 2795 + 43 bytes nsPrintEngine::ReflowDocList(nsPrintObject * 0x03cfbc60, int 0, int 1) line 2553 + 16 bytes nsPrintEngine::ReflowDocList(nsPrintObject * 0x03cfbb30, int 0, int 1) line 2564 + 33 bytes nsPrintEngine::SetupToPrintContent(nsIDeviceContext * 0x02fbe628, nsIDOMWindow * 0x00000000) line 2362 + 32 bytes nsPrintEngine::DocumentReadyForPrinting() line 2177 + 38 bytes nsPrintEngine::FinishPrintPreview() line 4474 + 8 bytes nsPrintEngine::PrintPreview(nsPrintEngine * const 0x049a47e8, nsIPrintSettings * 0x049f3400, nsIDOMWindow * 0x00000000, nsIWebProgressListener * 0x04b488d4) line 1258 + 8 bytes DocumentViewerImpl::PrintPreview(DocumentViewerImpl * const 0x02a87228, nsIPrintSettings * 0x049f3400, nsIDOMWindow * 0x00000000, nsIWebProgressListener * 0x04b488d4) line 3198 + 30 bytes XPTC_InvokeByIndex(nsISupports * 0x02a87228, unsigned int 14, unsigned int 3, nsXPTCVariant * 0x0012edc0) line 102 XPCWrappedNative::CallMethod(XPCCallContext & {...}, XPCWrappedNative::CallMode CALL_METHOD) line 2027 + 43 bytes XPC_WN_CallMethod(JSContext * 0x02a0ca50, JSObject * 0x02f6cd10, unsigned int 3, long * 0x04b5b760, long * 0x0012f088) line 1287 + 14 bytes js_Invoke(JSContext * 0x02a0ca50, unsigned int 3, unsigned int 0) line 941 + 23 bytes js_Interpret(JSContext * 0x02a0ca50, long * 0x0012f9c8) line 2963 + 15 bytes js_Invoke(JSContext * 0x02a0ca50, unsigned int 1, unsigned int 2) line 958 + 13 bytes js_InternalInvoke(JSContext * 0x02a0ca50, JSObject * 0x009aafb8, long 45304344, unsigned int 0, unsigned int 1, long * 0x03147cb0, long * 0x0012fb60) line 1035 + 20 bytes JS_CallFunctionValue(JSContext * 0x02a0ca50, JSObject * 0x009aafb8, long 45304344, unsigned int 1, long * 0x03147cb0, long * 0x0012fb60) line 3607 + 31 bytes nsJSContext::CallEventHandler(JSObject * 0x009aafb8, JSObject * 0x02b34a18, unsigned int 1, long * 0x03147cb0, long * 0x0012fb60) line 1297 + 33 bytes GlobalWindowImpl::RunTimeout(nsTimeoutImpl * 0x03ced538) line 5155 GlobalWindowImpl::TimerCallback(nsITimer * 0x03ced608, void * 0x03ced538) line 5515 nsTimerImpl::Fire() line 382 + 17 bytes nsTimerManager::FireNextIdleTimer(nsTimerManager * const 0x02049c78) line 616 nsAppShell::Run(nsAppShell * const 0x00a5b498) line 142 nsAppShellService::Run(nsAppShellService * const 0x00a5b1f8) line 524 main1(int 1, char * * 0x002e2638, nsISupports * 0x00a29c18) line 1303 + 32 bytes main(int 1, char * * 0x002e2638) line 1780 + 37 bytes mainCRTStartup() line 338 + 17 bytes KERNEL32! 77e814c7()
Opening print preview for the URL here doesn't crash for me with Mozilla 1.7 rc2. It is crashing when I close print preview though... I think bug 230417 might have fixed the loading issue, but the closing crash is still around...which hopefully will be dealt with in bug 185357. Marking dup of bug 230417. *** This bug has been marked as a duplicate of 230417 ***
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → DUPLICATE
Yeah, this no longer hangs.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.