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

            Bug ID: 375395
           Summary: Plasma consumes all memory when showing calendar popup
           Product: plasmashell
           Version: 5.8.5
          Platform: openSUSE RPMs
                OS: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: NOR
         Component: Calendar
          Assignee: plasma-b...@kde.org
          Reporter: j...@holodeck1.com
  Target Milestone: 1.0

Created attachment 103578
  --> https://bugs.kde.org/attachment.cgi?id=103578&action=edit
complete valgrind log

I get this memory consumption bug ever since I created a TODO from within
KMail. What happens now is this. I click the clock plasmoid in Plasma panel to
show calendar popup and plasmashell process starts to consume a lot of memory
very fast until it uses all of 32 GiB of memory and is eventually killed by OOM
killer. I have run plasmashell via valgrind (valgrind --leak-check=full
--track-origins=yes --show-leak-kinds=all -v plasmashell) and these reports
appear to be related with this memory leak:

==5244== 1,073,741,824 bytes in 1 blocks are still reachable in loss record
65,127 of 65,128
==5244==    at 0x4C2BE3F: operator new[](unsigned long) (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==5244==    by 0xA9E1B04: QHashData::rehash(int) (qhash.cpp:687)
==5244==    by 0xC1EEE72F: willGrow (qhash.h:104)
==5244==    by 0xC1EEE72F: insertMulti (qhash.h:777)
==5244==    by 0xC1EEE72F: insert (qhash.h:1012)
==5244==    by 0xC1EEE72F:
EventDataVisitor::insertResult(CalendarEvents::EventData const&)
(eventdatavisitor.cpp:179)
==5244==    by 0xC1EEF3B2:
EventDataVisitor::visit(QSharedPointer<KCalCore::Incidence> const&,
CalendarEvents::EventData::EventType) (eventdatavisitor.cpp:157)
==5244==    by 0xC1EEF777:
EventDataVisitor::visit(QSharedPointer<KCalCore::Todo> const&)
(eventdatavisitor.cpp:171)
==5244==    by 0xC27D055F: KCalCore::Todo::accept(KCalCore::Visitor&,
QSharedPointer<KCalCore::IncidenceBase> const&) (in
/usr/lib64/libKF5CalendarCore.so.5.4.0)
==5244==    by 0xC1EEF9BD:
BaseEventDataVisitor::act(QVector<QSharedPointer<KCalCore::Todo> > const&)
(eventdatavisitor.cpp:53)
==5244==    by 0xC1EE946A: PimEventsPlugin::loadEventsForDateRange(QDate
const&, QDate const&) (pimeventsplugin.cpp:66)
==5244==    by 0xC1AC7C28: DaysModel::update() (daysmodel.cpp:105)
==5244==    by 0xC1AC618F: Calendar::updateData() [clone .part.7]
(calendar.cpp:300)
==5244==    by 0xC1AC660C: updateData (calendar.cpp:96)
==5244==    by 0xC1AC660C: Calendar::resetToToday() (calendar.cpp:95)
==5244==    by 0xC1AD0414: Calendar::qt_static_metacall(QObject*,
QMetaObject::Call, int, void**) (moc_calendar_LUV6MJZILS5OPX.cpp:237)
==5244== 
==5244== 3,203,348,064 bytes in 100,104,627 blocks are still reachable in loss
record 65,128 of 65,128
==5244==    at 0x4C2B0AF: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==5244==    by 0xA9E15C8: QHashData::allocateNode(int) (qhash.cpp:501)
==5244==    by 0xC1EEE799: createNode (qhash.h:548)
==5244==    by 0xC1EEE799: insertMulti (qhash.h:781)
==5244==    by 0xC1EEE799: insert (qhash.h:1012)
==5244==    by 0xC1EEE799:
EventDataVisitor::insertResult(CalendarEvents::EventData const&)
(eventdatavisitor.cpp:179)
==5244==    by 0xC1EEF3B2:
EventDataVisitor::visit(QSharedPointer<KCalCore::Incidence> const&,
CalendarEvents::EventData::EventType) (eventdatavisitor.cpp:157)
==5244==    by 0xC1EEF777:
EventDataVisitor::visit(QSharedPointer<KCalCore::Todo> const&)
(eventdatavisitor.cpp:171)
==5244==    by 0xC27D055F: KCalCore::Todo::accept(KCalCore::Visitor&,
QSharedPointer<KCalCore::IncidenceBase> const&) (in
/usr/lib64/libKF5CalendarCore.so.5.4.0)
==5244==    by 0xC1EEF9BD:
BaseEventDataVisitor::act(QVector<QSharedPointer<KCalCore::Todo> > const&)
(eventdatavisitor.cpp:53)
==5244==    by 0xC1EE946A: PimEventsPlugin::loadEventsForDateRange(QDate
const&, QDate const&) (pimeventsplugin.cpp:66)
==5244==    by 0xC1AC7C28: DaysModel::update() (daysmodel.cpp:105)
==5244==    by 0xC1AC618F: Calendar::updateData() [clone .part.7]
(calendar.cpp:300)
==5244==    by 0xC1AC660C: updateData (calendar.cpp:96)
==5244==    by 0xC1AC660C: Calendar::resetToToday() (calendar.cpp:95)
==5244==    by 0xC1AD0414: Calendar::qt_static_metacall(QObject*,
QMetaObject::Call, int, void**) (moc_calendar_LUV6MJZILS5OPX.cpp:237)

Complete valgrind.log is attached

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

Reply via email to