Subject: bug#76517: 31.0.50; feature/igc 6ff509af3d31 crash on Wayland KDE, (with -g3

From: Pip Cet <[email-masked]>
Date: Mon, 24 Feb 2025 15:49:38 +0000

"Eval Exec" <[email-masked]> writes:

> Hello,
> I'm helping to test feature/igc branch

Thanks for the report!

At first glance, the problem doesn't seem to be specific to feature/igc.

> #16 0x00000000004933d8 in c_string_width (nbytes=<synthetic pointer>,
> nchars=<synthetic pointer>, precision=<optimized out>, len=69,
>     str=0x7f1ec16860fa "\274\214我中间使用 充电宝给电脑冲了一次电。还行。。。") at

This string starts with an incomplete character sequence.  As the
screenshot at https://imgur.com/a/tON6P7w (why a screenshot?) shows, the
last character before that is "%", followed by what looks like "，", a
fullwidth comma.

It seems the "%" was interpreted as introducing a mode line escape,
which used the first byte of the three-byte encoding used for the
fullwidth comma.  The remaining bytes were then interpreted as the
beginning of a multi-byte character, which ended up out of range and
accessing an element of the display_table_ chartab which wasn't defined.

So I guess our mode line escapes need to be fixed for multibyte
characters, and hopefully no further action is necessary (you might also
want to consider not making mode line escapes part of your header
lines).

Does this make sense?  I'll investigate a little further to confirm or
deny the theory.

Pip