Closed Bug 271825 Opened 20 years ago Closed 19 years ago

Mozilla crashes [@ nsTextFrame::TextStyle::TextStyle ]

Categories

(Core Graveyard :: GFX: Gtk, defect)

1.7 Branch
x86
Linux
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 183729

People

(Reporter: Martin.vGagern, Assigned: blizzard)

References

()

Details

(Keywords: crash)

Crash Data

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20041125
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20041125

This might be bug#180309, but it looks somewhat different.
I have a Gentoo mozilla compiled from source.

I have no mention of any LineHeight method.
The Testpage attachment#106556 [details] from bug#180309 works fine for me.

The binary mozilla package of Ggentoo works, but fonts get not antialiased.

The stack trace looks like this:
#0  0xffffe410 in ?? ()
#1  0xbfffc1fc in ?? ()
#2  0x4a448800 in ?? () from /lib/libc.so.6
#3  0xbfffc058 in ?? ()
#4  0x4a3c46e6 in nanosleep () from /lib/libc.so.6
#5  0x4a3c4504 in sleep () from /lib/libc.so.6
#6  0x0806b24f in ah_crap_handler(int) ()
#7  0xb6362315 in nsProfileLock::FatalSignalHandler(int) ()
   from /usr/lib/mozilla/components/libprofile.so
#8  <signal handler called>
#9  0xb71813c9 in nsTextFrame::TextStyle::TextStyle(nsIPresContext*,
nsIRenderingContext&, nsStyleContext*) () from
/usr/lib/mozilla/components/libgklayout.so
#10 0xb71756ea in nsTextFrame::GetLastInFlow() const ()
   from /usr/lib/mozilla/components/libgklayout.so
#11 0xb70fdfaf in nsContainerFrame::PaintChild(nsIPresContext*,
nsIRenderingContext&, nsRect const&, nsIFrame*, nsFramePaintLayer, unsigned) ()
   from /usr/lib/mozilla/components/libgklayout.so
#12 0xb70e12c7 in nsBlockFrame::PaintChild(nsIPresContext*,
nsIRenderingContext&, nsRect const&, nsIFrame*, nsFramePaintLayer, unsigned) ()
   from /usr/lib/mozilla/components/libgklayout.so
#13 0xb70f1ae7 in nsBlockFrame::GetDepth() const ()
   from /usr/lib/mozilla/components/libgklayout.so


ldd /usr/lib/mozilla/components/libgklayout.so
        linux-gate.so.1 =>  (0xffffe000)
        libgkgfx.so => /usr/lib/mozilla/libgkgfx.so (0xb7748000)
        libxpcom.so => /usr/lib/mozilla/libxpcom.so (0xb761b000)
        libplds4.so => /usr/lib/mozilla/libplds4.so (0xb7617000)
        libplc4.so => /usr/lib/mozilla/libplc4.so (0xb7612000)
        libnspr4.so => /usr/lib/mozilla/libnspr4.so (0xb75d9000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb75c8000)
        libdl.so.2 => /lib/libdl.so.2 (0xb75c5000)
        libmozjs.so => /usr/lib/mozilla/libmozjs.so (0xb7532000)
        libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb727d000)
        libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xb720f000)
        libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xb71f5000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb71e0000)
        libpangoxft-1.0.so.0 => /usr/lib/libpangoxft-1.0.so.0 (0xb71db000)
        libpangox-1.0.so.0 => /usr/lib/libpangox-1.0.so.0 (0xb71d0000)
        libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb719a000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb7165000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb7161000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb70e8000)
        libm.so.6 => /lib/libm.so.6 (0xb70c7000)
        libstdc++.so.5 =>
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.so.5 (0xb6ffb000)
        libgcc_s.so.1 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libgcc_s.so.1
(0xb6ff1000)
        libc.so.6 => /lib/libc.so.6 (0xb6ee7000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb6e21000)
        libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0xb6e1d000)
        libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0xb6e15000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0xb6e06000)
        libXft.so.2 => /usr/X11R6/lib/libXft.so.2 (0xb6df4000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb6d85000)
        libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0xb6d7d000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb6d57000)
        libXcursor.so.1 => /usr/X11R6/lib/libXcursor.so.1 (0xb6d4e000)
        libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb6d26000)
        libexpat.so.0 => /usr/lib/libexpat.so.0 (0xb6d07000)
        libz.so.1 => /lib/libz.so.1 (0xb6cf7000)


Reproducible: Always
Steps to Reproduce:
1. Visit http://www.sparc.org/
2. Wait till page is loaded
3. If mozilla is still alive, click "Workstation"

