Hello,

I use mutt and happened to receive an email that caused st to crash. It turned 
out that the email contained a unicode emoji character for which I didn't have 
a suitable font.

The character in question was U+1F917. I was able to reproduce the crash in st 
by cat-ing a file containing the single bad character. Pasting it from the X 
clipboard also reliably causes the crash.

This is the error that is produced:

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:  1442
Current serial number in output stream:  1454

I'm guessing that somewhere a 'missing glyph' error isn't getting checked, but 
I wasn't able to find the relevant code from a quick perusal.

Anyway, the same issue seems to exist in dmenu. As a sanity check, I checked 
against the following:

1) different X terminal, i.e. xterm,
2) different character with missing glyph, i.e. U+1F642, and
3) installing a font with the appropriate glyphs, i.e. Symbola.

As far as I can tell, the crash reliably occurs in st when attempting to 
display a character that has no associated glyph. As a workaround, I was able 
to install the Symbola font which
apparently contains several unicode emoji.

Attachment: signature.asc
Description: PGP signature

Reply via email to