https://bugs.kde.org/show_bug.cgi?id=425475
Bug ID: 425475 Summary: deleteLater calls only once in libzip / libarchive plugins destructor Product: ark Version: unspecified Platform: Neon Packages OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: general Assignee: elvis.angelac...@kde.org Reporter: alexey.iva...@gmail.com CC: rthoms...@gmail.com Target Milestone: --- STEPS TO REPRODUCE 1. disable all plugins but libzipplugin, restart ark 2. download test file https://download.qt.io/official_releases/qt/5.15/5.15.0/submodules/qtbase-everywhere-src-5.15.0.zip 3. merge zip_fclose fixes https://invent.kde.org/utilities/ark/-/merge_requests/4 3. open test zip in ark, now reopen it multiple times via menu "Open Recent" It happens because https://invent.kde.org/utilities/ark/-/blob/master/plugins/libzipplugin/libzipplugin.cpp#L66 this calls only once instead of 25361 times and m_emmitedEntries never deleted at all. if you test debugs like this: libzipplugin.cpp: LibzipPlugin::~LibzipPlugin() { qDebug() << __PRETTY_FUNCTION__ << thread(); for (auto e : m_emittedEntries) { qDebug() << "e:" << e->name(); // Entries might be passed to pending slots, so we just schedule their deletion. e->deleteLater(); } } archiveentry.cpp: Archive::Entry::~Entry() { qDebug() << __FUNCTION__; } you will notice that only last entry from m_emittedEntries actually calls deleteLater(). SOFTWARE/OS VERSIONS Linux/KDE Plasma: KDE Neon (available in About System) KDE Plasma Version: 5.19.4 KDE Frameworks Version: 5.72.0 Qt Version: 5.14.2 ADDITIONAL INFORMATION -- You are receiving this mail because: You are watching all bug changes.