Closed
Bug 22012
Opened 26 years ago
Closed 26 years ago
[CRASH][DOGFOOD] Printing pull-down menu crashes browser
Categories
(Core :: Printing: Output, defect, P1)
Tracking
()
VERIFIED
WORKSFORME
M14
People
(Reporter: shrir, Assigned: slogan)
References
Details
(Keywords: crash, Whiteboard: [PDT+])
Attachments
(2 files)
I used today's commercial build on linux.
To recreate the problem, please do the following steps
1.Copy the following text and save as a html file on your machine.
--------------here---------------
<html>
<form method=POST action="print">
<select name="pizza">
<option>Three Cheeses
<option>Vegetarian
<option>Pepperoni
</select>
</form>
</html>
--------here----------
3. Open this saved file in mozilla.
4. Once the page loads, use the "File|Print" menu option to print.
5. Observe that browser crashes.
![]() |
Reporter | |
Comment 1•26 years ago
|
||
![]() |
||
Updated•26 years ago
|
Assignee: dcone → syd
![]() |
||
Comment 2•26 years ago
|
||
Can you look at this
![]() |
||
Updated•26 years ago
|
Severity: major → critical
![]() |
Reporter | |
Comment 3•26 years ago
|
||
Priority: P3 → P1
Summary: [CRASH] Printing pull-down menu crashes browser → [CRASH][DOGFOOD] Printing pull-down menu crashes browser
Asked to reassign this. Perhaps troy is the best person.
Don, I get a different stack trace that shows converting from DDB to DIB? Why
would we be doing that? Wouldn't we just use the DIB data the image library gave
us
NTDLL! 77f9d715()
nsDebug::Assertion(const char * 0x10034af4, const char * 0x10034ae8, const char
* 0x10034abc, int 773) line 186 + 13 bytes
BuildDIB(tagBITMAPINFOHEADER * * 0x0221e1a4, int 7, int 4, int 32, char *
0x0221e168) line 773 + 35 bytes
nsImageWin::ConvertDDBtoDIB(int 22, int 12) line 737 + 48 bytes
nsImageWin::PrintDDB(void * 0x021a4758, int 348, int 52, int 22, int 12) line
699
nsImageWin::Draw(nsImageWin * const 0x0221e160, nsIRenderingContext & {...},
void * 0x021a4758, int 348, int 52, int 22, int 12) line 555
nsRenderingContextWin::DrawImage(nsRenderingContextWin * const 0x021a4618,
nsIImage * 0x0221e160, const nsRect & {...}) line 2166
nsRenderingContextWin::DrawImage(nsRenderingContextWin * const 0x021a4618,
nsIImage * 0x0221e160, int -14, int 98, int 105, int 60) line 2143
nsCSSRendering::PaintBackground(nsIPresContext * 0x0217d528, nsIRenderingContext
& {...}, nsIFrame * 0x02197d10, const nsRect & {...}, const nsRect & {...},
const nsStyleColor & {...}, const nsStyleSpacing & {...}, int 0, int 0) line
2185
nsButtonFrameRenderer::PaintBorderAndBackground(nsIPresContext * 0x0217d528,
nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer
eFramePaintLayer_Underlay, const nsRect & {...}) line 198 + 40 bytes
nsButtonFrameRenderer::PaintButton(nsIPresContext * 0x0217d528,
nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer
eFramePaintLayer_Underlay, const nsRect & {...}) line 123
nsHTMLButtonControlFrame::Paint(nsHTMLButtonControlFrame * const 0x02197d10,
nsIPresContext * 0x0217d528, nsIRenderingContext & {...}, const nsRect & {...},
nsFramePaintLayer eFramePaintLayer_Underlay) line 449
nsContainerFrame::PaintChild(nsIPresContext * 0x0217d528, nsIRenderingContext &
{...}, const nsRect & {...}, nsIFrame * 0x02197d10, nsFramePaintLayer
eFramePaintLayer_Underlay) line 221
nsBlockFrame::PaintChildren(nsIPresContext * 0x0217d528, nsIRenderingContext &
{...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Underlay) line
5818
nsBlockFrame::Paint(nsBlockFrame * const 0x0219786c, nsIPresContext *
0x0217d528, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer
eFramePaintLayer_Underlay) line 5696
nsContainerFrame::PaintChild(nsIPresContext * 0x0217d528, nsIRenderingContext &
{...}, const nsRect & {...}, nsIFrame * 0x0219786c, nsFramePaintLayer
eFramePaintLayer_Underlay) line 221
nsBlockFrame::PaintChildren(nsIPresContext * 0x0217d528, nsIRenderingContext &
{...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Underlay) line
5818
nsBlockFrame::Paint(nsBlockFrame * const 0x021977f8, nsIPresContext *
0x0217d528, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer
eFramePaintLayer_Underlay) line 5696
nsContainerFrame::PaintChild(nsIPresContext * 0x0217d528, nsIRenderingContext &
{...}, const nsRect & {...}, nsIFrame * 0x021977f8, nsFramePaintLayer
eFramePaintLayer_Underlay) line 221
nsBlockFrame::PaintChildren(nsIPresContext * 0x0217d528, nsIRenderingContext &
{...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Underlay) line
5818
nsBlockFrame::Paint(nsBlockFrame * const 0x021977b0, nsIPresContext *
0x0217d528, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer
eFramePaintLayer_Underlay) line 5696
nsContainerFrame::PaintChild(nsIPresContext * 0x0217d528, nsIRenderingContext &
{...}, const nsRect & {...}, nsIFrame * 0x021977b0, nsFramePaintLayer
eFramePaintLayer_Underlay) line 221
nsBlockFrame::PaintChildren(nsIPresContext * 0x0217d528, nsIRenderingContext &
{...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Underlay) line
5818
nsBlockFrame::Paint(nsBlockFrame * const 0x02197728, nsIPresContext *
0x0217d528, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer
eFramePaintLayer_Underlay) line 5696
nsContainerFrame::PaintChild(nsIPresContext * 0x0217d528, nsIRenderingContext &
{...}, const nsRect & {...}, nsIFrame * 0x02197728, nsFramePaintLayer
eFramePaintLayer_Underlay) line 221
nsContainerFrame::PaintChildren(nsIPresContext * 0x0217d528, nsIRenderingContext
& {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Underlay) line
160
nsContainerFrame::Paint(nsContainerFrame * const 0x021976f0, nsIPresContext *
0x0217d528, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer
eFramePaintLayer_Underlay) line 127
PresShell::Paint(PresShell * const 0x02183fec, nsIView * 0x02199a88,
nsIRenderingContext & {...}, const nsRect & {...}) line 2626 + 34 bytes
nsView::Paint(nsView * const 0x02199a88, nsIRenderingContext & {...}, const
nsRect & {...}, unsigned int 0, int & 0) line 632
nsViewManager::Display(nsViewManager * const 0x02184190, nsIView * 0x02199a88)
line 2413
nsSimplePageSequenceFrame::Print(nsSimplePageSequenceFrame * const 0x021976ec,
nsIPresContext * 0x0217d528, const nsPrintOptions & {...},
nsIPrintStatusCallback * 0x00000000) line 437
DocumentViewerImpl::PrintContent(DocumentViewerImpl * const 0x013ef4f8,
nsIWebShell * 0x01366688, nsIDeviceContext * 0x02120f50) line 653
DocumentViewerImpl::DocumentReadyForPrinting() line 915 + 32 bytes
DocumentViewerImpl::Print(DocumentViewerImpl * const 0x013ef4f8) line 1167
nsBrowserWindow::DoPrint() line 2424
![]() |
||
Updated•26 years ago
|
Status: NEW → ASSIGNED
![]() |
||
Comment 8•26 years ago
|
||
The DIB is converted to a DDB (this was a MP thing), I had it so it could be
optimized and the DIB was not deleted until we worked out the issues. MP put in
code so all non-animated images are converted and the DDB is deleted. Inorder
to print I needed to convert the DDB to a DIB.
Other options would be to leave it a DIB, which according to my tests are not
slower on the 10 or so machines I tested on. Size may be an issue depending on
the graphics card I think (but not sure).
We could use a DIB section which is a DDB and DIB all in one. The size is
larger, but you get the advantage of using both. This is better than keeping
both a DDB and DIB so we can print or have access to bits for things like
blending and animations. Very managable format.
I personally would suggest that if size is not an issue we use a DIB or
DIBSection. Speed issues from what I have experimented with show me that the
DIB is a good choice. A DIBSection is good if you think speed could be an
issue and you just want to make sure it is optimized for all graphics cards.
![]() |
||
Updated•26 years ago
|
Target Milestone: M13
![]() |
||
Comment 9•26 years ago
|
||
This works on my windows build... I thought this was a Linux problem?
Does this break on your Windows build Troy? I printed on both printers here and
it prints just fine for Windows.
![]() |
Reporter | |
Comment 10•26 years ago
|
||
I see a crash on MAC commercial build for today(2000011314). Windows build
prints this fine without a crash.
![]() |
Reporter | |
Comment 11•26 years ago
|
||
Crashed using today's Linux commercial build # 2000011313
![]() |
||
Updated•26 years ago
|
Assignee: dcone → syd
Status: ASSIGNED → NEW
![]() |
||
Comment 12•26 years ago
|
||
this is fixed on the Mac, I will have a checkin for this Monday. Syd, can you
see whats up on Linux with this crash. The Mac was using a native window.. when
it printed.. and of course there are not native windows for printing.
Windows works fine.
![]() |
||
Comment 13•26 years ago
|
||
*** Bug 24726 has been marked as a duplicate of this bug. ***
![]() |
Assignee | |
Comment 15•26 years ago
|
||
Works fine for me.
Status: NEW → RESOLVED
Closed: 26 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•