https://bugs.kde.org/show_bug.cgi?id=461137
Bug ID: 461137 Summary: NeoChat crashes when attempting to enter/load the #KDE-QA room Classification: Applications Product: NeoChat Version: unspecified Platform: Compiled Sources OS: Linux Status: REPORTED Keywords: drkonqi Severity: crash Priority: NOR Component: General Assignee: fe...@posteo.de Reporter: n...@kde.org CC: c...@carlschwan.eu Target Milestone: --- Application: neochat (22.09) (Compiled from sources) Qt Version: 5.15.6 Frameworks Version: 5.100.0 Operating System: Linux 5.19.16-200.fc36.x86_64 x86_64 Windowing System: Wayland Distribution: Fedora Linux 36 (KDE Plasma) DrKonqi: 5.26.80 [KCrashBackend] -- Information about the crash: I used NeoChat to create a new room, #KDE-QA. Now, every time I open the app and click on the room in the sidebar, NeoChat crashes. It's 100% reproducible. The crash can be reproduced every time. -- Backtrace: Application: NeoChat (neochat), signal: Segmentation fault Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = 0x0} [KCrash Handler] #5 0x00007ffff4b17dbd in int indexOf<QLatin1String>(QExplicitlySharedDataPointer<QCborContainerPrivate> const&, QLatin1String, bool*) () at /lib64/libQt5Core.so.5 #6 0x00007ffff4b1844d in QJsonObject::value(QLatin1String) const () at /lib64/libQt5Core.so.5 #7 0x00007ffff711b6c6 in QJsonObject::operator[](QLatin1String) const (key=..., this=<optimized out>) at /usr/include/qt5/QtCore/qjsonobject.h:103 #8 Quotient::RoomEvent::id() const (this=<optimized out>) at /home/nate/kde/src/libquotient/lib/events/roomevent.cpp:20 #9 0x00007ffff70de7da in Quotient::Room::notificationFor(Quotient::TimelineItem const&) const (this=this@entry=0x24bb1f0, ti=...) at /home/nate/kde/src/libquotient/lib/room.cpp:992 #10 0x00007ffff710e081 in operator() (ti=..., acc=..., __closure=<synthetic pointer>) at /home/nate/kde/src/libquotient/lib/eventstats.cpp:21 #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/bits/stl_numeric.h:169 #12 Quotient::EventStats::fromRange(Quotient::Room const*, std::reverse_iterator<std::_Deque_iterator<Quotient::TimelineItem, Quotient::TimelineItem const&, Quotient::TimelineItem const*> > const&, std::reverse_iterator<std::_Deque_iterator<Quotient::TimelineItem, Quotient::TimelineItem const&, Quotient::TimelineItem const*> > const&, Quotient::EventStats const&) (room=0x24bb1f0, from=..., to=..., init=<optimized out>) at /home/nate/kde/src/libquotient/lib/eventstats.cpp:18 #13 0x00007ffff710e7ba in Quotient::EventStats::updateOnMarkerMove(Quotient::Room const*, std::reverse_iterator<std::_Deque_iterator<Quotient::TimelineItem, Quotient::TimelineItem const&, Quotient::TimelineItem const*> > const&, std::reverse_iterator<std::_Deque_iterator<Quotient::TimelineItem, Quotient::TimelineItem const&, Quotient::TimelineItem const*> > const&) (this=this@entry=0x253f710, room=0x24bb1f0, oldMarker=..., newMarker=...) at /home/nate/kde/src/libquotient/lib/eventstats.cpp:66 #14 0x00007ffff70e5a91 in Quotient::Room::Private::setLocalLastReadReceipt(std::reverse_iterator<std::_Deque_iterator<Quotient::TimelineItem, Quotient::TimelineItem const&, Quotient::TimelineItem const*> > const&, Quotient::ReadReceipt, bool) (this=0x253f5d0, newMarker=..., newReceipt=..., deferStatsUpdate=<optimized out>) at /home/nate/kde/src/libquotient/lib/room.cpp:771 #15 0x00007ffff70e5dea in Quotient::Room::Private::setFullyReadMarker(QString const&) (this=0x253f5d0, eventId=<optimized out>) at /home/nate/kde/src/libquotient/lib/room.cpp:900 #16 0x00007ffff70e681d in Quotient::Room::Private::updateStats(std::reverse_iterator<std::_Deque_iterator<Quotient::TimelineItem, Quotient::TimelineItem const&, Quotient::TimelineItem const*> > const&, std::reverse_iterator<std::_Deque_iterator<Quotient::TimelineItem, Quotient::TimelineItem const&, Quotient::TimelineItem const*> > const&) (this=0x253f5d0, from=..., to=...) at /home/nate/kde/src/libquotient/lib/room.cpp:808 #17 0x00007ffff70ee7b9 in Quotient::Room::Private::addHistoricalMessageEvents(std::vector<std::unique_ptr<Quotient::RoomEvent, std::default_delete<Quotient::RoomEvent> >, std::allocator<std::unique_ptr<Quotient::RoomEvent, std::default_delete<Quotient::RoomEvent> > > >&&) (this=0x253f5d0, events=<optimized out>) at /home/nate/kde/src/libquotient/lib/room.cpp:2993 #18 0x00007ffff70eecdb in operator() (__closure=<optimized out>) at /usr/include/c++/12/bits/allocator.h:174 #19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, Quotient::Room::Private::getPreviousContent(int, const QString&)::<lambda()> >::call (arg=<optimized out>, f=<optimized out>) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:146 #20 QtPrivate::Functor<Quotient::Room::Private::getPreviousContent(int, const QString&)::<lambda()>, 0>::call<QtPrivate::List<>, void> (arg=<optimized out>, f=<optimized out>) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:256 #21 QtPrivate::QFunctorSlotObject<Quotient::Room::Private::getPreviousContent(int, const QString&)::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:443 #22 0x00007ffff4adb9a6 in void doActivate<false>(QObject*, int, void**) () at /lib64/libQt5Core.so.5 #23 0x00007ffff7097df2 in Quotient::BaseJob::success(Quotient::BaseJob*) (this=this@entry=0x4baab00, _t1=<optimized out>, _t1@entry=0x4baab00) at /home/nate/kde/build/libquotient/Quotient_autogen/3INUWTIJ2C/moc_basejob.cpp:542 #24 0x00007ffff7131ae9 in Quotient::BaseJob::finishJob() (this=0x4baab00) at /home/nate/kde/src/libquotient/lib/jobs/basejob.cpp:633 #25 0x00007ffff4adb9a6 in void doActivate<false>(QObject*, int, void**) () at /lib64/libQt5Core.so.5 #26 0x00007ffff644ecf8 in QNetworkReplyHttpImplPrivate::finished() () at /lib64/libQt5Network.so.5 #27 0x00007ffff4ad2c44 in QObject::event(QEvent*) () at /lib64/libQt5Core.so.5 #28 0x00007ffff57aed02 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5 #29 0x00007ffff4aa81c8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5 #30 0x00007ffff4aab534 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib64/libQt5Core.so.5 #31 0x00007ffff4af9537 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5Core.so.5 #32 0x00007ffff3f18faf in g_main_context_dispatch () at /lib64/libglib-2.0.so.0 #33 0x00007ffff3f6e2c8 in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0 #34 0x00007ffff3f16940 in g_main_context_iteration () at /lib64/libglib-2.0.so.0 #35 0x00007ffff4af902a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5 #36 0x00007ffff4aa6c1a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5 #37 0x00007ffff4aaece2 in QCoreApplication::exec() () at /lib64/libQt5Core.so.5 #38 0x000000000043416f in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /home/nate/kde/src/neochat/src/main.cpp:303 [Inferior 1 (process 265375) detached] Reported using DrKonqi -- You are receiving this mail because: You are watching all bug changes.