Bug 468448 - Crash in nightly flatpak on application start
Summary: Crash in nightly flatpak on application start
Status: RESOLVED FIXED
Alias: None
Product: NeoChat
Classification: Applications
Component: General (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: Tobias Fella
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-04-13 01:37 UTC by Justin Zobel
Modified: 2023-12-14 03:25 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Justin Zobel 2023-04-13 01:37:48 UTC
#0  0x00007fb635e91184 in __pthread_kill_implementation () from /usr/lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fb635e3f00e in raise () from /usr/lib/x86_64-linux-gnu/libc.so.6
#2  0x00007fb635e287fc in abort () from /usr/lib/x86_64-linux-gnu/libc.so.6
#3  0x00007fb63669dc8f in QMessageLogger::fatal(char const*, ...) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fb63669cfe8 in qt_assert(char const*, char const*, int) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x000055a5d0e305e4 in QString::operator[] (i=1, this=<optimized out>) at /usr/include/QtCore/qstring.h:1074
#6  0x000055a5d0e30648 in QString::operator[] (this=<optimized out>, i=1) at /run/build/neochat/src/texthandler.cpp:244
#7  TextHandler::getTagType (this=<optimized out>) at /run/build/neochat/src/texthandler.cpp:241
#8  0x000055a5d0fd5779 in TextHandler::nextTokenType (this=0x7ffeb4159370) at /run/build/neochat/src/texthandler.cpp:229
#9  0x000055a5d0fd7ba7 in TextHandler::nextTokenType (this=0x7ffeb4159370) at /run/build/neochat/src/texthandler.cpp:144
#10 TextHandler::handleRecieveRichText (this=this@entry=0x7ffeb4159370, inputFormat=<optimized out>, room=0x55a5d4333300, event=event@entry=0x55a5d573bce0, stripNewlines=<optimized out>)
    at /run/build/neochat/src/texthandler.cpp:116
#11 0x000055a5d0f951e5 in operator() (e=..., __closure=0x7ffeb4159310) at /run/build/neochat/src/neochatroom.cpp:491
#12 Quotient::switchOnType<Quotient::RoomEvent, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomMessageEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::StickerEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomMemberEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomCanonicalAliasEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomNameEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomTopicEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomAvatarEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::EncryptionEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomCreateEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomPowerLevelsEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::StateEventBase&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::PollStartEvent&)>, QString> (fn1=..., event=...) at /app/include/Quotient/events/event.h:620
#13 NeoChatRoom::eventToString (this=<optimized out>, evt=..., format=format@entry=Qt::RichText, stripNewlines=stripNewlines@entry=false) at /run/build/neochat/src/neochatroom.cpp:648
#14 0x000055a5d0f76031 in MessageEventModel::data (this=0x55a5d6827300, idx=..., role=0) at /run/build/neochat/src/models/messageeventmodel.cpp:474
#15 0x00007fb636897d31 in QSortFilterProxyModel::data(QModelIndex const&, int) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x000055a5d0fc2026 in CollapseStateProxyModel::data (this=0x55a5d62ef170, index=..., role=0) at /run/build/neochat/src/models/collapsestateproxymodel.cpp:28
#17 0x00007fb6365b6230 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5QmlModels.so.5
#18 0x00007fb6389a8976 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#19 0x00007fb60400015f in ?? ()
#20 0x0000000000000000 in ?? ()
Comment 1 Tobias Fella 2023-04-28 12:38:29 UTC
Fixed in f8040a1bf6de26abe3a0cc1c64b9608f5bd2fdea
Comment 2 James Graham 2023-12-14 03:25:46 UTC
Git commit f8040a1bf6de26abe3a0cc1c64b9608f5bd2fdea by James Graham.
Committed on 15/04/2023 at 07:59.
Pushed by nvrwhere into branch 'master'.

Guard getTagType and isCloseTag

Add guard clauses for getTagType and isCloseTag to avoid crashing if the string is empty.

M  +6    -0    src/texthandler.cpp

https://invent.kde.org/network/neochat/commit/f8040a1bf6de26abe3a0cc1c64b9608f5bd2fdea
Comment 3 James Graham 2023-12-14 03:25:46 UTC
Git commit f8040a1bf6de26abe3a0cc1c64b9608f5bd2fdea by James Graham.
Committed on 15/04/2023 at 07:59.
Pushed by nvrwhere into branch 'master'.

Guard getTagType and isCloseTag

Add guard clauses for getTagType and isCloseTag to avoid crashing if the string is empty.

M  +6    -0    src/texthandler.cpp

https://invent.kde.org/network/neochat/commit/f8040a1bf6de26abe3a0cc1c64b9608f5bd2fdea