Closed Bug 383216 Opened 18 years ago Closed 18 years ago

1.8.1 branch on Linux crashes when loading wikipedia

Categories

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

x86
Linux
defect
Not set
critical

Tracking

()

RESOLVED FIXED

People

(Reporter: bzbarsky, Unassigned)

References

()

Details

(Keywords: regression, Whiteboard: GTK1 only (i.e. seamonkey))

This doesn't happen on either trunk or 1.8.0 branch. STEPS TO REPRODUCE: 1) Get a 1.8.1 branch build 2) Load http://www.wikipedia.org/ EXPECTED RESULTS: No crash. ACTUAL RESULTS: Program received signal SIGSEGV, Segmentation fault. (gdb) frame #0 0xb566f129 in nsFontMetricsGTK::LocateFont (this=0x89d01f0, aChar=66354, aCount=@0xbfff8204) at ../../../../mozilla/gfx/src/gtk/nsFontMetricsGTK.cpp:2058 2058 if (CCMAP_HAS_CHAR_EXT(font->mCCMap, aChar)) (gdb) p font->mCCMap $1 = (PRUint16 *) 0xb5697960 (gdb) p aChar $2 = 66354 (gdb) p *font $3 = (nsFontGTKSubstitute) {<nsFontGTK> = {_vptr.nsFontGTK = 0xb56999c8, mCCMap = 0xb5697960, mCharSetInfo = 0x0, mName = 0x0, mUserDefinedFont = 0x0, mSize = 0, mAABaseSize = 0, mBaselineAdjust = 0, mMaxAscent = 0, mMaxDescent = 0, mFont = 0x0, mFontHolder = 0x0, mXFont = 0x0, mAlreadyCalledLoadFont = 0}, mSubstituteFont = 0x87fcfa0} (gdb) p *font->mSubstituteFont $5 = (nsFontGTKNormal) {<nsFontGTK> = {_vptr.nsFontGTK = 0xb5699a08, mCCMap = 0x842f50c, mCharSetInfo = 0xb5697ae0, mName = 0x87fcf58 "-adobe-helvetica-medium-r-normal--12-120-75-75-p-*-iso8859-1", mUserDefinedFont = 0x0, mSize = 12, mAABaseSize = 0, mBaselineAdjust = 0, mMaxAscent = 11, mMaxDescent = 3, mFont = 0x87fbaf0, mFontHolder = 0x0, mXFont = 0x87e5f58, mAlreadyCalledLoadFont = 1}, <No data fields>} Not sure what other info you want, but let me know if you need something.
Flags: blocking1.8.1.5?
A crash at CCMAP_HAS_CHAR_EXT with a supplementary character looks like a dupe of bug 365923 to me.
Depends on: 365923
Very possible, yes.
Moving this to the "wanted" list rather than outright blocker (though maybe the seamonkey folks will want to block on it). We really need some traction in bug 365923 to get this in, but will look at approving it once it's ready.
Flags: blocking1.8.1.5? → wanted1.8.1.x+
Whiteboard: GTK1 only (i.e. seamonkey)
Looks like a dupe of bug 365923 to me. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 16384 (LWP 4035)] 0x41eff788 in nsFontMetricsGTK::LocateFont(unsigned, int&) (this=0x88b2820, aChar=66354, aCount=@0xbfff7c4c) at nsFontMetricsGTK.cpp:2058 2058 if (CCMAP_HAS_CHAR_EXT(font->mCCMap, aChar)) (gdb) list 2053 PRInt32 i; 2054 2055 // see if one of our loaded fonts can represent the character 2056 for (i = 0; i < aCount; ++i) { 2057 font = (nsFontGTK*)mLoadedFonts[i]; 2058 if (CCMAP_HAS_CHAR_EXT(font->mCCMap, aChar)) 2059 return font; 2060 } 2061 2062 font = FindFont(aChar); (gdb) p font->mCCMap $1 = (PRUint16 *) 0x41f20fe0 (gdb) p gDoubleByteSpecialCharsCCMap $2 = (PRUint16 *) 0x41f20fe0 (gdb) p/x aChar $3 = 0x10332
(In reply to comment #0) > Not sure what other info you want, but let me know if you need something. Just to make sure we're seeing the same thing: p font->mCCMap p gDoubleByteSpecialCharsCCMap
This should be fixed now, by bug 365923. (You need to update gfx/src/gtk/nsFontMetricsGTK.cpp)
Boris, please reopen if you still see this in 1.8.1.5 -> FIXED (by bug 365923)
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Yeah, looks fixed. Thanks!
You need to log in before you can comment on or make changes to this bug.