Re: [dev] [libsl] crashes when redering emojis

From: Hiltjo Posthuma <hiltjo_AT_codemadness.org>
Date: Wed, 18 Jan 2017 18:36:33 +0100

On Tue, Jan 17, 2017 at 08:47:09PM +0100, Sören Tempel wrote:
> Hello there,
>
> I believe I found a bug in libsl. The drw_text function from libsl
> crashes with an X Error when the passed text contains an emoji. The
> exact error message is the following:
>
> X Error of failed request: BadLength (poly request too large or internal Xlib length error)
> Major opcode of failed request: 138 (RENDER)
> Minor opcode of failed request: 20 (RenderAddGlyphs)
> Serial number of failed request: 28
> Current serial number in output stream: 29
>
> I reproduced this bug with dwm and dmenu. When using dmenu you can
> reproduce this bug in the following way: First of all you will need to
> have a font installed which actually supports emojis. I used Googles
> noto emoji font [1]. After installing such a font it will be
> automatically picked up by libsl as a fallback font for emojis (assuming
> that the font you configured in config.h doesn't support them).
>
> To reproduce the error message shown above you will then just need to
> pass an emoji to dmenu over stdin. I used the clown face (U+1F921) but
> different emojis should also work.
>
> Even though the instructions above are limited to dmenu it also effects
> other suckless software using libsl, for instance dwm. Among other
> things dwm uses drw_text to display the title of the current window in
> the topbar. This is somewhat annoying because if you open a webpage
> containing an emoji in its title (assuming your web browser sets the
> window title to the page title) your entire window manager will crash.
>
> I tried to resolve the issue myself the only thing I managed to figure
> out is that the Xlib function causing the crash is XftTextExtentsUtf8
> which is called from drw_font_getexts (called from drw_text). However, I
> I am too inexperienced with Xlib myself to come up with a patch.
>
> Sören.
>
> [1]: https://github.com/googlei18n/noto-emoji
>

I cannot reproduce this issue, but it has been reported before.

Do you use the latest git version for dmenu? Do you have any custom patches or
changes applied?

What OS / distro and library versions do you use?

Can you provide your config.h, font configuration files and command you used
to generate the text?

-- 
Kind regards,
Hiltjo
Received on Wed Jan 18 2017 - 18:36:33 CET

This archive was generated by hypermail 2.3.0 : Wed Jan 18 2017 - 18:48:14 CET