rotated text with synthetic bolding causes infinite loop in text drawing

RESOLVED FIXED in mozilla26

Status

()

RESOLVED FIXED
5 years ago
4 years ago

People

(Reporter: Ehsan, Assigned: jtd)

Tracking

({regression})

unspecified
mozilla26
x86
Mac OS X
regression
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(URL)

Attachments

(3 attachments)

Comment hidden (empty)
(Reporter)

Updated

5 years ago
Flags: needinfo?(jmuizelaar)
Summary: Paul → Paul's website hangs Nightly
(Reporter)

Comment 1

5 years ago
Created attachment 792226 [details]
Profile
(Reporter)

Updated

5 years ago
Flags: needinfo?(jmuizelaar)
Keywords: regression, regressionwindow-wanted
(Reporter)

Comment 2

5 years ago
Hey Alice, any chance you could see if you can narrow this down please?  Thanks a lot!

Comment 3

5 years ago
(In reply to :Ehsan Akhgari (needinfo? me!) from comment #2)
> Hey Alice, any chance you could see if you can narrow this down please? 
> Thanks a lot!

I cannot reproduce the problem on Windows7 and Ubuntu.
And I cannot test this on Mac because I do not have Mac.
(Reporter)

Comment 4

5 years ago
Thanks, Alice!

Jeff, can you please see if you can make this bug actionable?
Flags: needinfo?(jmuizelaar)
It looks like we are stuck in gfxFont::Draw() calling GlyphBufferAzure::Flush() for ever.
Component: Graphics → Layout: Text
Flags: needinfo?(jmuizelaar)
(Assignee)

Updated

5 years ago
Assignee: nobody → jdaggett
(Assignee)

Comment 6

5 years ago
Simplified testcase:
http://people.mozilla.org/~jdaggett/tests/syntheticbold-rotated.html

Two problems here: the matrix code in gfxContext::UserToDevice(const gfxSize& size) is wrong (yikes!) and the synthetic bolding code isn't handling the singular matrix case, so it ends up with stamps = huge number and this causes an infinite loop while drawing.  Scary part is this bug has been there since Bas added it in early 2012.
(Assignee)

Updated

5 years ago
Component: Layout: Text → Graphics: Text
(Assignee)

Updated

5 years ago
Summary: Paul's website hangs Nightly → rotated text with synthetic bolding causes infinite loop in text drawing
(Assignee)

Comment 7

5 years ago
Created attachment 795895 [details] [diff] [review]
patch, fix matrix calc bug

Fix the matrix math error and check the result of CalcXScale.
Attachment #795895 - Flags: review?(jmuizelaar)
(Assignee)

Comment 8

5 years ago
Created attachment 795897 [details] [diff] [review]
patch, add reftest for the rotated synthetic bold case

Reftest based on simplified testcase.  This will cause the infinite loop in current trunk code and render correctly with patch.
Attachment #795897 - Flags: review?(jmuizelaar)
Attachment #795895 - Flags: review?(jmuizelaar) → review+
Attachment #795897 - Flags: review?(jmuizelaar) → review+
Looks like this is the same issue Jesse filed in bug 895051. I'll dupe that report to this one, given that the fix is being done here.
Duplicate of this bug: 895051
https://hg.mozilla.org/mozilla-central/rev/3b40bd9e75c5
https://hg.mozilla.org/mozilla-central/rev/1bd4a6e58e21
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla26

Updated

5 years ago
Duplicate of this bug: 936882
Duplicate of this bug: 936983
Issue is resolved - clearing old keywords - qa-wanted clean-up
Keywords: regressionwindow-wanted
You need to log in before you can comment on or make changes to this bug.