git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: bug report: gitk crashes on git commit with emoji (utf-8)

From
Đoàn Trần Công Danh <congdanhqx@gmail.com>
Date
Oct 11, 2020, 12:32 UTC
Message-ID
<20201011123251.GA26193@danh.dev>
In-Reply-To
<1e06bde8-ae70-2653-5112-c97c9ee021da@gmail.com>
On 2020-10-05 13:33:02+0200, Tomek Mrugalski <tomasz.mrugalski@gmail.com> wrote:
Show 31 quoted lines
> Hi there,
> 
> I'd like to report a bug in gitk. gitk crashes when trying to view a
> repository that has utf-8 chars in the commit comments.
> 
> System: Ubuntu 20.04
> Tested gitk versions:
> - 2.25 (the default in ubuntu 20.04),
> - 2.28 (installed from ppa:git-core/ppa),
> - latest (next branch, commit fdf196b9972337a0285dae59f904f62f989fbca8)
> 
> Steps to reproduce the issue:
> 
> I've isolated the commit in our repo that causes this problem and pushed
> it here: https://github.com/tomaszmrugalski/gitk-bug-emoji
> The repo is small (only 3 commits). The offending commit that seems to
> trigger this bug seems to be 3ad99781c449da3b1b42a098c4a820455050eb44.
> 
> git clone https://github.com/tomaszmrugalski/gitk-bug-emoji
> cd gitk-bug-emoji
> gitk
> 
> Actual behavior:
> 
> $ ~/devel-ssd/git/gitk-git/gitk
> 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:  3065
>   Current serial number in output stream:  3148

This looks like a bug in libXft, multiple projects see this problem. As far as I understand, gitk uses tk to render graphic, we couldn't do anything with this problem.

Workaround: Don't install coloured-emoji font.

Thanks, -- Danh

Show 55 quoted lines
> 
> There is a window showing up for a split second (too fast to even
> notice its content), then it disappears and the aforementioned
> X Error is shown in the console.
> 
> I've tried removing ~/.config/git/gitk, but that didn't help.
> 
> Expected behavior:
> 
> gitk should not crash. The window should show the git history.
> 
> It's very much ok if gitk doesn't show the emoji, but it shouldn't
> crash. I've tried to look for existing bug reports, but couldn't find
> anything useful.
> 
> System info (as produced by git bugreport)
> git version:
> git version 2.28.0.1022.gfdf196b997
> cpu: x86_64
> built from commit: fdf196b9972337a0285dae59f904f62f989fbca8
> sizeof-long: 8
> sizeof-size_t: 8
> shell-path: /bin/sh
> uname: Linux 5.4.0-48-generic #52-Ubuntu SMP Thu Sep 10 10:58:49 UTC
> 2020 x86_64
> compiler info: gnuc: 9.3
> libc info: glibc: 2.31
> $SHELL (typically, interactive shell): /bin/bash
> 
> The same error happens on earlier versions 2.25 and 2.28. Here's output
> from 2.28:
> 
> git version:
> git version 2.28.0
> cpu: x86_64
> no commit associated with this build
> sizeof-long: 8
> sizeof-size_t: 8
> shell-path: /bin/sh
> uname: Linux 5.4.0-48-generic #52-Ubuntu SMP Thu Sep 10 10:58:49 UTC
> 2020 x86_64
> compiler info: gnuc: 9.3
> libc info: glibc: 2.31
> $SHELL (typically, interactive shell): /bin/bash
> 
> Is there a workaround I could try?
> 
> I'm willing to help with debugging the problem or testing patches.
> I'm not sure how long I'll be able to remain subscribed to this list
> due to the traffic volume.
> 
> Other than that, gitk has been rock solid stable for me and I've been
> using it for years. Thanks a lot for providing this great tool.
> 
> Tomek Mrugalski
-- 
Danh
Previous: Tomek Mrugalski
Message 4 of 4 in “bug report: gitk crashes on git commit with emoji (utf-8)”
  1. Tomek MrugalskiOct 5, 2020
  2. Peter OberndorferOct 11, 2020
  3. Tomek MrugalskiOct 13, 2020
  4. Đoàn Trần Công DanhOct 11, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.