[kmail2] [Bug 358116] messageviewer leaks temporary files with mail parts in it
https://bugs.kde.org/show_bug.cgi?id=358116 David Faure changed: What|Removed |Added Status|UNCONFIRMED |CONFIRMED Ever confirmed|0 |1 CC||fa...@kde.org --- Comment #8 from David Faure --- This was fixed (for the case of cleanly quitting kmail) in c803a7a (v16.07.80). Please test. We can't do much in case of crashes -- except fixing those crashes in the first place, of course :-) -- You are receiving this mail because: You are watching all bug changes.
[kmail2] [Bug 358116] messageviewer leaks temporary files with mail parts in it
https://bugs.kde.org/show_bug.cgi?id=358116 Simon Andric changed: What|Removed |Added CC||simonandr...@gmail.com -- You are receiving this mail because: You are watching all bug changes.
[kmail2] [Bug 358116] messageviewer leaks temporary files with mail parts in it
https://bugs.kde.org/show_bug.cgi?id=358116 --- Comment #7 from Sandro Knauß --- I've created a patch that should improve the situation: https://phabricator.kde.org/D883 Still we have no handling, if the application crashes, but we now delete the temp dirs directly, if the object is deleted. It would be great to test it in the wild. -- You are receiving this mail because: You are watching all bug changes.
[kmail2] [Bug 358116] messageviewer leaks temporary files with mail parts in it
https://bugs.kde.org/show_bug.cgi?id=358116 --- Comment #6 from Sandro Knauß --- Well I can reproduce this behaviour with a simple testcase. This one fails: QString path; { NodeHelper helper; path = helper.createTempDir(QStringLiteral("foo")); QVERIFY(QDir(path).exists()); } QEventLoop loop; QTimer::singleShot(0, &loop, &QEventLoop::quit); loop.exec(); QVERIFY(!QDir(path).exists()); if I change the singleShot to something like 11000 (11secs) if passes. The problem here is that if the NodeHelper instance is deleted the tempfiles are deleted also only 10secs after the application and not directly with the deletion of NodeHelper. I see no need to wait 10secs when the object is already deleted. NodeHelper::~NodeHelper() { //Don't delete it it will delete in class with a deleteLater; if (mAttachmentFilesDir) { mAttachmentFilesDir->removeTempFiles(); mAttachmentFilesDir = 0; } } void AttachmentTemporaryFilesDirs::removeTempFiles() { QTimer::singleShot(d->mDelayRemoveAll, this, &AttachmentTemporaryFilesDirs::slotRemoveTempFiles); } ^^ d->mDelayRemoveAll is 10secs. -- You are receiving this mail because: You are watching all bug changes.
[kmail2] [Bug 358116] messageviewer leaks temporary files with mail parts in it
https://bugs.kde.org/show_bug.cgi?id=358116 --- Comment #5 from Martin Steigerwald --- Hmmm, I had some crashes when I had KMail running during kdesrc-build. But 117 files – even it at one day I had two copies of KMail run (one for work user, one for private user)? Well, I am happy to test any fix you implement from git master :). Thank you. -- You are receiving this mail because: You are watching all bug changes.
[kmail2] [Bug 358116] messageviewer leaks temporary files with mail parts in it
https://bugs.kde.org/show_bug.cgi?id=358116 --- Comment #4 from Laurent Montel --- For me it's when kmail crash. I will look at how to clean up it during crash. -- You are receiving this mail because: You are watching all bug changes.
[kmail2] [Bug 358116] messageviewer leaks temporary files with mail parts in it
https://bugs.kde.org/show_bug.cgi?id=358116 --- Comment #3 from Martin Steigerwald --- Hm, Laurent, I clicked through some more mails and the count of messageviewer directories in /tmp didn´t increase: merkaba:/tmp> ls -ld messageviewer_* | wc -l 117 Hmmm, okay, it does when I open a mail with attachments: merkaba:/tmp> ls -ld messageviewer_* | wc -l 123 Hmmm, and indeed it cleans up: merkaba:/tmp> ls -ld messageviewer_* | wc -l 117 Okay, so now good question why it didn´t with the 117 directories in there. I have no idea yet. -- You are receiving this mail because: You are watching all bug changes.
[kmail2] [Bug 358116] messageviewer leaks temporary files with mail parts in it
https://bugs.kde.org/show_bug.cgi?id=358116 Laurent Montel changed: What|Removed |Added CC||mon...@kde.org --- Comment #2 from Laurent Montel --- Do you have a test case when it leaks ? Because it cleans them when we switch from mail (after 10 secondes) -- You are receiving this mail because: You are watching all bug changes.
[kmail2] [Bug 358116] messageviewer leaks temporary files with mail parts in it
https://bugs.kde.org/show_bug.cgi?id=358116 --- Comment #1 from Martin Steigerwald --- Almost all of the directories still have files in it: merkaba:/tmp> find -name "*unnamed*" | wc -l 116 However quite some of them are empty: merkaba:/tmp> find -name "*unnamed*" -empty | wc -l 50 merkaba:/tmp> find -name "*unnamed*" | head ./messageviewer_V24855.index./unnamed ./messageviewer_t24855.index.1/unnamed ./messageviewer_y24855.index./unnamed ./messageviewer_i24855.index.1/unnamed ./messageviewer_Z24855.index.1/unnamed ./messageviewer_o24855.index.1/unnamed ./messageviewer_J24855.index./unnamed ./messageviewer_R24855.index./unnamed ./messageviewer_p24855.index./unnamed ./messageviewer_P24855.index./unnamed […] The non empty files contain the body text of mails (even of ones without attachments). -- You are receiving this mail because: You are watching all bug changes.
[kmail2] [Bug 358116] messageviewer leaks temporary files with mail parts in it
https://bugs.kde.org/show_bug.cgi?id=358116 Martin Steigerwald changed: What|Removed |Added CC||skna...@kde.org -- You are receiving this mail because: You are watching all bug changes.