Looks like certain characters cause gitk to crash when it tries to render a diff. How to repro: git init echo foo >foo git add foo git commit -m foo # The following assumes bash builtin echo echo -e '\u2754' >foo gitk Now `foo` should contain the character U+2754 encoded as utf-8. If on gitk you click on "Local uncommitted changes", it'll crash with the following message: 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: 4220 Current serial number in output stream: 4247 Note that if I now commit, gitk will crash at startup because the diff with the character are on the last commit (which gitk selects by default) git commit -am crash gitk # crashes gitk HEAD^ # works fine After that, you can add a couple more commits and gitk works fine, unless you click on one of the commits whose diff contain the character. eg: echo foo >foo git commit -am foo echo bar >foo git commit -am bar gitk Version / System: $ git --version git version 2.20.1 $ lsb_release -d Description: Ubuntu 19.10