Ubuntu, DWM, Discord and Desktop Crashing Emoji's

written by Chris Goodwin on 12/22/2022

I ran into a fun issue the other day. I was on my Ubuntu machine (which uses Suckless' DWM), went to open Discord to talk with some friends and everything just crashed and I was presented with the 'login' screen.

That sounds like a fun issue? I can hear the grumbles.

Well, I thought perhaps it was my compositor (picom) since that is what the crash log (var/crash) seemed to indicate. But a deeper dive into the logs presented me with some potential issues with the Nvidia library.

I was a bit lost. I kept scouring the internet - looking through documentation for Picom, DWM, Discord... I tried downgrading the Nvidia drivers... all to no avail.

I soon realized it was only certain Discord Servers/Channels/Messages that would cause the crash - so I started digging in that direction.

It wasn't long before I ran across someone who had linked to this DWM commit:

https://git.suckless.org/dwm/commit/970f37697358574e127019eb0ee2f5725ec05ce0.html

As it turns out, when it comes to Ubuntu, we would be talking about the Xft library which tends to be a little bit older with Ubuntu - because the updates don't come as frequent. There was a bug where it will crash if it receives a colored emoji - and that pretty much 'made sense' with the issues with Discord. Why some things would open and others would not; it was because of the emoji's attached to them!

I looked into that git commit a bit further, reverted those changes in my own DWM files (drw.c to be specific) and reinstalled DWM (sudo make install).

Then I logged out, logged into DWM and opened Discord. No crashes! I was chatting with my friends and communities once again.

TL;DR :

  1. Ensure Ubuntu is up to date (sudo apt update -> sudo-apt-upgrade)
  2. Find your DWM installation and revert the changes listed in this DWM git commit
  3. Rebuild DWM (sudo make install)
  4. Log out / Log in to your DWM environment
  5. Enjoy!

Did you find this article helpful?

Feel free to help me keep this blog going (with coffee)!