Open
Bug 762332
Opened 13 years ago
Updated 3 years ago
"ASSERTION: EnsureTextRun should have set font size inflation" with -moz-column, rel&abs pos
Categories
(Core :: Layout: Text and Fonts, defect)
Core
Layout: Text and Fonts
Tracking
()
NEW
People
(Reporter: jruderman, Unassigned)
Details
(Keywords: assertion, testcase, Whiteboard: [font-inflation][leave open])
Attachments
(3 files)
With
user_pref("font.size.inflation.emPerLine", 15);
The testcase triggers:
###!!! ABORT: EnsureTextRun should have set font size inflation: 'GetFontSizeInflation() == fontSizeInflation', file layout/generic/nsTextFrameThebes.cpp, line 7389
Reporter | ||
Comment 1•13 years ago
|
||
Comment 2•12 years ago
|
||
The assertion still occurs. Is the bug that we forgot to remove
the FontSizeInflationProperty somewhere?
(gdb) p GetFontSizeInflation()
$3 = 1.0333333
(gdb) p fontSizeInflation
$4 = 1
(gdb) p this->IsCurrentFontInflation(fontSizeInflation)
$5 = false
(gdb) p nsLayoutUtils::FontSizeInflationFor(this)
$6 = 1
(gdb) p this->HasFontSizeInflation()
$9 = true
OS: Mac OS X → All
Hardware: x86_64 → All
Whiteboard: [font-inflation]
Comment 3•12 years ago
|
||
If we can't come up with a proper fix for this soon, then I suggest we
change it to a non-fatal assertion (or warning) so it doesn't block
fuzz-testing font-inflation and/or moz-columns.
Comment 4•12 years ago
|
||
Let's make the assertion non-fatal for now, and add the testcase so we
can detect if it starts crashing or goes away for some reason.
https://tbpl.mozilla.org/?tree=Try&rev=d4fb7ee1827a
Attachment #736063 -
Flags: review?(sjohnson)
Comment 5•12 years ago
|
||
Comment on attachment 736063 [details] [diff] [review]
wallpaper
Review of attachment 736063 [details] [diff] [review]:
-----------------------------------------------------------------
LGTM
Attachment #736063 -
Flags: review?(sjohnson) → review+
Comment 6•12 years ago
|
||
Severity: critical → normal
Flags: in-testsuite+
Summary: "ABORT: EnsureTextRun should have set font size inflation" with -moz-column, rel&abs pos → "ASSERTION: EnsureTextRun should have set font size inflation" with -moz-column, rel&abs pos
Whiteboard: [font-inflation] → [font-inflation][leave open]
Comment 7•12 years ago
|
||
Comment 9•10 years ago
|
||
It's going to go away for crashtest-e10s when 45 merges to aurora tomorrow, making the test permaorange.
I don't understand what the "it" is that's going to go away, nor why RyanVM landed the above changeset or whether it's related to philor's comment.
Comment 11•10 years ago
|
||
"It" is
(In reply to Mats Palmgren (:mats) from comment #4)
> Let's make the assertion non-fatal for now, and add the testcase so we
> can detect if it starts crashing or goes away for some reason.
and given the context of https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?changeset=ac8c124250b5 I would say that while adding crashtests Ryan added one which added an assertion to this test on e10s which it didn't have before, but it only adds it on nightly_build, not on aurora.
Comment 12•10 years ago
|
||
Comment 13•10 years ago
|
||
And just to add to the fun, on current-aurora the tests appear to run in crashtest.list order, with font-inflation-762332.html running immediately after 750066.html, while on trunk and thus on try for my trunk-as-aurora simulaton they are sorted, so font-inflation-762332.html runs immediately after first-letter-638937-2.html and the first-letter tests run after 1225592.html. So depending on whether that change in ordering is in-tree mozharness or test harness behavior and will merge or is out-of-tree and won't change, I may or may not be right about font-inflation-762332.html having an unexpected-pass from having 0 assertions in crashtest-e10s on aurora tomorrow, depending also on whether it depends on 740199-1.xhtml having set font.size.inflation.emPerLine shortly before it runs, or only on it having set it at all anytime before.
Should be exciting for the sheriff on duty.
Comment 14•10 years ago
|
||
The lack of an assertion did carry over to actual-aurora, we backed out https://hg.mozilla.org/integration/mozilla-inbound/rev/ac8c124250b5 to fix the orange, according to RyanVM's memory this isn't the first time we've had to, and it would be pretty sweet if someone would either figure out why it now asserts on e10s but only on trunk, or just give up on this whole exercise and either mark it as 0-10000 unconditionally or get rid of the test.
Comment 15•10 years ago
|
||
I've debugged this a little bit. What we have is a frame tree like this:
block
text
text
block
text
text
The text frames are all for the same content and are next/prev-in-flow
with each other. ditto for the block frames.
Also, the text frames share the same TextRun.
The problem is that we use the font inflation for the first
text frame when creating the textrun:
http://hg.mozilla.org/mozilla-central/annotate/cb66ffeb6725/layout/generic/nsTextFrame.cpp#l2124
Font size inflation depends on a frame's ancestors though:
http://hg.mozilla.org/mozilla-central/annotate/cb66ffeb6725/layout/base/nsLayoutUtils.cpp#l7594
and in this case the latter two text frames have a different
nsLayoutUtils::FontSizeInflationFor result from the former two.
(because nsFontInflationData::mInflationEnabled was false in the
latter block and true in the former)
So this assertion can't possibly be correct in the current setup.
Updated•3 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•