Closed Bug 136250 Opened 23 years ago Closed 23 years ago

resource failure (fontmetrics?) [@ nsTextFrame::PaintTextDecorations ]

Categories

(Core :: Layout, defect, P2)

x86
Windows 98
defect

Tracking

()

VERIFIED DUPLICATE of bug 136248

People

(Reporter: timeless, Assigned: rbs)

References

Details

(Keywords: crash, topcrash)

Crash Data

Attachments

(1 file)

buildid: 2002040809 known incidents: 4969210
Keywords: crash
Changing QA contact
QA Contact: petersen → amar
Stack Signature nsTextFrame::PaintTextDecorations 9b6335e6 Stack Trace nsTextFrame::PaintTextDecorations [d:\builds\seamonkey\mozilla\layout\html\base\src\nsTextFrame.cpp, line 1817] nsTextFrame::PaintAsciiText [d:\builds\seamonkey\mozilla\layout\html\base\src\nsTextFrame.cpp, line 3303] nsTextFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\base\src\nsTextFrame.cpp, line 1486] nsContainerFrame::PaintChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 256] nsContainerFrame::PaintChildren [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 197] nsHTMLContainerFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\base\src\nsHTMLContainerFrame.cpp, line 135] nsContainerFrame::PaintChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 256] nsBlockFrame::PaintChildren [d:\builds\seamonkey\mozilla\layout\html\base\src\nsBlockFrame.cpp, line 5501] nsBlockFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\base\src\nsBlockFrame.cpp, line 5373] nsContainerFrame::PaintChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 256] nsContainerFrame::PaintChildren [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 197] nsTableCellFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableCellFrame.cpp, line 498] nsTableRowFrame::PaintChildren [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableRowFrame.cpp, line 661] nsTableRowFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableRowFrame.cpp, line 604] nsTableRowGroupFrame::PaintChildren [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableRowGroupFrame.cpp, line 295] nsTableRowFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableRowFrame.cpp, line 604] nsContainerFrame::PaintChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 256] nsContainerFrame::PaintChildren [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 197] nsTableFrame::PaintChildren [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableFrame.cpp, line 1511] nsTableFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableFrame.cpp, line 1553] nsContainerFrame::PaintChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 256] nsTableOuterFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableOuterFrame.cpp, line 376] nsContainerFrame::PaintChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 256] nsBlockFrame::PaintChildren [d:\builds\seamonkey\mozilla\layout\html\base\src\nsBlockFrame.cpp, line 5501] nsBlockFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\base\src\nsBlockFrame.cpp, line 5373] nsContainerFrame::PaintChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 256] nsContainerFrame::PaintChildren [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 197] nsTableCellFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableCellFrame.cpp, line 498] nsTableRowFrame::PaintChildren [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableRowFrame.cpp, line 661] nsTableRowFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableRowFrame.cpp, line 604] nsTableRowGroupFrame::PaintChildren [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableRowGroupFrame.cpp, line 295] nsTableRowFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableRowFrame.cpp, line 604] nsContainerFrame::PaintChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 256] nsContainerFrame::PaintChildren [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 197] nsTableFrame::PaintChildren [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableFrame.cpp, line 1511] nsTableFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableFrame.cpp, line 1553] nsContainerFrame::PaintChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 256] nsTableOuterFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableOuterFrame.cpp, line 376] nsContainerFrame::PaintChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 256] nsBlockFrame::PaintChildren [d:\builds\seamonkey\mozilla\layout\html\base\src\nsBlockFrame.cpp, line 5501] nsBlockFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\base\src\nsBlockFrame.cpp, line 5373] nsContainerFrame::PaintChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 256] nsContainerFrame::PaintChildren [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 197] nsTableCellFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableCellFrame.cpp, line 498] nsTableRowFrame::PaintChildren [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableRowFrame.cpp, line 661] nsTableRowFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableRowFrame.cpp, line 604] nsTableRowGroupFrame::PaintChildren [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableRowGroupFrame.cpp, line 295] nsTableRowFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableRowFrame.cpp, line 604] nsContainerFrame::PaintChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 256] nsContainerFrame::PaintChildren [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 197] nsTableFrame::PaintChildren [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableFrame.cpp, line 1511] nsTableFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableFrame.cpp, line 1553] nsContainerFrame::PaintChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 256] nsTableOuterFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableOuterFrame.cpp, line 376] nsContainerFrame::PaintChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 256] nsBlockFrame::PaintFloaters [d:\builds\seamonkey\mozilla\layout\html\base\src\nsBlockFrame.cpp, line 5445] nsBlockFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\base\src\nsBlockFrame.cpp, line 5371] nsContainerFrame::PaintChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 256] nsContainerFrame::PaintChildren [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 197] nsTableCellFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableCellFrame.cpp, line 498] nsTableRowFrame::PaintChildren [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableRowFrame.cpp, line 661] nsTableRowFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableRowFrame.cpp, line 604] nsTableRowGroupFrame::PaintChildren [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableRowGroupFrame.cpp, line 295] nsTableRowFrame::Paint [d:\builds\seamonkey\mozilla\layout\html\table\src\nsTableRowFrame.cpp, line 604] My guess is that we crash here: 1816 aTextStyle.mNormalFont->GetUnderline(offset, size);
Assignee: timeless → rbs
This patch adds some error checking to prevent crashing. Please note that if an error occurs, the result is probably screwed anyway, but it's better not to crash.
Priority: -- → P2
Comment on attachment 78939 [details] [diff] [review] v1 Patch to add null checks I think that the first assert's warning is probably wrong. It should probably say that we failed to get the normal font.
Attachment #78939 - Flags: review+
We don't want to litter the code with unneeded null checks, so why add the first one? Can you figure out where it actually crashed? Please get review from a layout module owner or peer.
What dbaron said, there are already too many of this kind of wall papering, the time seems ripe to view them as a wake-up call to get a long lasting fix to this problem: e.g., a dummy desperate font that depends on nothing, implements nothing, and stays around during the lifetime of the application as I once noted in bug 117736 comment 32. Please consider coming up with a patch in that direction.
I agree, it would be a better solution. I'm afraid I'm not able to provide such patch right now.
Blocks: 136245
Fixed by the one-solution of bug 136248. *** This bug has been marked as a duplicate of 136248 ***
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → DUPLICATE
vrfy
Status: RESOLVED → VERIFIED
Keywords: topcrash
Summary: resource failure (fontmetrics?) [@nsTextFrame::PaintTextDecorations] → resource failure (fontmetrics?) [@ nsTextFrame::PaintTextDecorations ]
Crash Signature: [@ nsTextFrame::PaintTextDecorations ]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: