Bug 469089 - Crash after redacting a message
Summary: Crash after redacting a message
Status: RESOLVED UPSTREAM
Alias: None
Product: NeoChat
Classification: Applications
Component: General (show other bugs)
Version: 23.04.0
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Tobias Fella
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2023-04-28 04:00 UTC by luna
Modified: 2023-04-28 12:19 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 luna 2023-04-28 04:00:19 UTC
Application: neochat (23.04.0)

Qt Version: 5.15.9
Frameworks Version: 5.105.0
Operating System: Linux 6.2.12-arch1-1 x86_64
Windowing System: Wayland
Distribution: "Arch Linux"
DrKonqi: 5.27.4 [KCrashBackend]

-- Information about the crash:
I redacted several test messages on my conduit server, and then neochat crashed.

The reporter is unsure if this crash is reproducible.

-- Backtrace:
Application: NeoChat (neochat), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>}
[KCrash Handler]
#6  0x00007f77e1e271b6 in Quotient::is<Quotient::RoomMessageEvent> (e=...) at /usr/src/debug/libquotient/libQuotient-0.7.2/Quotient/events/event.h:542
#7  Quotient::eventCast<Quotient::RoomMessageEvent const, std::unique_ptr<Quotient::RoomEvent, std::default_delete<Quotient::RoomEvent> > > (eptr=std::unique_ptr<Quotient::RoomEvent> = {...}) at /usr/src/debug/libquotient/libQuotient-0.7.2/Quotient/events/event.h:564
#8  Quotient::EventItemBase::viewAs<Quotient::RoomMessageEvent> (this=0x559692662b00) at /usr/src/debug/libquotient/libQuotient-0.7.2/Quotient/eventitem.h:52
#9  Quotient::Room::isEventNotable (this=0x55968dfbb8b0, ti=...) at /usr/src/debug/libquotient/libQuotient-0.7.2/Quotient/room.cpp:978
#10 0x00007f77e1e4e9a3 in operator() (ti=..., acc=..., __closure=<synthetic pointer>) at /usr/src/debug/libquotient/libQuotient-0.7.2/Quotient/eventstats.cpp:20
#11 std::accumulate<std::reverse_iterator<std::_Deque_iterator<Quotient::TimelineItem, const Quotient::TimelineItem&, const Quotient::TimelineItem*> >, Quotient::EventStats, Quotient::EventStats::fromRange(const Quotient::Room*, const Quotient::Room::rev_iter_t&, const Quotient::Room::rev_iter_t&, const Quotient::EventStats&)::<lambda(Quotient::EventStats, const Quotient::TimelineItem&)> > (__binary_op=..., __init=..., __last=..., __first=...) at /usr/include/c++/12.2.1/bits/stl_numeric.h:169
#12 Quotient::EventStats::fromRange (room=room@entry=0x55968dfbb8b0, from=..., to=..., init=...) at /usr/src/debug/libquotient/libQuotient-0.7.2/Quotient/eventstats.cpp:18
#13 0x00007f77e1e4eebd in Quotient::EventStats::updateOnMarkerMove (this=0x55968d8860a0, room=0x55968dfbb8b0, oldMarker=..., newMarker=...) at /usr/src/debug/libquotient/libQuotient-0.7.2/Quotient/eventstats.cpp:66
#14 0x00007f77e1e25dfa in Quotient::Room::Private::setLocalLastReadReceipt (this=0x55968d885f60, newMarker=..., newReceipt=..., deferStatsUpdate=<optimized out>) at /usr/src/debug/libquotient/libQuotient-0.7.2/Quotient/room.cpp:775
#15 0x00007f77e1e3c042 in operator() (evt=..., __closure=<optimized out>) at /usr/src/debug/libquotient/libQuotient-0.7.2/Quotient/room.cpp:3311
#16 Quotient::switchOnType<Quotient::Event, Quotient::Room::processEphemeralEvent(Quotient::EventPtr&&)::<lambda(const Quotient::ReceiptEvent&)> > (tail=..., event=...) at /usr/src/debug/libquotient/libQuotient-0.7.2/Quotient/events/event.h:608
#17 Quotient::switchOnType<Quotient::Event, Quotient::Room::processEphemeralEvent(Quotient::EventPtr&&)::<lambda(const Quotient::TypingEvent&)>, Quotient::Room::processEphemeralEvent(Quotient::EventPtr&&)::<lambda(const Quotient::ReceiptEvent&)> > (fn1=..., event=...) at /usr/src/debug/libquotient/libQuotient-0.7.2/Quotient/events/event.h:621
#18 Quotient::Room::processEphemeralEvent (this=0x55968dfbb8b0, event=...) at /usr/src/debug/libquotient/libQuotient-0.7.2/Quotient/room.cpp:3267
#19 0x00007f77e1e2cde9 in Quotient::Room::updateData (this=<optimized out>, data=..., fromCache=<optimized out>) at /usr/src/debug/libquotient/libQuotient-0.7.2/Quotient/room.cpp:1943
#20 0x00007f77e053fc80 in QObject::event (this=0x55968dfbb8b0, e=0x559694603b20) at kernel/qobject.cpp:1347
#21 0x00007f77e1032b5c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55968dfbb8b0, e=0x559694603b20) at kernel/qapplication.cpp:3640
#22 0x00007f77e051c028 in QCoreApplication::notifyInternal2 (receiver=0x55968dfbb8b0, event=0x559694603b20) at kernel/qcoreapplication.cpp:1064
#23 0x00007f77e051c093 in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#24 0x00007f77e051cb33 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55968d48b670) at kernel/qcoreapplication.cpp:1821
#25 0x00007f77e0562f58 in postEventSourceDispatch (s=0x55968d52d8a0) at kernel/qeventdispatcher_glib.cpp:277
#26 0x00007f77df85853b in g_main_dispatch (context=0x7f77d4000ee0) at ../glib/glib/gmain.c:3460
#27 g_main_context_dispatch (context=0x7f77d4000ee0) at ../glib/glib/gmain.c:4200
#28 0x00007f77df8b5219 in g_main_context_iterate.constprop.0 (context=0x7f77d4000ee0, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4276
#29 0x00007f77df8571a2 in g_main_context_iteration (context=0x7f77d4000ee0, may_block=1) at ../glib/glib/gmain.c:4343
#30 0x00007f77e0566d3c in QEventDispatcherGlib::processEvents (this=0x55968d462c30, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#31 0x00007f77e051468c in QEventLoop::exec (this=0x7ffd77796f60, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#32 0x00007f77e051f2f9 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#33 0x00007f77e098a052 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1870
#34 0x00007f77e1030f2a in QApplication::exec () at kernel/qapplication.cpp:2832
#35 0x000055968bed0d75 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/neochat/neochat-23.04.0/src/main.cpp:336
[Inferior 1 (process 1967049) detached]

Reported using DrKonqi
Comment 1 Tobias Fella 2023-04-28 12:19:02 UTC
Duplicate of https://github.com/quotient-im/libQuotient/issues/588 upstream; reported there