all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Tassilo Horn <tsdh@gnu.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: help-gnu-emacs@gnu.org
Subject: Re: Emacs 28: Specific TTF font gets loaded with font-backend x instead of ftcrhb
Date: Sat, 08 Feb 2020 10:39:22 +0100	[thread overview]
Message-ID: <87v9oh8lkl.fsf@gnu.org> (raw)
In-Reply-To: <83y2teedbh.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 07 Feb 2020 15:28:50 +0200")

Eli Zaretskii <eliz@gnu.org> writes:

>> By the way, if I enable ligatures, I get reproducible infloops or
>> something alike.  The visual bell starts ringing/blinking, C-g won't
>> help, and even with debug-on-{error,quit} I'm unable to get into the
>> debugger.  I can reproduce that simply by starting Gnus and trying to
>> enter a group but I got that also once with pushing my commits in
>> Magit and sometimes when quitting emacs with C-x C-c.
>> 
>> Attached is a GDB backtrace.
>
> Some Lisp error happens during command processing.  We need to know
> which error.  Try this:
>
>   (gdb) frame 16
>   (gdb) pp data
>
> The number 16 may need to be changed, it should be the number of this
> call-stack frame:
>
>   #16 0x000055555566d191 in cmd_error (data=XIL(0x555558f70713)) at
> keyboard.c:953

(gdb) frame 16
#16 0x000055555566d16e in cmd_error (data=XIL(0x555559b53a43))
    at keyboard.c:953
953	  cmd_error_internal (data, macroerror);
(gdb) pp data
(error "Attempt to shape unibyte text")

That's signalled in composite.c's Fcomposition_get_gstring function,
either line 1738 or 1749.  I've set beakpoints there, and now I have an
emacs instance halted at 1749.

Thread 1 "emacs" hit Breakpoint 4, Fcomposition_get_gstring (
    from=<optimized out>, to=<optimized out>, font_object=XIL(0x5555562346e5), 
    string=XIL(0x555556a34ec4)) at composite.c:1749
1749		error ("Attempt to shape unibyte text");

The backtrace is this:

--8<---------------cut here---------------start------------->8---
(gdb) bt
#0  0x000055555572f850 in Fcomposition_get_gstring
    (from=<optimized out>, to=<optimized out>, font_object=XIL(0x5555562346e5), string=XIL(0x555556a34ec4)) at composite.c:1749
#1  0x000055555572fd75 in autocmp_chars
    (rule=XIL(0x555556899e35), charpos=<optimized out>, bytepos=0, limit=2, win=0x55555621c3e0, face=0x5555588fa5d0, string=XIL(0x555556a34ec4), direction=XIL(0x25b0)) at lisp.h:1147
#2  0x00005555557331ea in composition_reseat_it
    (cmp_it=0x7fffffff9340, charpos=0, bytepos=0, endpos=2, w=0x55555621c3e0, bidi_level=<optimized out>, face=0x5555588fa5d0, string=XIL(0x555556a34ec4))
    at composite.c:1222
#3  0x00005555555bcdba in next_element_from_string (it=0x7fffffff8ac0)
    at xdisp.c:8408
#4  0x00005555555bcbcd in next_element_from_string (it=0x7fffffff8ac0)
    at xdisp.c:8316
#5  0x00005555555bf267 in get_next_display_element (it=0x7fffffff8ac0)
    at xdisp.c:7518
#6  0x00005555555c50b9 in display_string
    (string=<optimized out>, lisp_string=<optimized out>, face_string=<optimized out>, face_string_pos=<optimized out>, start=<optimized out>, it=0x7fffffff8ac0, field_width=<optimized out>, precision=<optimized out>, max_x=871, multibyte=<optimized out>) at xdisp.c:26721
