GNOME Bugzilla – Bug 620609
Empty trash at exit doesn't work
Last modified: 2010-11-30 08:56:56 UTC
Evolution 2.28.3 under 10.04 not purging trash at exit, even though configured to do so (i.e. "Empty trash folders on exit: every time"). Distribution: Ubuntu 10.04 (lucid) Gnome Release: 2.30.0 2010-03-31 (Ubuntu) BugBuddy Version: 2.28.0
*** Bug 625501 has been marked as a duplicate of this bug. ***
last dupe in 2.30.x
Created attachment 170476 [details] [review] proposed eds patch for evolution-data-server; The first issue might be that it was using only opened folders during the session, thus it might not expunge all folders, as it ought to be, in the account. Of course, this slows down the process for remote accounts, but the trash should contain deleted items from all folders, shouldn't it?
Created attachment 170477 [details] [review] proposed evo patch for evolution; The second issue was with evolution itself. It asked store to expunge its deleted items, but it cancelled all these and other pending requests immediately after it asked for an expunge, thus it wasn't expunged at all.
Akhil, please give it some testing, and let's see what it'll do. Thanks in advance.
The patch in comment #4 helps with a similar bug in imapx (bug 629916) but even after I fix the imapx bug with error handling there are still issues -- imapx gets disconnected from the IMAP server because the cancelled status prevents it from sending the DONE command. And then it wants to make a *new* connection to the IMAP server to empty the trash and sync flags changes, etc.... but those new connections don't work *either* because the cancelled status is still present. I don't really understand what's going on here.
It works much better if we just remove the call to mail_cancel_all() completely, rather than moving it around. What's it for, anyway? If an operation like a big folder->folder copy or writing a large outbound mail to Fcc is still in progress when we exit, shouldn't we let it complete rather than aborting it? Perhaps we should abort only *background* tasks like periodic mail checks, and not user-driven actions?
After fixing a pile of imapx bugs, I no longer object to the call to mail_cancel_all(), as long as it's in the right place. Although I'm still not convinced it's actually necessary or correct.
*** Bug 628515 has been marked as a duplicate of this bug. ***
I'm committing this after today's release.
Created commit e877646 in eds master (2.91.4+) Created commit 30427e1 in evo master (2.91.4+)
Will this be backported to 2.32.x?
I thought in some testing before committing to 2.32, though it's possible I'll forget of this bug report meanwhile. Also note there is no 2.32.2 official release date, because the release team decided to rather focus on 2.91. Nonetheless, the Evolution team is planning another stable release.
OK, thanks. I still think I may be hitting something else here, because I don't have "Empty trash on exit" ticked. I may just load debuginfos and provide a backtrace, so that you know what's going on.