Closed Bug 472909 Opened 16 years ago Closed 16 years ago

small-caps is busted (assertions fail, text doesn't appear)

Categories

(Core :: Layout: Text and Fonts, defect, P3)

defect

Tracking

()

VERIFIED FIXED
mozilla1.9.2a1

People

(Reporter: jruderman, Assigned: roc)

References

()

Details

(4 keywords)

Attachments

(3 files)

Attached file testcase
This testcase appears blank (it should show a small-caps 'A') and triggers assertion failures: ###!!! ASSERTION: invalid array index: 'i < Length()', file ../../../dist/include/xpcom/nsTArray.h, line 317 ###!!! ASSERTION: Hmm, something went wrong, aOffset should have been found: 'mGlyphRuns[start].mCharacterOffset <= aOffset', file /Users/jruderman/central/gfx/thebes/src/gfxFont.cpp, line 2174 I think this is a regression on mozilla-central from the last day or so.
I can confirm that, but on linux x86_64. My last homemade working version was based on changeset : http://hg.mozilla.org/mozilla-central/rev/222b23e8e64b ; Wed Jan 07 23:48:28 2009 -0500 (at Wed Jan 07 23:48:28 2009 -0500) I made another homemade build some 28 hours later, and small caps display was busted. http://hg.mozilla.org/mozilla-central/rev/4fc89aa2ffec ; Fri Jan 09 10:19:48 2009 -0800 (at Fri Jan 09 10:19:48 2009 -0800) I will try to look at tinderbox builds from late wednesday to see which change is guilty.
Bug is present in the first friday build. I got it with a build based on changeset 8ce077e0d2db. Bug was introduced here : diff browse 8ce077e0d2db 2009-01-09 10:32 +0200 Simon Montagu - Update the GEOSTD8 to Unicode decoder. Bug 472746, r=Masatoshi Kimura <VYV03354@nifty.ne.jp> diff browse 6128896b6f98 2009-01-08 23:42 -0800 Robert Strong - Bug 324758 - Updater should use brand name string and not hardcode Firefox. r=ted.mielczarek diff browse 177e11abd9d9 2009-01-08 22:25 -0800 Robert Strong - Bug 399153 - Software update should support unicode strings for the UI. r=bsmedberg, r=ehsan diff browse 1a4e256b6894 2009-01-08 16:52 -0800 Jeff Walden - Bug 469509 - runtests.py.in : don't print leak lines for classes that aren't leaked. r=ted diff browse 599fc0933fd8 2009-01-09 13:33 +1300 Taras Glek - Bug 471479. Cache webNavigation and contentWindow in the browser widget. r=gavin diff browse 5300ca58f128 2009-01-09 13:30 +1300 Michael Ventnor - Bug 472488. Need to pass correct directory as part of filename in gtk_file_chooser_set_filename. r+sr=roc diff browse 320763cc1e6a 2009-01-09 13:29 +1300 Michael Ventnor - Bug 472410. Don't adjust selection colors if the background is a -moz-appearance that we can't know anything about. r+sr=roc diff browse 17b08b9bae0c 2009-01-09 13:28 +1300 Zack Weinberg - Bug 456219. Fix clipping to padding-rect with rounded corners. r+sr=roc diff browse 6b858b6ab162 2009-01-09 13:26 +1300 Jeff Schiller - Bug 435209. Fix logic errors in nsSVGPathSegList::ReplaceItem. r=longsonr,sr=roc diff browse b6a4a9673190 2009-01-09 13:23 +1300 Robert O'Callahan - Bug 430332. Defer nsTransformingTextRun::RebuildTextRun until the linebreaker has completely set up the break and capitalization data on the transformed text run. r=smontagu diff browse ef3871089bd7 2009-01-09 13:13 +1300 Robert O'Callahan - Bug 440149. Don't break after empty text at the start of the line, even if we're past the available width. r=smontagu diff browse a9f6f29f6fe5 2009-01-09 13:12 +1300 Robert O'Callahan - Bug 462593. Add nsPtrHashKey<T> to XPCOM. r=bsmedberg diff browse 1da6da73561c 2009-01-09 13:11 +1300 Robert O'Callahan - Bug 467481. Don't reorder the children of listboxbody frames using their ordinals. r+sr=bzbarsky diff browse e62d412d6251 2008-12-19 17:38 -0800 Blake Kaplan - Add a crashtest for bug 460706. r=sicking diff browse 89847884d010 2009-01-08 13:50 -0800 L. David Baron - Make reftest test for assertions on individual tests. (Temporarily disabled until tinderboxes set up and manifests annotated.) (Bug 472557) r=Waldo diff browse 3317170b582b 2009-01-08 13:50 -0800 L. David Baron - Expose the number of assertions since process start from XPCOM. (Bug 472557) r=bsmedberg diff browse ecb728cdc141 2009-01-08 23:36 +0200 Olli Pettay - Bug 472312, change NS_ERROR to NS_WARNING for now diff browse bb88ba74fb0c 2009-01-08 22:17 +0100 Mats Palmgren - DEBUG: Make nsBlockFrame::List really print the overflow lines. b=472193 r+sr=roc diff browse bfb2d513344d 2009-01-08 22:17 +0100 Uri Bernstein - Set mMaintainRange to null when there is no selection. b=470212 r=mats sr=roc diff browse cab8b946ee86 2009-01-08 15:17 -0500 Shawn Wilsher - Bug 429827 - Download manager does not warn when its download location does not exist or is write protected diff browse 324aa9789a12 2009-01-08 22:16 +0200 Olli Pettay - Bug 472312, r+sr=bz diff browse c934f4c5af22 2009-01-08 14:58 -0500 Boris Zbarsky - Backout merge diff browse d77eef73aeb6 2009-01-08 14:58 -0500 Boris Zbarsky - Backed out changeset b73e063a3f99 (bug 464838) diff browse 2e8178964532 2009-01-08 13:52 -0500 Ted Mielczarek - bug 467271 - JS not being PGOed on win32. r=bsmedberg diff browse 3da64152f578 2009-01-08 13:51 -0500 Ted Mielczarek - bug 471188 - stop calling 'make install' for spidermonkey. r=bsmedberg,jimb diff browse b73e063a3f99 2009-01-08 13:08 -0500 Patrick McManus - Bug 464838. Try to resolve performance issues in DNS prefetch by putting elements, not URIS, in the queue, and deferring URI creation to pageload complete (or a timer, if we're not in pageload). r+sr=bzbarsky diff browse 4de172f0d8b8 2009-01-08 11:51 -0500 Shawn Wilsher - Bug 471685 - Upgrade to SQLite 3.6.7 diff browse c569a8f91c0e 2009-01-08 11:51 -0500 Shawn Wilsher - Bug 471685 - Upgrade to SQLite 3.6.7 diff browse 54b5c634212e 2008-11-26 14:39 -0500 Benjamin Smedberg - Bug 463289 - nsNativeModuleLoader doesn't protect its internal data structures, and is accessed on multiple threads (symptom is RECURSION_LEVEL assertions in pldhash.c). This patch is the simple-but-slow path: proxy all non-main-thread requests to the main thread. This is probably sufficient because asking for modules is a relatively rare activity: the component manager caches the factory objects after a lookup, r=brendan diff browse c227e9c0e264 2009-01-08 10:44 -0500 Benjamin Smedberg - Bug 472461 part 2 - jsgc crashes with !JS_TRACER, r=jorendorff for immediate bustage fix, and I'll get ex-post-facto review from Igor diff browse 7a3b82cd9ee6 2009-01-08 10:43 -0500 Benjamin Smedberg - Bug 472461 part 1 - jsgc.cpp fails to compile with !JS_TRACER, initial patch by Igor, r=jorendorff with nits fixed by bsmedberg diff browse 5b6ee66cccc0 2009-01-08 23:19 +1300 Robert O'Callahan - Backout bug 456219 ... Mac tests still fail diff browse 582c495906ec 2009-01-08 23:19 +1300 Robert O'Callahan - Backed out changeset 5041ce453104 diff browse 28488df9e75e 2009-01-08 21:44 +1300 Matthew Gregan - Bug 471590. Update wave-decoder Pause to handle possible asynchyronous loading. r=doublec,sr=roc diff browse 9dc0f31ca488 2009-01-08 21:43 +1300 Taras Glek - Bug 471087. Kill nsIDKey. r=bsmedberg diff browse fc85349c89b4 2009-01-08 21:41 +1300 Sergey Yanovich - Bug 462497. Don't reacquire a monitor in nsComponentManagerImpl::HashContractID that we already hold. r=bsmedberg diff browse 48e090c98118 2009-01-08 21:16 +1300 Michael Ventnor - Bug 427488. Enable use of provided default filename for file open dialogs in GTK. r+sr=roc diff browse 9891b174d871 2009-01-08 21:12 +1300 Michael Ventnor - Bug 469880. Support a libnotify-based implementation of nsIAlertsService for GTK. r+sr=roc,r=ted diff browse 5041ce453104 2009-01-08 21:10 +1300 Zack Weinberg - Bug 456219. Fix clipping to padding-rect with rounded corners. r+sr=roc diff browse b4d826e10c0c 2009-01-08 21:07 +1300 Robert O'Callahan - Bug 425981. Make first-letter frame wrapping build its own frame constructor state to ensure it's for the correct place in the frame tree. r+sr=bzbarsky diff browse be51e923473c 2009-01-08 17:36 +0900 John Daggett - change crashtest for 472237 to use local font Sorry the "bad" copy/paste, but it could help. At least, it give a list ;)
Here is what I get on OS X (more or less the same as the above): http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=28488df9e75e&tochange=1c4fdd5a9b17 I suspect this one: b6a4a9673190 Robert O'Callahan — Bug 430332. Defer nsTransformingTextRun::RebuildTextRun until the linebreaker has completely set up the break and capitalization data on the transformed text run. r=smontagu
Blocks: 430332
Flags: blocking1.9.1?
OS: Mac OS X → All
Hardware: x86 → All
KCD makes extensive use of small caps and is busted by this bug; screenshot attached. Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2a1pre) Gecko/20090112 Minefield/3.2a1pre ID:20090112031615
Blocks: 473172
Assignee: nobody → jdaggett
Status: NEW → ASSIGNED
Priority: -- → P3
Assignee: jdaggett → nobody
Component: Layout: Text → GFX: Thebes
QA Contact: layout.fonts-and-text → thebes
Attached patch fixSplinter Review
We now need to call FinishSettingProperties on the temporary transformed textruns we create. The reftest isn't great --- in the future we'll probably want to change our small-caps implementation to use Opentype small-caps features, which could break this test --- but we should probably do this for now to make sure what we have doesn't break.
Assignee: nobody → roc
Attachment #356865 - Flags: review?(smontagu)
Whiteboard: [needs review]
Attachment #356865 - Flags: review?(smontagu) → review+
Whiteboard: [needs review] → [needs landing]
Component: GFX: Thebes → Layout: Text
Flags: blocking1.9.2?
Flags: blocking1.9.1?
Flags: blocking1.9.1+
QA Contact: thebes → layout.fonts-and-text
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Flags: in-testsuite? → in-testsuite+
Resolution: --- → FIXED
Whiteboard: [needs landing] → [needs 191 landing]
Verified with: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2a1pre) Gecko/20090117 Minefield/3.2a1pre Ubiquity/0.1.5 ID:20090117033728 Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2a1pre) Gecko/20090118 Minefield/3.2a1pre ID:20090118020617 Roc, was any other patch checked into 1.9.1? I'm wondering because this bug cannot be seen on 1.9.1 with builds on Windows and OS X.
Status: RESOLVED → VERIFIED
Target Milestone: --- → mozilla1.9.2a1
(In reply to comment #10) > Roc, was any other patch checked into 1.9.1? I'm wondering because this bug > cannot be seen on 1.9.1 with builds on Windows and OS X. The patch that caused the regression has not been checked in to 1.9.1 yet, but it needs to be.
FWIW: This patch can't land on 1.9.1 until bug 430332 (the regression source) lands, and *that* bug can't land on 1.9.1 until bug 470272 is fixed, per reasoning in bug 430332 comment 56.
(In reply to comment #12) > and *that* bug can't land on 1.9.1 until bug 470272 is fixed Just kidding -- that's no longer true, per bug 430332 comment 58. I'll push fixes for both bug 430332 and this bug in a minute.
Keywords: fixed1.9.1
Whiteboard: [needs 191 landing]
Verified on 1.9.1 with: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1b3pre) Gecko/20090201 Shiretoko/3.1b3pre ID:20090201033606 Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b3pre) Gecko/20090201 Shiretoko/3.1b3pre Ubiquity/0.1.5 ID:20090201020520
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: