Skip to content

Crash when searching for emotes in channel-less contexts #6354

Closed

Description

@ScrubN

Checklist

  • I'm reporting a problem with Chatterino
  • I've verified that I'm running the most recent nightly build or stable release
  • I've looked for my problem on the wiki
  • I've searched the issues and pull requests for similar looking reports

Describe your issue

When opening the emote menu in contexts where a channel doesn't exist (/mentions, /whispers, /automod, /live, etc.), then typing anything into the search bar, Chatterino will crash.

Steps to reproduce:

  1. Create a new/navigate to a /live tab
  2. Open the emote menu with the chat box button or Ctrl+E
  3. Type anything into the search bar
  4. Observe the crash

Screenshots

No response

OS and Chatterino Version

Chatterino 2.5.3 (commit 3f3a31d) built with Qt 6.7.1, MSVC 194334808, Crashpad Running on Windows 10 Version 22H2, kernel: 10.0.19045

Activity

  1. ScrubN commented on Jul 22, 2025

    @ScrubN
    ContributorAuthor

    Additionally, both sub and global emotes don't load when there's no channel context. Emojis still work as expected.

    Bad Good Bad Good
    Image Image Image Image
  2. added
    good first issue for humansThis issue is intended for humans who want to get familiar with contributing to Chatterino
    and removed
    issue-reportAn issue reported by a user.
    on Jul 22, 2025
  3. pajlada commented on Jul 22, 2025

    @pajlada
    Member

    This would be a good first issue for someone wanting to try out some Chatterino development.

    The problem comes from the emote popup (src/widgets/dialogs/EmotePopup.cpp)'s filterEmotes function trying to perform actions on the searchView_'s underlying channel. However, the underlying channel can be null, so we need to check that before attempting to use it.

    If someone is interesting in taking this task on and runs into any issues, feel free to use this issue to ask those questions, or ask in our Discord.

  4. ScrubN commented on Jul 22, 2025

    @ScrubN
    ContributorAuthor

    I can submit a PR for this, just fighting with vcpkg first 😅

  5. ScrubN commented on Jul 22, 2025

    @ScrubN
    ContributorAuthor

    Hmmm, vcpkg is complaining about a checksum mismatch for boost-variant2. Downloading the archive through my browser also leads to the same SHA512 hash as the actual from vcpkg.

    vcpkg output

    Detecting compiler hash for triplet x64-windows...
    Compiler found: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.44.35207/bin/Hostx64/x64/cl.exe
    The following packages are already installed:
      * boost-assert:x64-windows@1.85.0
      * boost-cmake:x64-windows@1.85.0
      * boost-config:x64-windows@1.85.0
      * boost-headers:x64-windows@1.85.0
      * boost-mp11:x64-windows@1.85.0
      * boost-predef:x64-windows@1.85.0
      * boost-throw-exception:x64-windows@1.85.0
      * boost-uninstall:x64-windows@1.85.0
      * boost-winapi:x64-windows@1.85.0
      * vcpkg-boost:x64-windows@2024-04-25
      * vcpkg-cmake:x64-windows@2024-04-18
      * vcpkg-cmake-config:x64-windows@2022-02-06#1
    The following packages will be built and installed:
      * boost-algorithm:x64-windows@1.85.0
      * boost-align:x64-windows@1.85.0
      * boost-array:x64-windows@1.85.0
        boost-asio:x64-windows@1.85.0
        boost-beast:x64-windows@1.85.0
      * boost-bind:x64-windows@1.85.0
        boost-circular-buffer:x64-windows@1.85.0
      * boost-concept-check:x64-windows@1.85.0
      * boost-container:x64-windows@1.85.0#1
      * boost-container-hash:x64-windows@1.85.0
      * boost-context:x64-windows@1.85.0
      * boost-conversion:x64-windows@1.85.0
      * boost-core:x64-windows@1.85.0
      * boost-coroutine:x64-windows@1.85.0
      * boost-date-time:x64-windows@1.85.0
      * boost-describe:x64-windows@1.85.0
      * boost-detail:x64-windows@1.85.0
      * boost-endian:x64-windows@1.85.0
      * boost-exception:x64-windows@1.85.0
        boost-foreach:x64-windows@1.85.0
      * boost-function:x64-windows@1.85.0
      * boost-function-types:x64-windows@1.85.0
      * boost-functional:x64-windows@1.85.0
      * boost-fusion:x64-windows@1.85.0
      * boost-integer:x64-windows@1.85.0
        boost-interprocess:x64-windows@1.85.0#1
      * boost-intrusive:x64-windows@1.85.0
      * boost-io:x64-windows@1.85.0
      * boost-iterator:x64-windows@1.85.0
        boost-json:x64-windows@1.85.0
      * boost-lexical-cast:x64-windows@1.85.0
      * boost-logic:x64-windows@1.85.0
      * boost-move:x64-windows@1.85.0
      * boost-mpl:x64-windows@1.85.0
      * boost-numeric-conversion:x64-windows@1.85.0
      * boost-optional:x64-windows@1.85.0
      * boost-parameter:x64-windows@1.85.0
      * boost-pool:x64-windows@1.85.0
      * boost-preprocessor:x64-windows@1.85.0
      * boost-range:x64-windows@1.85.0
      * boost-regex:x64-windows@1.85.0
        boost-signals2:x64-windows@1.85.0
      * boost-smart-ptr:x64-windows@1.85.0
      * boost-static-assert:x64-windows@1.85.0
      * boost-static-string:x64-windows@1.85.0
      * boost-system:x64-windows@1.85.0
      * boost-tokenizer:x64-windows@1.85.0
      * boost-tuple:x64-windows@1.85.0
      * boost-type-index:x64-windows@1.85.0
      * boost-type-traits:x64-windows@1.85.0
      * boost-typeof:x64-windows@1.85.0
      * boost-unordered:x64-windows@1.85.0
      * boost-utility:x64-windows@1.85.0
        boost-variant:x64-windows@1.85.0
      * boost-variant2:x64-windows@1.85.0
      * brotli:x64-windows@1.1.0#1
      * bzip2[core,tool]:x64-windows@1.0.8#5
      * double-conversion:x64-windows@3.3.0
      * egl-registry:x64-windows@2024-01-25
      * freetype[brotli,bzip2,core,png,zlib]:x64-windows@2.13.2#1
      * libjpeg-turbo:x64-windows@3.0.2
      * libpng:x64-windows@1.6.43#1
      * libwebp[core,libwebpmux,nearlossless,simd,unicode]:x64-windows@1.4.0#1
      * opengl:x64-windows@2022-12-04#3
      * opengl-registry:x64-windows@2024-02-10#1
      * openssl:x64-windows@3.3.0#1
      * pcre2[core,jit,platform-default-features]:x64-windows@10.43
        qt5compat[core,textcodec]:x64-windows@6.7.0
        qtbase[concurrent,core,doubleconversion,freetype,gui,jpeg,network,openssl,png,thread,widgets]:x64-windows@6.7.0
        qtimageformats[core,webp]:x64-windows@6.7.0
        qtsvg:x64-windows@6.7.0
      * vcpkg-cmake-get-vars:x64-windows@2023-12-31
      * zlib:x64-windows@1.3.1
    Additional packages (*) will be modified to complete this operation.
    Restored 0 package(s) from %LOCALAPPDATA%\vcpkg\archives in 1.64 ms. Use --debug to see more details.
    Installing 1/73 boost-variant2:x64-windows@1.85.0...
    Building boost-variant2:x64-windows@1.85.0...
    Downloading https://github.com/boostorg/variant2/archive/boost-1.85.0.tar.gz -> boostorg-variant2-boost-1.85.0.tar.gz
    boostorg-variant2-boost-1.85.0.tar.gz.38980.part: error: download from https://github.com/boostorg/variant2/archive/boost-1.85.0.tar.gz had an unexpected hash
    note: Expected: 1a5fc662247f3e8437dfeec552fc3c5c380112db4a2e6b0c9e7abad1c06ec0d07dcbb528c244884f2507ac14174f4db3fadfd211e84d9bcd26a5ab5f33cb4d97
    note: Actual  : f4f79ab208c534a7e7a285e2722dbe14c7d810a8ad9e73dd2a6de51862b3b08928802251e8661815e5bf9f82eefd10125a984724ae4670823307edc93cd679a8
    CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:136 (message):
      Download failed, halting portfile.
    Call Stack (most recent call first):
      scripts/cmake/vcpkg_from_github.cmake:120 (vcpkg_download_distfile)
      buildtrees/versioning_/versions/boost-variant2/71aeea8a9326c7b978940c83970790090ddcf8f9/portfile.cmake:3 (vcpkg_from_github)
      scripts/ports.cmake:206 (include)
    
    
    error: building boost-variant2:x64-windows failed with: BUILD_FAILED
    See https://learn.microsoft.com/vcpkg/troubleshoot/build-failures?WT.mc_id=vcpkg_inproduct_cli for more information.
    Elapsed time to handle boost-variant2:x64-windows: 461 ms
    Please ensure you're using the latest port files with `git pull` and `vcpkg update`.
    Then check for known issues at:
      https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+boost-variant2
    

    I've tried re-cloning vcpkg but it still throws the error. Do you have any ideas on what might be wrong?

    Edit: I tried on a second device and have the exact same checksum issue. I think boost might have modified the archive without updating the associated checksum?

  6. Nerixyz commented on Jul 26, 2025

    @Nerixyz
    Contributor

    Hmmm, vcpkg is complaining about a checksum mismatch for boost-variant2. Downloading the archive through my browser also leads to the same SHA512 hash as the actual from vcpkg.

    Have you tried bumping the baseline? Maybe the packages are out of date or something. Feel free to make a PR if that fixed it.

  7. ScrubN commented on Jul 26, 2025

    @ScrubN
    ContributorAuthor

    Have you tried bumping the baseline? Maybe the packages are out of date or something.

    That worked! I'll submit a PR with the updated baseline.

    It seems that vcpkg is no longer able to fetch Qt though. BUILDING_ON_WINDOWS_WITH_VCPKG should probably be updated to mention that manually installing Qt is now required like in BUILDING_ON_WINDOWS. I can also make a PR for that if wanted. Never mind, I just installed Qt manually and I'm still getting CMake errors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    crashgood first issue for humansThis issue is intended for humans who want to get familiar with contributing to Chatterino

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions