Hello. This is so far inside fontconfig and the theme engine that you use, so I suspect nothing Emacs does can help. It seem to crash on /usr/X11R6/lib/X11/fonts/misc/cu12.pcf.gz, have you tried to remove that file? It may be a bad font (I don't know what cu12.pcf is, Courier 12?).
An idea why Emacs crashes and no other may be that Emacs uses only non-AA fonts, whereas Firefox and other uses AA fonts mostly. But it is hard to tell. If removing that file doesn't help, you could try to switch to a more basic theme. But all this is just shots in the dark, I'm afraid. Jan D. Stephen Berman skrev: > On Fri, 08 Dec 2006 08:05:56 +0100 Jan Djärv <[EMAIL PROTECTED]> wrote: > >> Stephen Berman skrev: >>> Well, now I can get GTK-Emacs to segfault again :-). I noticed that >>> the desktop fonts didn't look as sharp as they normally do (it took me >>> a while to notice this, probably because the fonts in Emacs are always >>> not so sharp :-), so I ran fc-cache, exited KDE and logged on again. >>> Now my desktop fonts are back to their previous sharpness, but >>> Emacs-GTK segfaults again with the standard invocation (but I can >>> start it by setting LD_LIBRARY_PATH to /usr/local/lib). So if someone >>> is able to advise me how to debug this, I can try to do it. >>> >> It is hard if Emacs doesn't fail with the debug-compiled fontconfig. >> Does wxGTK install fonts? > > No, AFAICT (and a wxwidget developer told me it does not alter pango > or fontconfig). > >> The cache handling seems to have some bug >> in it. As it only fails sometimes it might be that the code that >> builds or reads the cache have some uninitialized variable that gets >> random garbage. Sometimes that garbage is OK, sometimes it isn't. > > This may well be the case, as I'm getting rather unpredictable > behavior. The next time I started GTK-Emacs (without setting > LD_LIBRARY_PATH to /usr/local/lib) after writing the above, it came up > fine, no segfault. Then I updated the Nvidia-driver for my graphic > card, and the next time I booted and started Emacs (last night), the > GTK build segfaulted again. But this time, it also segfaulted even > after setting LD_LIBRARY_PATH to /usr/local/lib, i.e., I could not > started the GTK build at all (neither the CVS nor first pretest > builds; the Lucid build was as usual unaffected). Fortunately, this > time the gdb full backtrace (appended to the end of this post) > includes values from the fontconfig source, though lots are optimized > out; still perhaps you can get some useful information out of it. > BTW, notice that this backtrace is quite different from the one I > originally sent (and had gotten on every previous segfault). > > A further datapoint: When I booted SUSE 10.1 this morning, X started > and the kdm login screen came up, but I could not start any desktop (I > tried KDE several times, Gnome, and FVWM), restarting X didn't help. > Then I noticed that ~/.fonts.cache-2 was again very large, ~1.8MB, and > the timestamp was from just after booting. I deleted this file, ran > fc-cache as root, went back to the kdm screen, and could start KDE as > usual. I then invoked Emacs-GTK, and it started without a problem! > >> If you rebuild the cache several times with the same fontconfig, are >> the ~/.fonts.cache-2 then identical? And are they different if you >> rebuild with the fontconfig you compiled? > > After running fc-cache again this morning, ~/.fonts.cache-2 was not > recreated. This was with /usr/local/bin/fc-cache, i.e., the one I > compiled. I haven't tried again with /usr/bin/fc-cache, as I'm a > little afraid of the consequences, given what I described above. If > (or when) I have problems again with Emacs starting, I'll try to do > both and compare. > >> Does any other Gnome/GTK >> application fail when Emacs fails or is it just Emacs? > > I've only had problems with Emacs. I mostly use KDE, but aside from > Emacs, no other GTK application I use (mostly Firefox and several > games, Eclipse, Gimp) has segfaulted AFAICR, at least not the way > Emacs has been doing, right on startup, since I first installed wxGTK. > (There are at least two other issues I've had with GTK-Emacs that I've > not had with any other GTK application, but they have to do > specifically with KDE and not with wxGTK or fonts, so I assume they > are not related to this problem, except (and that in itself is perhaps > significant) for being restricted to Emacs.) > > Steve Berman > _______________________________________________ > Here's the backtrace from last night's segfault: > > [EMAIL PROTECTED]:/users/steve/cvsroot/emacs/src> gdb emacs > GNU gdb 6.4 > Copyright 2005 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, and you are > welcome to change it and/or distribute copies of it under certain conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for details. > This GDB was configured as "i586-suse-linux"...Using host libthread_db > library "/lib/libthread_db.so.1". > > DISPLAY = :0 > TERM = xterm > Breakpoint 1 at 0x80f2e26: file emacs.c, line 449. > Breakpoint 2 at 0x810bd66: file sysdep.c, line 1385. > (gdb) r > Starting program: /users/steve/cvsroot/emacs/src/emacs -geometry 80x40+0+0 > [Thread debugging using libthread_db enabled] > [New Thread -1220639056 (LWP 6024)] > [Switching to Thread -1220639056 (LWP 6024)] > Breakpoint 3 at 0x80c82e6: file xterm.c, line 7833. > > Program received signal SIGSEGV, Segmentation fault. > 0xb79c3e24 in FcPatternPosition (p=0xb68f9004, object=<value optimized out>) > at fcint.h:828 > 828 return a - b; > (gdb) bt full > #0 0xb79c3e24 in FcPatternPosition (p=0xb68f9004, > object=<value optimized out>) at fcint.h:828 > low = 0 > high = 17 > mid = 8 > c = <value optimized out> > obj = 21 > #1 0xb79c3e87 in FcPatternFindElt (p=0xb68f9004, object=0xb79d7491 "file") > at fcpat.c:725 > i = -1219047104 > #2 0xb79c5536 in FcPatternGet (p=0xb68f9004, object=0xb79d7491 "file", id=0, > v=0xbffe1330) at fcpat.c:1107 > e = <value optimized out> > l = <value optimized out> > #3 0xb79c58ba in FcPatternGetString (p=0xb68f9004, object=0xb79d7491 "file", > id=0, s=0xbffe1398) at fcpat.c:1172 > v = { > type = 140255896, > u = { > s = 0x85e92a8 "/usr/X11R6/lib/X11/fonts/misc/cu12.pcf.gz", > s_off = 140415656, > i = 140415656, > b = 140415656, > d = -1.8797073676043201, > m = 0x85e92a8, > c = 0x85e92a8, > c_off = 140415656, > f = 0x85e92a8, > p = 0x85e92a8, > l = 0x85e92a8, > l_off = 140415656 > } > } > r = <value optimized out> > #4 0xb79b35da in FcConfigBuildFonts (config=0x85c2298) at fccfg.c:314 > cfn = (FcChar8 *) 0x85e92a8 > "/usr/X11R6/lib/X11/fonts/misc/cu12.pcf.gz" > fonts = (FcFontSet *) 0x85c5f38 > cached_fonts = (FcFontSet *) 0x85cd988 > cache = (FcGlobalCache *) 0x85c5ee0 > ---Type <return> to continue, or q <return> to quit--- > list = <value optimized out> > oldDirs = (FcStrSet *) 0x85c7e30 > dir = <value optimized out> > #5 0xb79bbf7f in FcInitLoadConfigAndFonts () at fcinit.c:85 > config = (FcConfig *) 0x85c2298 > #6 0xb79bc085 in FcInit () at fcinit.c:103 > config = <value optimized out> > #7 0xb6a94d0b in XftInit () from /usr/X11R6/lib/libXft.so.2 > No symbol table info available. > #8 0xb6d5a39a in qt_init_internal () from /usr/lib/qt3/lib/libqt-mt.so.3 > No symbol table info available. > #9 0xb6d5b08b in qt_init () from /usr/lib/qt3/lib/libqt-mt.so.3 > No symbol table info available. > #10 0xb6dc1ee3 in QApplication::QApplication () > from /usr/lib/qt3/lib/libqt-mt.so.3 > No symbol table info available. > #11 0xb72d2155 in createQApp () > from /opt/gnome/lib/gtk-2.0/2.4.0/engines/libqtengine.so > No symbol table info available. > #12 0xb72c4e3f in theme_init () > from /opt/gnome/lib/gtk-2.0/2.4.0/engines/libqtengine.so > No symbol table info available. > #13 0xb7da0a66 in gtk_theme_engine_get () > from /opt/gnome/lib/libgtk-x11-2.0.so.0 > No symbol table info available. > #14 0xb7a7aeb8 in g_type_module_use () from /opt/gnome/lib/libgobject-2.0.so.0 > No symbol table info available. > #15 0xb7da0899 in gtk_theme_engine_get () > from /opt/gnome/lib/libgtk-x11-2.0.so.0 > No symbol table info available. > #16 0xb7d3ace8 in gtk_rc_get_im_module_path () > from /opt/gnome/lib/libgtk-x11-2.0.so.0 > No symbol table info available. > #17 0xb7d3b27e in gtk_rc_get_im_module_path () > from /opt/gnome/lib/libgtk-x11-2.0.so.0 > No symbol table info available. > #18 0xb7d3b7d9 in gtk_rc_get_im_module_path () > from /opt/gnome/lib/libgtk-x11-2.0.so.0 > No symbol table info available. > ---Type <return> to continue, or q <return> to quit--- > #19 0xb7d3b98d in gtk_rc_get_im_module_path () > from /opt/gnome/lib/libgtk-x11-2.0.so.0 > No symbol table info available. > #20 0xb7d3b63a in gtk_rc_get_im_module_path () > from /opt/gnome/lib/libgtk-x11-2.0.so.0 > No symbol table info available. > #21 0xb7d3b7d9 in gtk_rc_get_im_module_path () > from /opt/gnome/lib/libgtk-x11-2.0.so.0 > No symbol table info available. > #22 0xb7d3b98d in gtk_rc_get_im_module_path () > from /opt/gnome/lib/libgtk-x11-2.0.so.0 > No symbol table info available. > #23 0xb7d3bde4 in gtk_rc_reparse_all_for_settings () > from /opt/gnome/lib/libgtk-x11-2.0.so.0 > No symbol table info available. > #24 0xb7d488c3 in gtk_settings_get_for_screen () > from /opt/gnome/lib/libgtk-x11-2.0.so.0 > No symbol table info available. > #25 0xb7d48985 in gtk_settings_get_default () > from /opt/gnome/lib/libgtk-x11-2.0.so.0 > No symbol table info available. > #26 0x080ebf95 in xg_initialize () at gtkutil.c:3910 > binding_set = <value optimized out> > #27 0x080c66b5 in x_term_init (display_name=140082411, xrm_option=0x0, > resource_name=0x8593a80 "emacs") at xterm.c:10435 > value = <value optimized out> > connection = <value optimized out> > dpy = <value optimized out> > dpyinfo = <value optimized out> > xrdb = <value optimized out> > #28 0x080d1e41 in Fx_open_connection (display=140082411, xrm_string=137455817, > must_succeed=137455865) at xfns.c:4071 > dpyinfo = <value optimized out> > #29 0x08159a5a in Ffuncall (nargs=4, args=0xbffe1d50) at eval.c:3003 > fun = <value optimized out> > original_fun = 137668761 > funcar = <value optimized out> > numargs = 3 > val = <value optimized out> > ---Type <return> to continue, or q <return> to quit--- > backtrace = { > next = 0xbffe1e20, > function = 0xbffe1d50, > args = 0xbffe1d54, > nargs = 3, > evalargs = 0 '\0', > debug_on_exit = 0 '\0' > } > internal_args = (Lisp_Object *) 0xbffe1d54 > i = <value optimized out> > #30 0x081842e7 in Fbyte_code (bytestr=140082059, vector=140083988, > maxdepth=48) > at bytecode.c:679 > v1 = <value optimized out> > v2 = <value optimized out> > op = 8 > vectorp = (Lisp_Object *) 0x8598318 > stack = { > pc = 0x8593841 "\210\320\025\321 \322\245\323Z\0165^\0265\324 > \210\325\0166\317\"\210\326 \210\327\0167\236A\206[", > top = 0xbffe1d5c, > bottom = 0xbffe1d50, > byte_string = 140082059, > byte_string_start = 0x8593814 "\306\b!\020\t;\204 ", > constants = 140083988, > next = 0xbffe22d0 > } > top = <value optimized out> > result = <value optimized out> > #31 0x08158f83 in Feval (form=139021517) at eval.c:2334 > numargs = <value optimized out> > argvals = {140082059, 140083988, 48, 135728864, 0, 137455817, > -1073865144, 135721953} > args_left = 137455817 > i = 3 > fun = <value optimized out> > val = <value optimized out> > original_fun = 137549969 > original_args = 139021645 > funcar = <value optimized out> > ---Type <return> to continue, or q <return> to quit--- > backtrace = { > next = 0xbffe2258, > function = 0xbffe1e38, > args = 0xbffe1e00, > nargs = 3, > evalargs = 1 '\001', > debug_on_exit = 0 '\0' > } > #32 0x08171729 in readevalloop (readcharfun=137521369, stream=0x8578030, > sourcename=139979219, evalfun=0x8158bc0 <Feval>, printflag=0, > unibyte=137455817, readfun=137455817, start=137455817, end=137455817) > at lread.c:1528 > c = <value optimized out> > val = 139021517 > b = (struct buffer *) 0x0 > continue_reading_p = 1 > whole_buffer = 0 > first_sexp = 0 > #33 0x08172c90 in Fload (file=140052195, noerror=137455817, > nomessage=137455865, nosuffix=137455817, must_suffix=137455817) > at lread.c:998 > val = <value optimized out> > stream = (FILE *) 0x8578030 > fd = 6 > found = 139978187 > efound = <value optimized out> > hist_file_name = 139978187 > newer = 0 > compiled = 1 > handler = <value optimized out> > safe_p = 1 > tmp = {139020453, 138191461} > #34 0x08159aaf in Ffuncall (nargs=4, args=0xbffe2290) at eval.c:3011 > fun = <value optimized out> > original_fun = 5 > funcar = <value optimized out> > numargs = 3 > val = <value optimized out> > backtrace = { > ---Type <return> to continue, or q <return> to quit--- > next = 0xbffe2350, > function = 0xbffe2290, > args = 0xbffe2294, > nargs = 3, > evalargs = 0 '\0', > debug_on_exit = 0 '\0' > } > internal_args = (Lisp_Object *) 0xbffe2210 > i = <value optimized out> > #35 0x081842e7 in Fbyte_code (bytestr=136583987, vector=136584012, > maxdepth=32) > at bytecode.c:679 > v1 = <value optimized out> > v2 = <value optimized out> > op = 8 > vectorp = (Lisp_Object *) 0x8241b50 > stack = { > pc = 0x82786d8 "\210\306\207", > top = 0xbffe229c, > bottom = 0xbffe2290, > byte_string = 136583987, > byte_string_start = 0x82786c6 "\b\203\023", > constants = 136584012, > next = 0xbffe24e0 > } > top = <value optimized out> > result = <value optimized out> > #36 0x08158f83 in Feval (form=136583973) at eval.c:2334 > numargs = <value optimized out> > argvals = {136583987, 136584012, 32, 135575154, 137543633, 137092210, > 137455817, 137092228} > args_left = 137455817 > i = 3 > fun = <value optimized out> > val = <value optimized out> > original_fun = 137549969 > original_args = 136583981 > funcar = <value optimized out> > backtrace = { > next = 0xbffe2588, > ---Type <return> to continue, or q <return> to quit--- > function = 0xbffe2368, > args = 0xbffe2330, > nargs = 3, > evalargs = 1 '\001', > debug_on_exit = 0 '\0' > } > #37 0x0815b57f in internal_lisp_condition_case (var=137500497, > bodyform=136583973, handlers=136584077) at eval.c:1426 > val = <value optimized out> > c = { > tag = 137455817, > val = 137455817, > next = 0xbffe275c, > gcpro = 0x0, > jmp = {{ > __jmpbuf = {137455817, -1073863536, 81, -1073863560, -710222492, > 1648446013}, > __mask_was_saved = 0, > __saved_mask = { > __val = {136113076, 137455817, 136113016, 136113048, 1, 3221103640, > 135632099, 64, 137455817, 32, 3221103764, 136113020, 4, 137781400, > 4, 1, 0, 0, 136113020, 137851681, 1, 3221103736, 135633105, > 140050433, 136167349, 137549969, 136167328, 136167333, 137693064, > 3221103688, 137576842, 137576840} > } > }}, > backlist = 0xbffe2588, > handlerlist = 0xbffe2824, > lisp_eval_depth = 2, > pdlcount = 4, > poll_suppress_count = 1, > interrupt_input_blocked = 0, > byte_stack = 0xbffe24e0 > } > h = { > handler = 136584077, > var = 137500497, > chosen_clause = 137455817, > tag = 0xbffe2398, > ---Type <return> to continue, or q <return> to quit--- > next = 0xbffe2824 > } > #38 0x081835c5 in Fbyte_code (bytestr=136582811, vector=136582828, > maxdepth=56) > at bytecode.c:869 > handlers = <value optimized out> > body = 8 > op = 1953719668 > vectorp = (Lisp_Object *) 0x82416b0 > stack = { > pc = 0x8278763 "\210\334 \204l", > top = 0xbffe2490, > bottom = 0xbffe2490, > byte_string = 136582811, > byte_string_start = 0x8278708 > "\b\021\306\307!\210\306\310!\210\306\311!\210\312\313!\211\032\314=\2046", > constants = 136582828, > next = 0xbffe2610 > } > top = (Lisp_Object *) 0xbffe2490 > result = <value optimized out> > #39 0x081594ca in funcall_lambda (fun=136582788, nargs=0, > arg_vector=0xbffe25c4) at eval.c:3184 > val = <value optimized out> > syms_left = <value optimized out> > next = <value optimized out> > i = 0 > optional = 0 > rest = 0 > #40 0x081598d1 in Ffuncall (nargs=1, args=0xbffe25c0) at eval.c:3054 > fun = 136582788 > original_fun = 139727761 > funcar = <value optimized out> > numargs = 0 > val = <value optimized out> > backtrace = { > next = 0xbffe2710, > function = 0xbffe25c0, > args = 0xbffe25c4, > nargs = 0, > ---Type <return> to continue, or q <return> to quit--- > evalargs = 0 '\0', > debug_on_exit = 0 '\0' > } > internal_args = (Lisp_Object *) 0xbffe25c4 > i = <value optimized out> > #41 0x081842e7 in Fbyte_code (bytestr=136579731, vector=136579748, > maxdepth=48) > at bytecode.c:679 > v1 = <value optimized out> > v2 = <value optimized out> > op = 8 > vectorp = (Lisp_Object *) 0x8240aa8 > stack = { > pc = 0x82793b1 "*\207", > top = 0xbffe25c0, > bottom = 0xbffe25c0, > byte_string = 136579731, > byte_string_start = 0x8279327 "\b\203\b", > constants = 136579748, > next = 0x0 > } > top = <value optimized out> > result = <value optimized out> > #42 0x081594ca in funcall_lambda (fun=136579708, nargs=0, > arg_vector=0xbffe2690) at eval.c:3184 > val = <value optimized out> > syms_left = <value optimized out> > next = <value optimized out> > i = 0 > optional = -1219801291 > rest = 139902472 > #43 0x081596be in apply_lambda (fun=136579708, args=137455817, eval_flag=1) > at eval.c:3108 > args_left = 136579704 > arg_vector = (Lisp_Object *) 0x74736574 > i = 0 > tem = 137455817 > #44 0x08158da2 in Feval (form=139258597) at eval.c:2370 > fun = 1953719668 > val = <value optimized out> > ---Type <return> to continue, or q <return> to quit--- > original_fun = 139747361 > original_args = 137455817 > funcar = 8 > backtrace = { > next = 0x0, > function = 0xbffe2728, > args = 0xbffe2690, > nargs = 0, > evalargs = 0 '\0', > debug_on_exit = 0 '\0' > } > #45 0x080fa483 in top_level_2 () at keyboard.c:1335 > No locals. > #46 0x08158512 in internal_condition_case (bfun=0x80fa470 <top_level_2>, > handlers=137500497, hfun=0x80fd880 <cmd_error>) at eval.c:1481 > val = <value optimized out> > c = { > tag = 137455817, > val = 137455817, > next = 0xbffe2870, > gcpro = 0x0, > jmp = {{ > __jmpbuf = {0, 137781416, 137781400, -1073862600, -710223436, > 1648458277}, > __mask_was_saved = 0, > __saved_mask = { > __val = {1, 268435456, 3221104788, 0, 0, 0, 0, 0, 3221104688, > 3085985496, 134540179, 110932256, 16777216, 0 <repeats 14 times>, > 3074797548, 3075932160, 3085983732, 134527796, 3085985496} > } > }}, > backlist = 0x0, > handlerlist = 0x0, > lisp_eval_depth = 0, > pdlcount = 2, > poll_suppress_count = 1, > interrupt_input_blocked = 0, > byte_stack = 0x0 > } > ---Type <return> to continue, or q <return> to quit--- > h = { > handler = 137500497, > var = 137455817, > chosen_clause = 136008808, > tag = 0xbffe275c, > next = 0x0 > } > #47 0x080fcbe0 in top_level_1 () at keyboard.c:1343 > No locals. > #48 0x081585ca in internal_catch (tag=137496705, func=0x80fcbb0 <top_level_1>, > arg=137455817) at eval.c:1222 > c = { > tag = 137496705, > val = 137455817, > next = 0x0, > gcpro = 0x0, > jmp = {{ > __jmpbuf = {0, 137781416, 137781400, -1073862344, -710224252, > 1648458585}, > __mask_was_saved = 0, > __saved_mask = { > __val = {14, 0, 139842507, 22, 22, 3221104504, 135547292, 139842504, > 22, 22, 22, 3221104788, 4294967295, 3221104520, 135547461, > 139842504, 137639970, 137639968, 137639352, 3221104920, 135573100, > 137639353, 137639970, 137455817, 137487680, 137455841, 2, 0, > 137639352, 137639353, 137455817, 3221104984} > } > }}, > backlist = 0x0, > handlerlist = 0x0, > lisp_eval_depth = 0, > pdlcount = 2, > poll_suppress_count = 1, > interrupt_input_blocked = 0, > byte_stack = 0x0 > } > #49 0x080fd699 in command_loop () at keyboard.c:1300 > No locals. > #50 0x080fda5a in recursive_edit_1 () at keyboard.c:1003 > ---Type <return> to continue, or q <return> to quit--- > val = <value optimized out> > #51 0x080fdb47 in Frecursive_edit () at keyboard.c:1064 > buffer = <value optimized out> > #52 0x080f3bbb in main (argc=3, argv=0xbffe2dc4) at emacs.c:1779 > tz = 0x0 > dummy = -1073861320 > stack_bottom_variable = 8 '\b' > do_initial_setlocale = 1 > skip_args = 0 > rlim = { > rlim_cur = 8388608, > rlim_max = 18446744073709551615 > } > no_loadup = 0 > junk = 0x0 > > Lisp Backtrace: > "x-open-connection" (0x8597ceb) > "byte-code" (0x8597b8b) > "load" (0x85906e3) > "byte-code" (0x8241b33) > "command-line" (0x85601d3) > "normal-top-level" (0x83168c9) > > > > > _______________________________________________ > emacs-pretest-bug mailing list > emacs-pretest-bug@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug _______________________________________________ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug