[dev] [st] crashes with BadLength

From: Tait Hoyem <tait_AT_tait.tech>
Date: Tue, 07 Apr 2020 16:35:29 +0000

Good day fellow suckless users!

Recently, I received an email from Google telling me where I've been this month.
I don't like it either, but I have Android, so what do ya do?

Anyway, the subject began with the unicode sequence \xf0\x9f\x8c\x88. Apparently this is the globe emoji.
When attempting to display the character I noticed that neomutt crashed, and so did my terminal!
To investigate, I open up xterm, urxvt and see how they respond to this.
Dashed-bordered box for sure, but not a crash.

Finally found the bad sequence in the actual mail file that mbsync downloaded, and if I echo -e the above sequence it crashes the terminal straight up.

The best I can do for now is provide some diagnostic information.
Interested in either:
a) ideas on how to fix it that I can do myself.
b) ideas on whether this is even an ST problem, or whether it's XLib (see error below).
or c) check font stack/locale because this is not our problem

To reproduce:
$ echo -e "\xf0\x9f\x8c\x88"
Other characters also cause this:
\U1F917 crashes ("hugging face")
\U1F61B does not ("face w/ tounge"; :P)

Result:
X Error of failed request: BadLength (poly request too large or internal Xlib length error)
  Major opcode of failed request: 139 (RENDER)
  Minor opcode of failed request: 20 (RenderAddGlyphs)
  Serial number of failed request: 675
  Current serial number in output stream: 738

uname -a
Linux archlinux 5.6.2-zen1-2-zen #1 ZEN SMP PREEMPT Sun, 05 Apr 2020 05:14:52 +0000 x86_64 GNU/Linux

pacman -Q libx11
libx11 1.6.9-6

Happy to provide any other information :)

Thanks for all the good work!
Received on Tue Apr 07 2020 - 18:35:29 CEST

This archive was generated by hypermail 2.3.0 : Tue Apr 07 2020 - 18:36:10 CEST