Actual Results:  
Mozilla crashes, if compiled without debug with Segfault, otherwise with
something like this:
UNKNOWN [/usr/lib/mozilla/components/libwidget_gtk2.so +0x00032B4E]
nsWindow::OnExposeEvent(_GtkWidget*, _GdkEventExpose*)+0x00000113
[/usr/lib/mozilla/components/libwidget_gtk2.so +0x00024B15]
UNKNOWN [/usr/lib/mozilla/components/libwidget_gtk2.so +0x00029164]
Sleeping for 5 minutes.
Type 'gdb /usr/lib/mozilla/mozilla-bin 8176' to attach your debugger to this thread.


Expected Results:  
Page displayed.

I changed recently changed the following things:
- transition from XFree86 to X.org
- usage of native posix threads
I recompiled mozilla after those changes

I have those relevant packages installed:
- freetype-1.3.1
- freetype-2.1.9 (same thing with freetype-2.1.5)
- xorg-x11-6.8.0
Keywords: crash
Summary: Mozilla crashes in nsTextFrame::TextStyle::TextStyle → Mozilla crashes [@ nsTextFrame::TextStyle::TextStyle ]
I also submitted a Gentoo bugreport for this:
http://bugs.gentoo.org/show_bug.cgi?id=72527
Works fine for me on Linux with 1.8a6. Reporter try a nightly build.
in addition to bug 180309, this bug can be triggered by unreadable fonts files
or invalid font configuration files... but current trunk (or 1.7 branch) should
handle some of those cases more gracefully (note bug 180309 has a patch that has
already been checked in, but after your build).
Almost certainly a dup of one of the existing XFT issues.
Depends on: 180309
Whiteboard: DUPEME
As the binary installation of mozilla 1.7.3 works for me (except for
antialiasing) I believe a nightly build would not be of much use to locate my
problem.

I adapted the 1.7.3 gentoo ebuild to build from the current CVS sources. After
some failures with calendar, truetype2, tests and the like I finally got the
build to work. For those interested:
with truetype2: configure does not like XFT and truetype2
with calendar: in other-licenses/libical: No rule to make target `export'
with --enable-tests: pipetest.cpp:226: error: `nsComponentManager'
But I don't think I should file a bug report for each one of those.

Mozilla now crashes immediately after startup at the following location:

#0  0xffffe410 in ?? ()
#1  0xbfffc50c in ?? ()
#2  0x4a448800 in ?? () from /lib/libc.so.6
#3  0xbfffc368 in ?? ()
#4  0x4a3c46e6 in nanosleep () from /lib/libc.so.6
#5  0x4a3c4504 in sleep () from /lib/libc.so.6
#6  0x080577ae in ah_crap_handler(int) ()
#7  0xb6b43c35 in nsProfileLock::FatalSignalHandler(int) ()
   from /usr/lib/mozilla/components/libprofile.so
#8  <signal handler called>
#9  0xb61fe6db in nsHTMLReflowState::UseComputedHeight() ()
   from /usr/lib/mozilla/components/libgklayout.so
#10 0xb61fe8a0 in nsHTMLReflowState::UseComputedHeight() ()
   from /usr/lib/mozilla/components/libgklayout.so
#11 0xb61fe9a0 in nsHTMLReflowState::CalcLineHeight(nsPresContext*,
nsIRenderingContext*, nsIFrame*) () from /usr/lib/mozilla/components/libgklayout.so
#12 0xb61cc780 in nsBlockReflowState::nsBlockReflowState(nsHTMLReflowState
const&, nsPresContext*, nsBlockFrame*, nsHTMLReflowMetrics const&, int, int) ()
   from /usr/lib/mozilla/components/libgklayout.so
#13 0xb61b8d15 in nsBlockFrame::IsContainingBlock() const ()
   from /usr/lib/mozilla/components/libgklayout.so
#14 0xbfffd160 in ?? ()
#15 0x087680d8 in ?? ()
#16 0x08816044 in ?? ()
#17 0xbfffd284 in ?? ()

The output so far is:

Type Manifest File: /usr/lib/mozilla/components/xpti.dat
nsNativeComponentLoader: autoregistering begins.
nsNativeComponentLoader: autoregistering succeeded
nsNativeComponentLoader: registering deferred (0)
GFX: dpi=111 t2p=0,0769231 p2t=13 depth=16
++WEBSHELL == 1
++DOMWINDOW == 1
++WEBSHELL == 2
++DOMWINDOW == 2
Note: styleverifytree is disabled
Note: frameverifytree is disabled
++WEBSHELL == 3
++DOMWINDOW == 3
Note: verifyreflow is disabled
###!!! ASSERTION: font metrics should not be null - bug 136248:
'NS_SUCCEEDED(rv)', file nsDeviceContext.cpp, line 684
Break: at file nsDeviceContext.cpp, line 684
###!!! ASSERTION: no font metrics: 'nsnull != aFontMetrics', file
nsHTMLReflowState.cpp, line 2109
Break: at file nsHTMLReflowState.cpp, line 2109

