Description
On Fedora with Wayland/Hyprland, the Buzz AppImage opens as a blank, transparent window and then aborts while rendering an emoji.
Error
././/include/c++/12/bits/stl_vector.h:1123: constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator [with _Tp = {anonymous}::colrv1_configure_skpaint(FT_Face, const SkSpan&, SkColor, const FT_COLR_Paint&, SkPaint*)::<lambda(const FT_ColorStopIterator&, std::vector&, std::vector<SkRGBA4f<kUnpremul_SkAlphaType> >&)>::ColorStop; _Alloc = std::allocator<{anonymous}::colrv1_configure_skpaint(FT_Face, const SkSpan&, SkColor, const FT_COLR_Paint&, SkPaint*)::<lambda(const FT_ColorStopIterator&, std::vector&, std::vector<SkRGBA4f<kUnpremul_SkAlphaType> >&)>::ColorStop>; reference = {anonymous}::colrv1_configure_skpaint(FT_Face, const SkSpan&, SkColor, const FT_COLR_Paint&, SkPaint*)::<lambda(const FT_ColorStopIterator&, std::vector&, std::vector<SkRGBA4f<kUnpremul_SkAlphaType> >&)>::ColorStop&; size_type = long unsigned int]: Assertion '__n < this->size()' failed.
This appears to be triggered when WebKitGTK/Skia renders Fedora's COLRv1 Noto Color Emoji font. The same crash has been reported in other WebKitGTK-based AppImages: farion1231/cc-switch#2176
Reproduction
- Run the Buzz AppImage on Fedora under Wayland/Hyprland.
- Open a view containing emoji, or allow the initial UI to render.
- The window remains blank/transparent and the process aborts with the
assertion above.
Workaround
A Fontconfig override that prevents Buzz from using the system color emoji font avoids the crash.
Suggested fix
Bundle and preload a non-COLRv1 emoji font in the desktop application before React renders, and place it ahead of generic font fallbacks. Native Apple and Segoe emoji fonts could remain preferred on macOS and Windows.
Environment
- Buzz: v0.4.23 AppImage
- Distribution: Fedora
- Display server: Wayland
- Compositor: Hyprland
Description
On Fedora with Wayland/Hyprland, the Buzz AppImage opens as a blank, transparent window and then aborts while rendering an emoji.
Error
This appears to be triggered when WebKitGTK/Skia renders Fedora's COLRv1 Noto Color Emoji font. The same crash has been reported in other WebKitGTK-based AppImages: farion1231/cc-switch#2176
Reproduction
assertion above.
Workaround
A Fontconfig override that prevents Buzz from using the system color emoji font avoids the crash.
Suggested fix
Bundle and preload a non-COLRv1 emoji font in the desktop application before React renders, and place it ahead of generic font fallbacks. Native Apple and Segoe emoji fonts could remain preferred on macOS and Windows.
Environment