Closed Bug 178145 Opened 22 years ago Closed 22 years ago

gtk2/xft crash on startup [@ nsFontMetricsXft::RealizeFont]

Categories

(SeaMonkey :: General, defect)

x86
Linux
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: Biesinger, Assigned: blizzard)

References

Details

(Keywords: crash)

Crash Data

Attachments

(2 files)

cvs from friday or so, linux, gtk2 with xft enabled (decided to try it)
crash on startup:
Program debug/dist/bin/mozilla-bin (pid = 26963) received Segmentation Fault signal.
Stack:
UNKNOWN [/lib/libc.so.6 +0x00026B88]
nsFontMetricsXft::RealizeFont(void)+0x00000046
[/home/chb/mozilla/debug/dist/bin/components/libgfx_gtk.so +0x0006A67E]
nsFontMetricsXft::Init(nsFont const &, nsIAtom *, nsIDeviceContext *)+0x0000053A
[/home/chb/mozilla/debug/dist/bin/components/libgfx_gtk.so +0x000699EE]
nsFontCache::GetMetricsFor(nsFont const &, nsIAtom *, nsIFontMetrics
*&)+0x000001E2 [/home/chb/mozilla/debug/dist/bin/libgkgfx.so +0x00020942]
DeviceContextImpl::GetMetricsFor(nsFont const &, nsIFontMetrics *&)+0x000000F8
[/home/chb/mozilla/debug/dist/bin/libgkgfx.so +0x0001FA48]
nsTextBoxFrame::GetTextSize(nsIPresContext *, nsIRenderingContext &, nsString
const &, nsSize &, int &)+0x00000113
[/home/chb/mozilla/debug/dist/bin/components/libgklayout.so +0x002D01DF]
nsTextBoxFrame::CalcTextSize(nsBoxLayoutState &)+0x000000A6
[/home/chb/mozilla/debug/dist/bin/components/libgklayout.so +0x002D0396]
nsTextBoxFrame::GetAscent(nsBoxLayoutState &, int &)+0x0000002B
[/home/chb/mozilla/debug/dist/bin/components/libgklayout.so +0x002D0523]
nsSprocketLayout::GetAscent(nsIBox *, nsBoxLayoutState &, int &)+0x00000086
[/home/chb/mozilla/debug/dist/bin/components/libgklayout.so +0x002CC1F2]
nsContainerBox::GetAscent(nsBoxLayoutState &, int &)+0x0000009C
[/home/chb/mozilla/debug/dist/bin/components/libgklayout.so +0x002C8388]
nsBoxFrame::GetAscent(nsBoxLayoutState &, int &)+0x00000079
[/home/chb/mozilla/debug/dist/bin/components/libgklayout.so +0x002DB6F1]
nsSprocketLayout::GetAscent(nsIBox *, nsBoxLayoutState &, int &)+0x00000086
[/home/chb/mozilla/debug/dist/bin/components/libgklayout.so +0x002CC1F2]
nsContainerBox::GetAscent(nsBoxLayoutState &, int &)+0x0000009C
[/home/chb/mozilla/debug/dist/bin/components/libgklayout.so +0x002C8388]
nsBoxFrame::GetAscent(nsBoxLayoutState &, int &)+0x00000079
[/home/chb/mozilla/debug/dist/bin/components/libgklayout.so +0x002DB6F1]
....
possibly more useful stack (with line numbers), from gdb:
#5  0x41a8067e in nsFontMetricsXft::RealizeFont (this=0x8244cd0) at
/home/chb/mozilla/gfx/src/gtk/nsFontMetricsXft.cpp:744
#6  0x41a7f9ee in nsFontMetricsXft::Init (this=0x8244cd0, aFont=@0x8420dec,
aLangGroup=0x81ed2c0, aContext=0x808fc78)
    at /home/chb/mozilla/gfx/src/gtk/nsFontMetricsXft.cpp:267
#7  0x40032942 in nsFontCache::GetMetricsFor (this=0x8244ca0, aFont=@0x8420dec,
aLangGroup=0x81ed2c0, aMetrics=@0xbfffcfe8)
    at /home/chb/mozilla/gfx/src/nsDeviceContext.cpp:669