Program /usr/lib/mozilla/mozilla-bin (pid = 10588) received signal 11.
Stack:
nsProfileLock::FatalSignalHandler(int)+0x0000005D
[/usr/lib/mozilla/components/libprofile.so +0x00026C35]
UNKNOWN 0xffffe420
UNKNOWN [/usr/lib/mozilla/components/libgklayout.so +0x003B28A0]
nsHTMLReflowState::CalcLineHeight(nsPresContext*, nsIRenderingContext*,
nsIFrame*)+0x00000072 [/usr/lib/mozilla/components/libgklayout.so +0x003B29A0]
nsBlockReflowState::nsBlockReflowState(nsHTMLReflowState const&, nsPresContext*,
nsBlockFrame*, nsHTMLReflowMetrics const&, int, int)+0x0000026C
[/usr/lib/mozilla/components/libgklayout.so +0x00380780]
UNKNOWN [/usr/lib/mozilla/components/libgklayout.so +0x0036CD15]
nsBlockReflowContext::ReflowBlock(nsRect const&, int, nsCollapsingMargin&, int,
int, nsMargin&, nsHTMLReflowState&, unsigned int&)+0x00000241
[/usr/lib/mozilla/components/libgklayout.so +0x0037F6AF]
nsBlockFrame::ReflowBlockFrame(nsBlockReflowState&, nsLineList_iterator,
int*)+0x000004B2 [/usr/lib/mozilla/components/libgklayout.so +0x003735CC]
nsBlockFrame::ReflowLine(nsBlockReflowState&, nsLineList_iterator, int*,
int)+0x00000152 [/usr/lib/mozilla/components/libgklayout.so +0x00371B66]
nsBlockFrame::ReflowDirtyLines(nsBlockReflowState&)+0x00000699
[/usr/lib/mozilla/components/libgklayout.so +0x0037047F]
UNKNOWN [/usr/lib/mozilla/components/libgklayout.so +0x0036CDD8]
nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, nsHTMLReflowMetrics&,
nsHTMLReflowState const&, int, int, unsigned int, unsigned int&)+0x0000009B
[/usr/lib/mozilla/components/libgklayout.so +0x00388EC3]
UNKNOWN [/usr/lib/mozilla/components/libgklayout.so +0x003ADD8B]
nsFrame::BoxReflow(nsBoxLayoutState&, nsPresContext*, nsHTMLReflowMetrics&,
nsHTMLReflowState const&, unsigned int&, int, int, int, int, int)+0x00000348
[/usr/lib/mozilla/components/libgklayout.so +0x00396062]
UNKNOWN [/usr/lib/mozilla/components/libgklayout.so +0x00395B74]
UNKNOWN [/usr/lib/mozilla/components/libgklayout.so +0x004F397B]
UNKNOWN [/usr/lib/mozilla/components/libgklayout.so +0x004F0D12]
UNKNOWN [/usr/lib/mozilla/components/libgklayout.so +0x004F397B]
nsBoxFrame::LayoutChildAt(nsBoxLayoutState&, nsIFrame*, nsRect
const&)+0x00000096 [/usr/lib/mozilla/components/libgklayout.so +0x004F8DB2]
nsGfxScrollFrameInner::LayoutBox(nsBoxLayoutState&, nsIFrame*, nsRect
const&)+0x0000002D [/usr/lib/mozilla/components/libgklayout.so +0x003A88E5]
nsGfxScrollFrameInner::Layout(nsBoxLayoutState&)+0x0000018B
[/usr/lib/mozilla/components/libgklayout.so +0x003A8B17]
UNKNOWN [/usr/lib/mozilla/components/libgklayout.so +0x003A5C2B]
UNKNOWN [/usr/lib/mozilla/components/libgklayout.so +0x004F397B]
UNKNOWN [/usr/lib/mozilla/components/libgklayout.so +0x004F664F]
UNKNOWN [/usr/lib/mozilla/components/libgklayout.so +0x003A59D0]
nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, nsHTMLReflowMetrics&,
nsHTMLReflowState const&, int, int, unsigned int, unsigned int&)+0x0000009B
[/usr/lib/mozilla/components/libgklayout.so +0x00388EC3]
UNKNOWN [/usr/lib/mozilla/components/libgklayout.so +0x00404CC6]
IncrementalReflow::Dispatch(nsPresContext*, nsHTMLReflowMetrics&, nsSize const&,
nsIRenderingContext&)+0x00000189 [/usr/lib/mozilla/components/libgklayout.so
+0x00349251]
PresShell::ProcessReflowCommands(int)+0x00000263
[/usr/lib/mozilla/components/libgklayout.so +0x00357575]
ReflowEvent::HandleEvent()+0x000000F9
[/usr/lib/mozilla/components/libgklayout.so +0x00360E63]
UNKNOWN [/usr/lib/mozilla/components/libgklayout.so +0x00356F2D]
PL_HandleEvent+0x0000004B [/usr/lib/mozilla/libxpcom_core.so +0x000E02DB]
PL_ProcessPendingEvents+0x000000B7 [/usr/lib/mozilla/libxpcom_core.so +0x000E01BA]
UNKNOWN [/usr/lib/mozilla/libxpcom_core.so +0x000E30A7]
UNKNOWN [/usr/lib/mozilla/components/libwidget_gtk2.so +0x00032581]
Sleeping for 5 minutes.
Type 'gdb /usr/lib/mozilla/mozilla-bin 10588' to attach your debugger to this
thread.

