https://bugs.kde.org/show_bug.cgi?id=506829

            Bug ID: 506829
           Summary: Crash when switching from a loading space and back to
                    it
    Classification: Applications
           Product: NeoChat
      Version First 25.04.3
       Reported In:
          Platform: NixOS
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: General
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected]
  Target Milestone: ---

Created attachment 183107
  --> https://bugs.kde.org/attachment.cgi?id=183107&action=edit
GDB backtrace of crashed NeoChat

SUMMARY
When switching away from a space while it is loading and then immediately back
to it, NeoChat will crash.

STEPS TO REPRODUCE
1. Have a few spaces with some rooms that might take a bit to load
2. Switch to such a space
3. Become impatient while it is loading, switch to another space
4. Switch immediately back to the previous space

OBSERVED RESULT
NeoChat will crash (full BT is attached):

#0  0x00000000009498cc in Quotient::Room::isEventNotable(Quotient::TimelineItem
const&) const ()
#1  0x00000000009afd12 in 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&) ()
#2  0x00000000009b04fc 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&) ()
#3  0x00000000009599d1 in
Quotient::Room::Private::setLocalLastReadReceipt(std::reverse_iterator<std::_Deque_iterator<Quotient::TimelineItem,
Quotient::TimelineItem const&, Quotient::TimelineItem const*> > const&,
Quotient::ReadReceipt, bool) ()
#4  0x0000000000959c1d in Quotient::Room::Private::setFullyReadMarker(QString
const&) ()
#5  0x000000000095a9b1 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&) ()
#6  0x00000000009694c7 in
QtPrivate::QCallableObject<Quotient::Room::Private::getPreviousContent(int,
QString const&)::{lambda()#1}, QtPrivate::List<>, void>::impl(int,
QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) ()
#7  0x00007ffff34207ee in void doActivate<false>(QObject*, int, void**) () at
/nix/store/l9kvcx3wna1bla7xpy1629hawjqmna4y-qtbase-6.9.0/lib/libQt6Core.so.6
#8  0x00000000008bcec0 in Quotient::BaseJob::success(Quotient::BaseJob*) ()
#9  0x00000000009e3145 in Quotient::BaseJob::finishJob() ()

EXPECTED RESULT
NeoChat doesn't crash when switching back and forth between spaces that are
still loading

SOFTWARE/OS VERSIONS
Operating System: NixOS 25.11
KDE Plasma Version: 6.4.2
KDE Frameworks Version: 6.15.0
Qt Version: 6.9.0
Kernel Version: 6.15.4 (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen AI 5 340 w/ Radeon 840M
Memory: 32 GiB of RAM (30.6 GiB usable)
Graphics Processor: AMD Radeon Graphics

ADDITIONAL INFORMATION

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to