#8  0x40031a48 in DeviceContextImpl::GetMetricsFor (this=0x808fc78,
aFont=@0x8420dec, aMetrics=@0xbfffcfe8)
    at /home/chb/mozilla/gfx/src/nsDeviceContext.cpp:365
#9  0x426d01df in nsTextBoxFrame::GetTextSize (this=0x8420c84,
aPresContext=0x81cedb8, aRenderingContext=@0x8244b28, 
    aString=@0x8420cc4, aSize=@0xbfffd040, aAscent=@0x8420d08)
    at /home/chb/mozilla/layout/xul/base/src/nsTextBoxFrame.cpp:795
#10 0x426d0396 in nsTextBoxFrame::CalcTextSize (this=0x8420c84,
aBoxLayoutState=@0xbfffd5d8)
    at /home/chb/mozilla/layout/xul/base/src/nsTextBoxFrame.cpp:817
#11 0x426d0523 in nsTextBoxFrame::GetAscent (this=0x8420c84,
aBoxLayoutState=@0xbfffd5d8, aAscent=@0xbfffd0cc)
    at /home/chb/mozilla/layout/xul/base/src/nsTextBoxFrame.cpp:866
...
other gtk2/xft crashers: bug 177905, bug 177665.
Keywords: crash
Summary: gtk2/xft crash on startup → gtk2/xft crash on startup [@ nsFontMetricsXft::RealizeFont]
Severity: normal → critical
Blocks: gtk2
this time, a stack that starts with #0:

#0  0x404c0671 in nanosleep () from /lib/libc.so.6
#1  0x4037292d in nanosleep () from /lib/libpthread.so.0
#2  0x404c0600 in sleep () from /lib/libc.so.6
#3  0x08066566 in ah_crap_handler (signum=11) at
/home/chb/mozilla/xpfe/bootstrap/nsSigHandlers.cpp:144
#4  0x421e9a16 in nsProfileLock::FatalSignalHandler (signo=11, info=0xbfffcee0,
context=0xbfffcf60)
    at /home/chb/mozilla/profile/src/nsProfileAccess.cpp:1692
#5  0x403746a1 in __pthread_sighandler_rt () from /lib/libpthread.so.0
#6  0x4044bb80 in sigaction () from /lib/libc.so.6
#7  0x424f987e in nsFontMetricsXft::RealizeFont (this=0x825db78) at
/home/chb/mozilla/gfx/src/gtk/nsFontMetricsXft.cpp:745
#8  0x424f8bee in nsFontMetricsXft::Init (this=0x825db78, aFont=@0x825ff98,
aLangGroup=0x823a110, aContext=0x82105d8)
    at /home/chb/mozilla/gfx/src/gtk/nsFontMetricsXft.cpp:268
#9  0x40032a42 in nsFontCache::GetMetricsFor (this=0x824fa00, aFont=@0x825ff98,
aLangGroup=0x823a110, aMetrics=@0xbfffd540)
    at /home/chb/mozilla/gfx/src/nsDeviceContext.cpp:669

and the line number has changed. line 745 of the fontmetrics file is:
745	    return CacheFontMetrics();

will try to find out more.
ah, this is interesting:
(gdb) print this
$1 = (nsFontMetricsXft *) 0x0
Calling into an invalid object?  Why not attach the whole stack trace as an
attachment?
Attached file first stacktrace
now this is strange.

depending on how I generate the stacktraces, I get slightly different ones...
Here's the one from "./mozilla -g -d gdb"

I'll attach the second one in a second
Attached file second stacktrace
Here's the one from just running "./mozilla", waiting for the crash (which
causes it to display a stacktrace and to show instructions for attaching to the
process) then attaching to the process with gdb. note that |this| is null only
in this stacktrace.


the first one actually looks more plausible to me.
hm, I now updated Xft and fontconfig and this seems to work now with my old build.

can't create a new one because I only have pango 1.0.5, but ok, that's my
problem I guess.


marking worksforme.
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → WORKSFORME
Product: Browser → Seamonkey
Crash Signature: [@ nsFontMetricsXft::RealizeFont]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: