After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 107285 - gnome-terminal 2.2.1 crashes on startup
gnome-terminal 2.2.1 crashes on startup
Status: RESOLVED NOTABUG
Product: gnome-terminal
Classification: Core
Component: general
2.2.x
Other Linux
: High normal
: ---
Assigned To: Nalin Dahyabhai
GNOME Terminal Maintainers
Depends on:
Blocks:
 
 
Reported: 2003-02-28 19:54 UTC by mitko
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch for configure.in (765 bytes, patch)
2003-03-04 22:13 UTC, Christophe Fergeau
none Details | Review

Description mitko 2003-02-28 19:54:09 UTC
From: Dimitar Haralanov <mitko@tahoenetworks.com>
To: 
X-Mailer: bug-buddy 2.2.102
(This bug report was generated by Bug Buddy 2.2.102)
Description of Problem:
gnome-terminal 2.2.1 crashes on startup because it can not find the Sans
font. I know that this appears to be a duplicate of 
bug 105861 but I believe it is not since all other GNOME 2.2
applications can actually use the Sans font that Xft serves.
Furthermore, this happens to any of the fonts that I select through the
font selector not just Sans.

Steps to reproduce the problem:
1. Start gnome-terminal 2.2.1

Actual Results:
The console gets this output:
** (gnome-terminal:22337): WARNING **: Failed to load Xft font pattern
"Tahoma-10:slant=0:weight=100", falling back to default font.

The terminal window appears but shortly after (before any of the widgets
within the window have been drawn), the crash
dialog appears

Expected Results:
I am expecting that the gnome-terminal would work as designed

How often does this happen?
every time.

Additional Information:
I read the bug report and comments for 105861 and then made sure that
the Sans font is acutally usable. I have tried using the Sans font for
the Nautilus desktop, for gkrellm, and for the window font. In all the
cases, the fonts have been served correctly and the applications
worked.


Debugging Information:

Backtrace was generated from './gnome-terminal'

[New Thread 1024 (LWP 22337)]
0x40bec219 in __wait4 () at __wait4:-1
	in __wait4

Thread 1 (Thread 1024 (LWP 22337))

  • #0 __wait4
  • #1 __DTOR_END__
    from /lib/i686/libc.so.6
  • #2 waitpid
    at wrapsyscall.c line 172
  • #3 libgnomeui_segv_handle
    at gnome-ui-init.c line 646
  • #4 pthread_sighandler
    at signals.c line 97
  • #5 <signal handler called>
  • #6 XftCharIndex
    at xftglyphs.c line 716
  • #7 XftDrawCharSpec
    at xftdraw.c line 760
  • #8 pango_xft_real_render
    at pangoxft-font.c line 340
  • #9 pango_xft_render
    at pangoxft-font.c line 391
  • #10 gdk_x11_draw_glyphs
    at gdkdrawable-x11.c line 809
  • #11 gdk_draw_glyphs
    at gdkdraw.c line 889
  • #12 gdk_pixmap_draw_glyphs
    at gdkpixmap.c line 369
  • #13 gdk_draw_glyphs
    at gdkdraw.c line 889
  • #14 gdk_window_draw_glyphs
    at gdkwindow.c line 1773
  • #15 gdk_draw_glyphs
    at gdkdraw.c line 889
  • #16 gdk_draw_layout_line_with_colors
    at gdkpango.c line 303
  • #17 gdk_draw_layout_with_colors
    at gdkpango.c line 395
  • #18 gdk_draw_layout
    at gdkpango.c line 452
  • #19 gtk_default_draw_layout
    at gtkstyle.c line 4983
  • #20 gtk_paint_layout
    at gtkstyle.c line 5914
  • #21 gtk_label_expose
    at gtklabel.c line 1803
  • #22 gtk_accel_label_expose_event
    at gtkaccellabel.c line 329
  • #23 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 82
  • #24 g_type_class_meta_marshal
    at gclosure.c line 514
  • #25 g_closure_invoke
    at gclosure.c line 437
  • #26 signal_emit_unlocked_R
    at gsignal.c line 2860
  • #27 g_signal_emit_valist
    at gsignal.c line 2564
  • #28 g_signal_emit
    at gsignal.c line 2612
  • #29 gtk_widget_event_internal
    at gtkwidget.c line 3143
  • #30 gtk_container_propagate_expose
    at gtkcontainer.c line 2400
  • #31 gtk_container_expose_child
    at gtkcontainer.c line 2288
  • #32 gtk_menu_item_forall
    at gtkmenuitem.c line 1256
  • #33 gtk_container_forall
    at gtkcontainer.c line 1253
  • #34 gtk_container_expose
    at gtkcontainer.c line 2311
  • #35 gtk_menu_item_expose
    at gtkmenuitem.c line 706
  • #36 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 82
  • #37 g_type_class_meta_marshal
    at gclosure.c line 514
  • #38 g_closure_invoke
    at gclosure.c line 437
  • #39 signal_emit_unlocked_R
    at gsignal.c line 2860
  • #40 g_signal_emit_valist
    at gsignal.c line 2564
  • #41 g_signal_emit
    at gsignal.c line 2612
  • #42 gtk_widget_event_internal
    at gtkwidget.c line 3143
  • #43 gtk_container_propagate_expose
    at gtkcontainer.c line 2400
  • #44 gtk_container_expose_child
    at gtkcontainer.c line 2288
  • #45 gtk_menu_shell_forall
    at gtkmenushell.c line 750
  • #46 gtk_container_forall
    at gtkcontainer.c line 1253
  • #47 gtk_container_expose
    at gtkcontainer.c line 2311
  • #48 gtk_menu_bar_expose
    at gtkmenubar.c line 386
  • #49 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 82
  • #50 g_type_class_meta_marshal
    at gclosure.c line 514
  • #51 g_closure_invoke
    at gclosure.c line 437
  • #52 signal_emit_unlocked_R
    at gsignal.c line 2860
  • #53 g_signal_emit_valist
    at gsignal.c line 2564
  • #54 g_signal_emit
    at gsignal.c line 2612
  • #55 gtk_widget_event_internal
    at gtkwidget.c line 3143
  • #56 gtk_main_do_event
    at gtkmain.c line 1461
  • #57 gdk_window_process_updates_internal
    at gdkwindow.c line 2131
  • #58 gdk_window_process_all_updates
    at gdkwindow.c line 2166
  • #59 gtk_container_idle_sizer
    at gtkcontainer.c line 1105
  • #60 g_idle_dispatch
    at gmain.c line 3164
  • #61 g_main_dispatch
    at gmain.c line 1653
  • #62 g_main_context_dispatch
    at gmain.c line 2197
  • #63 g_main_context_iterate
    at gmain.c line 2278
  • #64 g_main_loop_run
    at gmain.c line 2498
  • #65 gtk_main
    at gtkmain.c line 1092
  • #66 main
    at terminal.c line 1515
  • #67 __libc_start_main
    at ../sysdeps/generic/libc-start.c line 129

