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
> [email protected]
> http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
_______________________________________________
emacs-pretest-bug mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug