GNU bug report logs -
#39892
28.0.50; Crash when running async command
Previous Next
Reported by: Ravine Var <ravine.var <at> gmail.com>
Date: Wed, 4 Mar 2020 02:52:02 UTC
Severity: normal
Found in version 28.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> From: Robert Pluim <rpluim <at> gmail.com>
> Date: Wed, 04 Mar 2020 11:01:57 +0100
> Cc: 39892 <at> debbugs.gnu.org
>
> Ravine> * Start 'emacs -Q'
>
> Ravine> * Eval this: (set-fontset-font t 'unicode "Noto Sans Symbols2" nil 'append)
>
> Ravine> * In dired, run dired-do-async-shell-command (&) on configure.gz.gpg and
> Ravine> give 'gpg -d'. gpg now sends the decrypted output to stdout.
>
> Ravine> * At this point emacs crashes.
>
> Indeed. A simpler recipe is to do the set-fontset-font and then
>
> 'C-x 8 RET e9f8'
In fact, _any_ font seems to cause that, as long as the other
arguments of set-fontset-font are as above.
> The relevant code is:
>
> for (i = 0; i < size; i++)
> {
> Lisp_Object rfont_def = AREF (vec, i);
> Lisp_Object font_def = RFONT_DEF_FONT_DEF (rfont_def);
>
> 'vec' at that point is
>
> [
> [nil [#<font-spec nil nil nil nil iso10646-1 nil nil nil nil nil nil nil nil> 144 nil] nil 0]
> nil
> [nil [#<font-spec nil nil Noto\ Sans\ Symbols2 nil nil nil nil nil nil nil nil nil ((:name . "Noto Sans Symbols2"))> 0 0] nil 2]
> ]
>
> and i == 1, so rfont_def ends up as nil.
>
> How did that 'nil' get in there?
I don't know. The code seems to expect one nil as the last element of
the vector, but not in the middle. Note that the commentary at the
beginning of fontset.c explains when RFONT_DEF may be nil.
I will look into this soon if no one beats me to it.
Btw, U+E9F8 is a PUA character; how did it get into a context where we
are trying to display it?
This bug report was last modified 5 years and 74 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.