Chatterino2: Chatterino total crash when trying to remove entry from highlights etc.

Created on 2 Feb 2020  路  11Comments  路  Source: Chatterino/chatterino2

Chatterino crashes without any messages when clicking the "remove" button in settings and having something selected to be removed. Doesn't crash when pressing it without anything selected.
Happens under:

  • Commands
  • Highlights -> messages, users and excluded users
  • Ignores -> Messages

To reproduce

Settings -> any of the mentioned tabs -> add message -> select it/mark it -> press remove
button -> total crash. Happens anytime and everytime without fail.

Chatterino version
----> Chatterino 2.1.7 (commit 845c8fa63)

Operating system

Win 10
Version 10.0.18362 Build 18362

Additional information

The messages don't get removed after the crash has happened, so it's not possible to remove entries at all.

bug

All 11 comments

can't replicate on arch linux

I can't reproduce either (on b895315 and Arch). Could you check if the crash still occurs for you in the latest nightly build?

I was able to replicate this issue from within an environment where the application did not have sufficient permissions to modify the settings.json file - which is where those settings are stored - so it seems to "crash" Chatterino instead of showing an error message.

This was the outcome when using Safe Mode on Windows 10 which tells me this may just be an environment issue.

I can't reproduce either (on b895315 and Arch). Could you check if the crash still occurs for you in the latest nightly build?

Downloaded -> chatterino-windows-x86-64.zip -> unzipped, closed current chatterino, and opened this one, still crashes.

I was able to replicate this issue from within an environment where the application did not have >sufficient permissions to modify the settings.json file - which is where those settings are stored - so >it seems to "crash" Chatterino instead of showing an error message.

This was the outcome when using Safe Mode on Windows 10 which tells me this may just be an environment issue.

AppData\Roaming\Chatterino2\Settings
Is set to read-only and can't manually change it, as it resets to read-only whenever I check it again after applying.
Edit: Correction: the above setting was only for the folder, the settings.json file has all permissions.

This happens to me on the latest version on macOS

Unable to reproduce on Linux
Unable to reproduce on macOS Catalina (10.15.2)

Unable to reproduce on Windows 10 (1909), Chatterino Nightly 2.1.7 (commit 53e52e189, )
I tried denying all access to settings.json and then manipulating settings in various ways, no crash

Are you able to provide a screenshot? Could be related to https://github.com/Chatterino/chatterino2/issues/1078

For reference, the screenshot attached in https://github.com/Chatterino/chatterino2/issues/1937 shows the crash to occur at this line:
https://github.com/Chatterino/chatterino2/blob/cbcd5f3863b6edf22b6d6ffb625bd338f3ea112d/src/common/SignalVectorModel.hpp#L214

So maybe this could be some kind of serialization problem when Chatterino tries to serialize the updated model (without the deleted row) and attempts access at an index that no longer exists?

@pajlada, hopefully this is useful.

Repro steps:

  1. Start Chatterino with blank commands.json
  2. Add command, then select and remove it

Similar crash occurs when commands.json is populated with a few existing items, and either adding new command then immediately removing, or removing existing command.

Sorry, I don't know C++ or the codebase at all, but exception, stack trace and locals:
image

Assertion failed!

Program: ...t_5_15_0_MSVC2019_64bit-Debug\debug\chatterino.exe
File: C:\Users\user\Documents\chatterin.../SignalV...del.hpp
Line: 220

Expression: this->columnCount_ == rowItem.items.size()

For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts

(Press Retry to debug the application - JIT must be enabled)Assertion failed!

Program: ...t_5_15_0_MSVC2019_64bit-Debug\debug\chatterino.exe
File: C:\Users\user\Documents\chatterin.../SignalV...del.hpp
Line: 220

Expression: this->columnCount_ == rowItem.items.size()

For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts

(Press Retry to debug the application - JIT must be enabled)

Chatterino Nightly 2.2.2 (commit 7eabba959, 13.09.2020)

fixed earlier today

Was this page helpful?
0 / 5 - 0 ratings

Related issues

DatGuy1 picture DatGuy1  路  3Comments

TranRed picture TranRed  路  3Comments

kehlery picture kehlery  路  3Comments

fourtf picture fourtf  路  3Comments

nitrousGranola picture nitrousGranola  路  3Comments