Subject: Re: bug#59715: 28.2; Emacs crashes after ``turkish-case-conversion-enable''

From: YUSUF ALPER ÇIKIŞIR <[email-masked]>
Date: Sun, 04 Dec 2022 01:09:05 +0300

Eli Zaretskii <[email-masked]> writes:

> First, is it possible that the buffer that was the current one when this
> happened had a name with one or more Turkish non-ASCII characters?

No, it used to happen on *scratch* buffer also.

> Next, please run Emacs under GDB like this:
>
>   $ gdb /path/to/emacs
>   ...
>   (gdb) break xfaces.c:5847
>   (gdb) run

GDB says: "No symbol table is loaded.  Use the "file" command."
GNU Guix doesn't suit the FHS.  Maybe this is why GDB couldn't find the
symbol table, and I don't know how to present it.  Maybe you can help me
with that.

I compiled emacs-28.2 on a separate directory and ran that emacs binary
under GDB.  But now I couldn't reproduce the problem because after the
"run" command, Emacs never showed up.  Instead, it encountered the
breakpoint immediately.

(gdb) break xfaces.c:5847
Breakpoint 1 at 0x4d8725: file xfaces.c, line 5850.
(gdb) run -Q
Starting program: /home/ytc/repo/emacs-28.2/src/emacs -Q
warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.

Breakpoint 1, realize_face (cache=0xb1a270, attrs=0x7fffffffc8b0, former_face_id=<optimized out>) at xfaces.c:5850
5850	  cache_face (cache, face, lface_hash (attrs));
(gdb) print cache
$1 = (struct face_cache *) 0xb1a270
(gdb) print cache->f
$2 = (struct frame *) 0xadcdc0
(gdb) print cache->f->output_method
$3 = output_initial

>> Yes, now I'm using the default emacs-28.2 package in GNU Guix.
>
> Do you happen to know whether this distribution includes any changes to the
> upstream Emacs sources, or installs some site-init files that are used
> during startup?

Guix doesn't have any site-init.el, but it had some patches.  I removed
them but it's still the same.  I compiled vanilla emacs-28.2 as I said.
It happens anyway.  I discovered that when I change the default
monospace font to DejaVu Sans Mono, it stopped happening.  The crash was
probably related to my font choice.  But how could that be?  That font
didn't lack of any Turkish characters.

I was using this font:
https://git.sr.ht/~protesilaos/iosevka-comfy