Comment 1 Havoc Pennington 2003-03-01 05:41:00 UTC
Pretty sure this is an Xft bug. Maybe you are mixing Xft1 and Xft2, or
using Xft1 instead of Xft2. 7.3 only comes with Xft1.
Comment 2 Elijah Newren 2003-03-01 14:32:57 UTC
Looks like bug 102166--the stack traces seem to match.  Are they
duplicates?
Comment 3 mitko 2003-03-03 16:12:23 UTC
I know I have Xft2 installed because I downloaded, compiled, and installed it from the Gnome ftp site when I was working on getting Gnome 2.2 up.

It could be that gnome-terminal has mixed the two up and compiled using Xft1. In that case, I am not sure how to make it use the correct one, as there is no configure option. I do not think that uninstalling Xft1 is the correct way since other old-Gnome apps probably depend on it.

Any suggestions, idea are welcome?
Comment 4 Kristian Rietveld 2003-03-04 21:55:36 UTC
Adding myself to CC, seeing the same problems on Debian Woody PPC,
fcpackage 2.1 from tarball, GNOME from CVS HEAD.

Suspecting some kind of bad Xft1/Xft2 interaction, I have no clue what
is wrong, after fooling around for several hours. Fell back on
gnome-term2 + zvt, because that combination does work.