#7  0x00005555555c567a in display_mode_element
    (it=0x7fffffff8ac0, depth=3, field_width=0, precision=-3, elt=XIL(0x555556a3--Type <RET> for more, q to quit, c to continue without paging--c
4ec4), props=XIL(0), risky=false) at lisp.h:1541
#8  0x00005555555c6cd0 in display_mode_element (it=0x7fffffff8ac0, depth=1, field_width=0, precision=0, elt=XIL(0x555558f75af3), props=XIL(0), risky=<optimized out>) at lisp.h:1449
#9  0x00005555555c7590 in display_mode_line (w=<optimized out>, face_id=MODE_LINE_FACE_ID, format=XIL(0x555558f75b33)) at xdisp.c:25065
#10 0x00005555555c785b in display_mode_lines (w=0x55555621c3e0) at lisp.h:730
#11 0x00005555555e2894 in redisplay_window (window=XIL(0x55555621c3e5), just_this_one_p=<optimized out>) at xdisp.c:18861
#12 0x00005555555e3d77 in redisplay_window_0 (window=<optimized out>) at xdisp.c:16194
#13 0x00005555556dac06 in internal_condition_case_1 (bfun=0x5555555e3d48 <redisplay_window_0>, arg=XIL(0x55555621c3e5), handlers=<optimized out>, hfun=0x5555555a9fa8 <redisplay_window_error>) at eval.c:1379
#14 0x00005555555ad7d6 in redisplay_windows (window=XIL(0x55555621c3e5)) at xdisp.c:16174
#15 0x00005555555d1b0e in redisplay_internal () at xdisp.c:15642
#16 0x00005555555d2b5f in redisplay () at xdisp.c:14869
#17 0x0000555555673e35 in read_char (commandflag=1, map=XIL(0x555559798473), prev_event=XIL(0), used_mouse_menu=0x7fffffffe08b, end_time=0x0) at keyboard.c:2493
#18 0x0000555555677272 in read_key_sequence (keybuf=0x7fffffffe1c0, prompt=XIL(0), dont_downcase_last=<optimized out>, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9553
#19 0x0000555555677dd5 in command_loop_1 () at keyboard.c:1350
#20 0x00005555556dab90 in internal_condition_case (bfun=0x555555677bf8 <command_loop_1>, handlers=<optimized out>, hfun=0x55555566d058 <cmd_error>) at eval.c:1355
#21 0x0000555555669db5 in command_loop_2 (ignore=<optimized out>) at lisp.h:1032
#22 0x00005555556dab07 in internal_catch (tag=<optimized out>, func=0x555555669d99 <command_loop_2>, arg=XIL(0)) at eval.c:1116
#23 0x0000555555669acb in command_loop () at keyboard.c:1070
#24 0x000055555566cd2e in recursive_edit_1 () at keyboard.c:714
#25 0x000055555566cfb1 in Frecursive_edit () at keyboard.c:786
#26 0x0000555555668cc7 in main (argc=1, argv=0x7fffffffe608) at emacs.c:2037

Lisp Backtrace:
"redisplay_internal (C function)" (0x0)
--8<---------------cut here---------------end--------------->8---

I keep this instance open for inspection (but it is easy for me to get
there again anyway).  Just tell me what frames are of interest to you
and what I should inspect there.  (I guessed that maybe frame 6 could be
of interest to get the string but that's optimized out [should I requild
-O0?], and frame 14 to get the window but "p window" just prints $5 =
XIL(0x55555621c3e5)).

Bye,
Tassilo



  reply	other threads:[~2020-02-08  9:39 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-04 11:12 Emacs 28: Specific TTF font gets loaded with font-backend x instead of ftcrhb Tassilo Horn
2020-02-04 12:15 ` Robert Pluim
2020-02-04 12:25   ` Robert Pluim
2020-02-04 12:58     ` Tassilo Horn
2020-02-04 13:54       ` Robert Pluim
2020-02-04 14:21         ` Tassilo Horn
2020-02-04 16:26           ` Robert Pluim
2020-02-04 18:32             ` Tassilo Horn
2020-02-04 20:11               ` Robert Pluim
2020-02-05 16:51                 ` Tassilo Horn
2020-02-04 15:31     ` Eli Zaretskii
2020-02-04 18:43       ` Tassilo Horn
2020-02-04 19:08         ` Eli Zaretskii
2020-02-05 16:44           ` Tassilo Horn
2020-02-05 17:04             ` Eli Zaretskii
2020-02-06  7:12               ` Tassilo Horn
2020-02-06 18:15                 ` Eli Zaretskii
2020-02-07  9:21                   ` Tassilo Horn
     [not found]                   ` <b271f1084b17a53ee1583d1f8cd92e9ed21cf360.camel@gnu.org>
2020-02-07  9:48                     ` Eli Zaretskii
2020-02-07 10:41                       ` Tassilo Horn
2020-02-07 13:28                         ` Eli Zaretskii
2020-02-08  9:39                           ` Tassilo Horn [this message]
2020-02-08  9:52                             ` Tassilo Horn
2020-02-08 10:16                               ` Eli Zaretskii
2020-02-08 10:36                                 ` Eli Zaretskii
2020-02-08 12:29                                   ` Tassilo Horn
2020-02-08 13:50                                     ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87v9oh8lkl.fsf@gnu.org \
    --to=tsdh@gnu.org \
    --cc=eliz@gnu.org \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.