Description
Describe the bug
I have certain unicode codepoints used for apps in the status bar.
Current problematic codepoints include:
1f98a
(🦊)
When I restart penrose (pkill penrose
) the status bar causes a crashloop in penrose. This can be fixed by either disabling the bar or disabling the above codepoints in the status bar, and killing again. This occurs in both release and debug builds.
The error I get in logs is not a rust error but an X error;
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: 347
Current serial number in output stream: 409
...
To Reproduce
I haven't experienced this issue on NixOS, only on Pop!_OS (Ubuntu-based). I thought that installing the appropriate nerd font (which I verified was available with fc-list | grep "Hasklug Nerd Font Mono"
) would fix the issue. But so far, that doesn't seem to be the case.
Steps to reproduce the behavior:
- Use the above codepoint(s) in the status bar.
Alternatively
- Try my penrose build https://github.com/bbarker/dotpenrose - the readme can be ignored.
Expected behavior
If the glyph is missing, it should render something (nothing?) without crashing.
...
Screenshots
Discord thread
https://discord.com/channels/1042031165349040148/1294330952654520350
Versions & OS Details
$ uname -a
Linux pop-os-thelio-major 6.9.3-76060903-generic #202405300957~1726766035~22.04~4092a0e SMP PREEMPT_DYNAMIC Thu S x86_64 x86_64 x86_64 GNU/Linux
$ grep penrose Cargo.toml
name = "dotpenrose"
"crates/penrose_bbarker_contrib"
penrose = { version = "0.3.6", features = ["keysyms", "serde"] }
penrose_ui = { version = "0.3.6" }
penrose_bbarker_contrib = { version = "0.1.2", path = "crates/penrose_bbarker_contrib" }
$ glxinfo | head
name of display: :1
display: :1 screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
server glx extensions:
GLX_ARB_context_flush_control, GLX_ARB_create_context,
GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile,
GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,
GLX_ARB_multisample, GLX_EXT_buffer_age,
Additional context
- minimal main.rs that reproduces the issue
- debug log output