Not sure if this is a vte or gnome-terminal issue. I would say
gnome-terminal, because the vte test application works (but that might
be a totally stupid argument).
Comment 5 Christophe Fergeau 2003-03-04 22:11:00 UTC
I had the same problem and noticed that gnome-terminal was linked
against libXft1 which I happen to have installed in a separate prefix
from libXft2. 
I changed the TERM_LIBS order in configure.in so that gnome libs (and
so the -L($gnome_prefix)/lib flag where Xft2 is likely to appear when
gnome is installed with a build script) appears before any X lib. I
have no idea at all if I have been lucky or if this is a real fix, but
recompiling gnome-terminal with the coming patch attached fixed these
crashes.
Comment 6 Christophe Fergeau 2003-03-04 22:13:21 UTC
Created attachment 14776 [details] [review]
patch for configure.in
Comment 7 Christophe Fergeau 2003-03-04 22:20:40 UTC
I also wanted to point out bugs with similar symptoms: #105408 #105861
(which is already closed) #107285 (I was getting exactly the same
error message)
Comment 8 Nalin Dahyabhai 2003-04-22 04:27:12 UTC
Making similar tweak to vte's .pc file, throwing back to gnome-terminal.
Comment 9 Kjartan Maraas 2003-04-22 15:32:12 UTC
Adding keywords and upping pri.
Comment 10 Nalin Dahyabhai 2003-04-22 15:33:41 UTC
It bears mentioning that this is a pathological case stemming from
having multiple development versions of libXft installed, and linking
with more than one version of libXft simultaneously.
Comment 11 Havoc Pennington 2003-04-22 15:42:56 UTC
This is a bug in Xft's parallel install in the first 
instance (Xft headers should have been in versioned subdir, 
and library -lXft should have been renamed,
http://ometer.com/parallel.html), but 
it's too late to change that.

Given that issue exists, it is a problem with your distribution 
for using Xft1, basically. The above configure.in patch randomly
happens to fix it but is fragile and doesn't really fix it in any
reliable way.
Comment 12 Havoc Pennington 2003-04-22 15:44:05 UTC
(The workaround is to kill the libXft.so -> libXft.so.1 link 
and uninstall Xft 1 header files)
Comment 13 Christophe Fergeau 2003-04-22 15:54:44 UTC
There may be a problem on my side, but gnome-terminal+vte is the only
appto have issues with that. I compile gnome2 using jhbuild on a
debian, and everything works flawlessly apart from gnome-terminal. If
that would have happened on all gnome2 apps, I would have blamed my
distro, but in that case, I don't think it is the only one which
should be blamed
Comment 14 Gustavo Rubio 2003-05-13 05:40:08 UTC
The problem so far i found is as Havoc says the fact that almost every distro out there installs libXft1 by default if you 
install the XFree86-libs and the devel package.

The fact is that the library Xft1 included by default with the packages i mentioned before conflicts but this is a library name 
actually.

So, the problem is that usually the Xft1 libraries are in /usr/X11R6/lib and theres a link there (libXft.so) instead of 
libXft1.so, and when you build Xft2 from the fcpackage in installs it under your prefix, in my very own case i made my gnome-2 
and new libraries prefixes on /opt/local, so the new Xft library from fcpackage was installed on /opt/local/lib and the old one 
the one that came with XFree86 on my distro (Mandrake 8.2) its in /usr/X11R6/lib, so i had the same problem as you did, but 
something that many people forget often is to READ THE OUTPUT when you do the "make" stuff. And ehwn i was compiling 
gnome-terminal again it complained and throwed something like:

"libXft.so.1.1 may conflict with /opt/local/lib/libXft.so.2..."

And yeah, the first time i forgot to read it, so i thought it was a problem, but not only that gnome-terminal program gave me 
problems, ggv and some other ones did it too, and i decided to do it again.

When i started to compile it again, the first thing i did was NOT TO COMPILE Xft1 FROM FCPACKAGE, i did only compile the new Xft 
and the fontconfig program with a prefix under /opt/local, cause i have alreadye Xft1 with the XFree86-libs package on my distro 
so my first recomendation is to do that:

-Only install the new Xft from the fcpackage, not the Xrender and Xft1. (of course only if you have XFree86-libs available wich 
you may normally got installed)

Then, i did something tricky but it worked, i made a dir (wherever you want) and moved the libXft.so (wich links to libXft.so.1, 
wich then goes to libXft.so.1.1) and so on to that new directory, just to have them on backup, then there was no Xft1 libs under 
anywhere but i didnt have the need to uninstall XFree (i did it actually and it was a mess so im warning you) and then re-reun 
the ./configure - make - checkinstall (very useful to make rpm's/tg'z/deb's) and then the surprise came, the problem was the 
Xft1 as it was on /usr/X11R6/lib the configure search for the libraries first there than in /opt or wherever else, so i just 
moved them from there, compiled gnome-termial, moved back the Xft1 libraries to where they belong (after compiling 
gnome-terminal) and there was my gnome-terminal without crashing.

I know im not a hacker or something else but this truly works i think, in any kind of distro like Red Hat and its "clones" cause 
i never had a problem compiling on slackware 8.1 and i never had used debian so i cant tell you but it will work.

Sorry for the bad english as im a proudly Mexican guy. ;)

P.S.

   For god's sake make yourself packages of your DE cause at least gnome 2.2 its a really headache to make it work, so as long 
as you got it running with all the features you want make a package of each of them so you dont have to hazzle with making all 
packages again if something happens to your system. (i know very lame one, but many people use to forget this...).

Visor7(at)unixmexico.org