unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: kirill@korins.ky
Cc: 71712@debbugs.gnu.org
Subject: bug#71712: 29.3; Crash on OpenBSD
Date: Sat, 22 Jun 2024 10:45:01 +0300	[thread overview]
Message-ID: <864j9lju9u.fsf@gnu.org> (raw)
In-Reply-To: <e138fc9f41965470@mx1.catap.net> (message from Kirill A. Korinsky on Sat, 22 Jun 2024 01:01:34 +0100)

> Date: Sat, 22 Jun 2024 01:01:34 +0100
> From: Kirill A. Korinsky <kirill@korins.ky>
> 
> #8  gui_produce_glyphs (it=0x723f0516bb70) at xdisp.c:31959
>         char2b = <optimized out>
>         face = 0x0
>         font = <optimized out>
>         pcm = <optimized out>
>         boff = <optimized out>
>         extra_line_spacing = 0
> #9  0x00000bf72613ced7 in produce_special_glyphs (it=0x723f0516cf78, what=<optimized out>) at xdisp.c:31605

Thanks.  Is this reproducible?  If so, can you show a recipe,
preferably starting from "emacs -Q"?

FWIW, I looked at the code, and I cannot understand how this could
happen.  The cause of the crash is that 'face' is NULL, so face->font
segfaults.  But 'face' is obtained from 'face_id', which is zero,
i.e. it's the default face:

>        glyph = {ch = 36, face_id = 0}

And init_iterator, which called produce_special_glyphs, makes sure the
basic faces, including the default face, are recomputed just before
the call to produce_special_glyphs:

  if (FRAME_FACE_CACHE (it->f) == NULL)
    init_frame_faces (it->f);
  if (FRAME_FACE_CACHE (it->f)->used == 0)
    recompute_basic_faces (it->f);

And recompute_basic_faces aborts if it is unsuccessful in recomputing
the basic faces, one of which is the default face.  Which didn't
happen here.  So how this could happen is a mystery to me; I'm
probably missing something.





  parent reply	other threads:[~2024-06-22  7:45 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-22  0:01 bug#71712: 29.3; Crash on OpenBSD Kirill A. Korinsky
2024-06-22  1:24 ` Stefan Kangas
2024-06-22  7:45 ` Eli Zaretskii [this message]
2024-06-22  9:28   ` Kirill A. Korinsky
2024-06-22 10:00     ` Eli Zaretskii
2024-06-22 11:00       ` Kirill A. Korinsky
2024-06-22 12:59       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-06-22 14:41         ` Kirill A. Korinsky
2024-06-22 15:55           ` Eli Zaretskii
2024-06-26  9:11             ` Kirill A. Korinsky
2024-06-26 13:14               ` Eli Zaretskii
2024-06-26 15:58                 ` Kirill A. Korinsky
2024-06-26 16:11                   ` Eli Zaretskii
2024-06-26 22:00                     ` Kirill A. Korinsky
2024-06-27  5:33                       ` Eli Zaretskii
2024-06-27 11:44                         ` Kirill A. Korinsky
2024-06-27 12:33                           ` Eli Zaretskii
2024-06-27 13:36                             ` Kirill A. Korinsky
2024-06-27 14:19                               ` Gerd Möllmann
2024-06-27 14:43                                 ` Kirill A. Korinsky
2024-06-27 15:01                                   ` Gerd Möllmann
2024-06-30  8:52                               ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-06-30 16:42                                 ` Kirill A. Korinsky
2024-06-30 17:40                                   ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-06-30 22:58                                     ` Kirill A. Korinsky
2024-07-01  9:10                                       ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-01 11:18                                       ` Eli Zaretskii
2024-07-01 13:29                                         ` Kirill A. Korinsky
2024-07-01 13:43                                           ` Eli Zaretskii
2024-07-01 15:17                                             ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-01 16:04                                               ` Eli Zaretskii
2024-07-01 16:42                                                 ` Kirill A. Korinsky
2024-07-01 17:36                                                   ` Eli Zaretskii
2024-07-01 18:38                                                     ` Kirill A. Korinsky

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=864j9lju9u.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=71712@debbugs.gnu.org \
    --cc=kirill@korins.ky \
    /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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).