the .mozconfig file I used (based on my gentoo build)

ac_add_options --enable-optimize=-O2 # mozilla fallback
ac_add_options --enable-old-abi-compat-wrappers # building with >=gcc-3
ac_add_options --disable-installer # gentoo
ac_add_options --disable-pedantic # gentoo
ac_add_options --enable-crypto # gentoo
ac_add_options --with-system-jpeg # gentoo
ac_add_options --with-system-png # gentoo
ac_add_options --with-system-zlib # gentoo
ac_add_options --without-system-nspr # gentoo
ac_add_options --enable-default-toolkit=gtk2 # gentoo
ac_add_options --enable-ipv6 # +ipv6
ac_add_options --disable-xinerama # -xinerama
ac_add_options --disable-xprint # -xprint
ac_add_options --disable-freetype2 # -truetype
ac_add_options --disable-freetypetest # -truetype
ac_add_options --enable-debug # +debug
ac_add_options --disable-tests # +debug
ac_add_options --disable-reorder # +debug
ac_add_options --disable-strip # +debug
ac_add_options --disable-strip-libs # +debug
ac_add_options --enable-debugger-info-modules=ALL_MODULES # +debug
ac_add_options --enable-xft # -moznoxft
ac_add_options --enable-oji # 
ac_add_options --enable-mathml # 
ac_add_options --disable-jsd # -mozdevelop
ac_add_options --disable-xpctools # -mozdevelop
ac_add_options --disable-gnomevfs # -gnome
ac_add_options --disable-calendar # -mozcalendar
ac_add_options --disable-ldap # -ldap
ac_add_options --disable-ldap-experimental # -ldap
ac_add_options --disable-svg # -mozsvg
ac_add_options --disable-svg-renderer-cairo # -mozsvg
ac_add_options --prefix=/usr/lib/mozilla # 
ac_add_options --with-default-mozilla-five-home=/usr/lib/mozilla # 
ac_add_options --enable-application=suite # 
ac_add_options --enable-extensions=-venkman,-gnomevfs,irc,-xmlterm

There are no patches applied.

Maybe this is bug#254572 this time.
Any idea what I might try next?
A word to the relation between this and bug#180309: "locate -i \*.fon" yields no
results, so either 180309 is named incorrectly or the dependency is at least not
as close as it might seem.
I compiled mozilla without xft support. The result was comperable to the binary
installation: working, but withot antialiasing. I also tried to re-emerge Xorg
X11, setting all flags ad I have them on a system where mozilla is working. But
mozilla with xft crashed on startup on this new X11.
Hope this might help someone in locating the bug.
*** Bug 239415 has been marked as a duplicate of this bug. ***
Assignee: general → blizzard
Component: General → GFX: Gtk
Product: Mozilla Application Suite → Core
QA Contact: general → ian
Version: unspecified → 1.7 Branch
http://www.sparc.org/ loads just fine using Firefox 1.0 on Linux (Mozilla/5.0
(X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0).  No crashes
at all.

Peace...
*** Bug 276133 has been marked as a duplicate of this bug. ***
The Gentoo 1.7.5 ebuild still crashes all the time on this system.

Anyone got any idea where I might look for further differences between two
systems, both gentoo, one with cft working, the other as described?

Anyway, I think I'll try to work on this bug in the 1.7.5 sources, see if I can
figure out a workaround. That is if I find the time.
Since I still had this problem with the latest seamonkey, 1.7.5, I experimented
with firefox and thunderbird. Firefox worked, thunderbird crashed. An strace
showed me access to some windows ttf which was mode 0400. Removing this whole
directory solved the problem. I tried my self-compiled seamonkey after that and
it worked, too. So I guess this is indeed a dup of bug 183729.


*** This bug has been marked as a duplicate of 183729 ***
Status: UNCONFIRMED → RESOLVED
Closed: 19 years ago
Resolution: --- → DUPLICATE
Product: Core → Core Graveyard
Crash Signature: [@ nsTextFrame::TextStyle::TextStyle ]
Whiteboard: DUPEME
You need to log in before you can comment on or make changes to this bug.