Skip to content

[Bug] AppImage crashes when rendering COLRv1 emoji fonts on Fedora #2548

Description

@tnull

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

  1. Run the Buzz AppImage on Fedora under Wayland/Hyprland.
  2. Open a view containing emoji, or allow the initial UI to render.
  3. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions