GNOME Bugzilla – Bug 573120
Labels get lost
Last modified: 2010-04-02 13:00:35 UTC
Please describe the problem: I am using Evolution to pull email from gmail's imap server. I have set up about 30 filters in evolution to filter messages coming into my inbox. Each filter applies a specific label if it matches, and then I use vfolders to view messages with specific labels (This gives me a setup close to gmail's interface). The problem is that some of my message seem to lose all their labels. At first I thought that my filters weren't always being run because I'd have messages in my inbox that didn't have any labels. This shouldn't be possible because my first filter is a catch all that puts an 'allmail' label on the message. What is strange is that one of my vfolders will show an unread message, but when I click on that vfolder, the unread message will dissappear and the unread count will drop back to zero. If I go to my inbox, I can see the unread message and can see that it doesn't have any labels on it. But the message clearly should have had a label that corresponded to the vfolder. So I think that my filters are being applied, but for some reason my messages are randomly losing their labels. Note that this does not happen to all my messages, but maybe 1 in 4. I can't confirm this, but it seems like even if I manually add an additional label to a message, it sometimes seems to lose it too. I have run evolution with the CAMEL_DEBUG=all environment variable set, but it created a 60M log that has lots of personal details in it that I'm not comfortable posting. I'll be happy to send it to an individual developer or post relevant parts. Steps to reproduce: 1. Setup evolution to use imap 2. Filter messages to apply custom labels 3. Setup vfolder to view all messages with custom label 4. Click on vfolder when there's an unread message and watch the message lose its label Actual results: Expected results: I expect the unread message to keep their labels, and not randomly lose them Does this happen every time? No, it seems to happen to about 1 in every 4 message. Other information:
I have moved my email off of gmail to a different imap server, and I no longer experience this issue anymore. I don't know if gmail ignores when evolution is updating the flags, or if it had something to do with the 'sync mail locally' option which was set for my gmail imap server, but not the current imap server I am using.
I am getting a similar issue in Evolution 2.24.3 and can reproduce. 1. In the inbox, select some mail and label them. 2. Go to another folder that has not been looked at recently. This will check the imap server for new mail in that folder 3. If new mail is delivered to inbox, do a send/receive (I sent one from my gmail account) 4. Go back to inbox and labels have disappeared. The issue seems to be related to checking other imap folders and new mail being delivered.
*** Bug 575115 has been marked as a duplicate of this bug. ***
*** Bug 537904 has been marked as a duplicate of this bug. ***
dupe of bug 274316 ?
it reminded me of bug #545103, but that seems to be a part of evolution-data-server-2.24.0. Is anybody of you able to reproduce this on 2.28/2.26, please? You know, there had been done "few" fixes in vfolder handling, since 2.24 got out, so I'm wondering whether it has there its part too or not. (In reply to comment #5) > dupe of bug 274316 ? Hrm, even these changes seem to be applied in 2.24. The bug is for GW only now. Or is this really after moving a message inside the filter rule?
Since I applied the convention that I don't use Drag&Drop to move a mail, that has just been filtered (and labeled) and moved (by the filter) from my imap account to the local INBOX folder, I haven't lost any labels since. Could it be a timing problem?
I doubt a timing, I rather think the filter action order is important here. You do two actions, move a message and mark it with a label. The thing is the rule is applied on the message from Inbox, not on the moved message, thus if you "move then mark" then the marked message will be the one which is deleted now, the one in Inbox. But if you "mark then move", then you should have both messages with a label. That's how I understand filtering is working. Is your move done between different accounts, or is it just other folder in the account where you are filtering? The Inbox folder is on IMAP, right? As the fix I mentioned above was only for IMAP.
(In reply to comment #8) > I doubt a timing, I rather think the filter action order is important here. > You do two actions, move a message and mark it with a label. > The thing is the rule is applied on the message from Inbox, not on the moved > message, thus if you "move then mark" then the marked message will be the one > which is deleted now, the one in Inbox. But if you "mark then move", then you > should have both messages with a label. That's how I understand filtering is > working. > > Is your move done between different accounts, or is it just other folder in the > account where you are filtering? The Inbox folder is on IMAP, right? As the fix > I mentioned above was only for IMAP. I get new mail into my imap account. I set up a filter to set labels and then move it to a local folder. I haven't lost any labels that way, to make it clear. Then, my final filter moves mails, by default, to the local INBOX. There the bug occurred at times, when I label these mails while still in the INBOX, and then move it via drag&drop to a different local folder. Upon changing to that local folder the labels of that mail would get lost sometimes. (See also issue 575115.)
(In reply to comment #9) > (In reply to comment #8) > > > the bug occurred at times, when I label these mails while still in the INBOX, > and then move it via drag&drop to a different local folder. Upon changing to > that local folder the labels of that mail would get lost sometimes. > > (See also issue 575115.) I might add that I when I repeated the step, i.e. mark the mail as undeleted in the INBOX folder and move it again to the new folder via drag&drop, the labels did did not get lost.
I tried with 2.28.1 and it seems to work fine there (same as in 2.28.0, I believe). I tried with message filters (set label & move) and with folder checking (comment #2). If anyone of you is able to reproduce this on 2.28.x, please update the bug with some steps what you did. Thanks in advance.
I had another case today. The gdb output tells me that he correctly inserts the mail into INBOX having been filtered, the tags '1&1 telefon' intact. INSERT OR REPLACE INTO 'Inbox' VALUES ('18139', 18, 0, 1, 1, 0, 0, 0, 0, 0, 309967, 1257190854, 1257190856, 'WebHosting News: Tipps für einen erfolgreichen Jahresendspurt', '1&1 WebHosting <newsletter@hosting.1und1.de>', 'tmstaedt@t-mittelstaedt.de', NULL, NULL, NULL, NULL, NULL, '3385581154 499753441 0', '1&-1 telefon ', '0', NULL, '501655', strftime("%s", 'now'), strftime("%s", 'now') ) But upon moving (via drag&Drop) the labels are not there anymore when the mail is inserted into the new folder: INSERT OR REPLACE INTO '1und1' VALUES ('97', 65552, 0, 1, 0, 0, 0, 0, 0, 1, 305830, 1257190854, 1257190856, 'WebHosting News: Tipps für einen erfolgreichen Jahresendspurt', '1&1 WebHosting <newsletter@hosting.1und1.de>', 'tmstaedt@t-mittelstaedt.de', NULL, NULL, NULL, NULL, NULL, '3385581154 499753441 0', '', '0', NULL, '462507', strftime("%s", 'now'), strftime("%s", 'now') ) I tried the same scenario, sending a mail to myself, where to labels are set and the mail then moved from the IMAP inbox to the local inbox, and then moving the mail to a different local folder, to no avail. What else do I have to look for in the output, where could I set a breakpoint?
I did a conservative measure (since I hate to lose information): - changed the filter rule that previously moved mail from my imap inbox to the local inbox to now copy the mail and stop processing other filter rules. The rule was previously at the bottom and is now first. - I go to my local inbox, hit Ctrl-A and Ctrl-Y to do all the label-setting and moving to different local folders. Will see if it happens again!!
I experienced the problem again today, that labels in my imap inbox, which were set with an inbox filter got overridden. Next try: Edited the properties of that imap inbox folder to *not* "copy folder content for offline operation". I also have "Automatically synchronize remote mail locally" unchecked in evolution preferences->Account Editor->Receiving Options! Will see if it happens again!
(In reply to comment #14) > I experienced the problem again today, that labels in my imap inbox, which were > set with an inbox filter got overridden. With overriden, I mean deleted, emptied!
Sorry for the annoyance: I am using a recent gnome-2-28 branch build on ubuntu 9.10, karmic!
(In reply to comment #14) > I experienced the problem again today, that labels in my imap inbox, which were > set with an inbox filter got overridden. > > Next try: Edited the properties of that imap inbox folder to *not* "copy folder > content for offline operation". > I also have "Automatically synchronize remote mail locally" unchecked in > evolution preferences->Account Editor->Receiving Options! > > Will see if it happens again! Yep. Happened again. So, that doesn't help!
Hi Thomas, what is your filter exactly doing/could you provide some exact steps to reproduce, please?
(In reply to comment #18) > Hi Thomas, what is your filter exactly doing/could you provide some exact steps > to reproduce, please? (In reply to comment #13) > I did a conservative measure (since I hate to lose information): > > - changed the filter rule that previously moved mail from my imap inbox to the > local inbox to now copy the mail and stop processing other filter rules. The > rule was previously at the bottom and is now first. > - I go to my local inbox, hit Ctrl-A and Ctrl-Y to do all the label-setting and > moving to different local folders. > > Will see if it happens again!! I have my filter rules set up so that * first, all the tagging / labelling is done on incoming mail in my imap inbox. * Next comes the rule that copies the mail to the local inbox, next * stop processing if it's the imap account. I then go to my local inbox, select all mails via Ctrl-A and hit Ctrl-Y to do another filter run which now moves the mails to other local folders.
> I then go to my local inbox, select all mails via Ctrl-A and hit Ctrl-Y > to do another filter run which now moves the mails to other local folders. I might add, that also the labelling is done again, so I don't lose those sweet labels. ;-)
I have only one incoming filter rule at the moment, which states: if (Subject contains xxx) OR (Recipients contains xxx) Set Label Personal Copy to On This Computer/Inbox/test when I receive a mail into the IMAP Inbox satisfying the criteria I see it being copied to the destination folder with a label set. No need to re-apply the filter with Ctrl+Y. Even when I try to Ctrl+Y in other than Inbox on some message satisfying the criteria it is copied together with a Label. I'm using actual master, which is just after 2.29.5 release, but I see the same on a version slightly after 2.28.2. Could you try this, please? http://www.go-evolution.org/FAQ#How_can_I_see_what_my_filters_are_doing.3F
(In reply to comment #21) > I have only one incoming filter rule at the moment, which states: > if (Subject contains xxx) OR (Recipients contains xxx) > Set Label Personal > Copy to On This Computer/Inbox/test > > when I receive a mail into the IMAP Inbox satisfying the criteria I see it > being copied to the destination folder with a label set. No need to re-apply > the filter with Ctrl+Y. Even when I try to Ctrl+Y in other than Inbox on some > message satisfying the criteria it is copied together with a Label. I'm using > actual master, which is just after 2.29.5 release, but I see the same on a > version slightly after 2.28.2. You did not understand what I meant. The problem is with the labels of mails in the imap inbox folder. Those mails sometimes loose their labels. They get overridden somehow. In the gdb output I see those "insert or replace" sql statements, which contain no label information. I suspect that the imap code somehow resyncs with the imap server and re-inserts existing mails, but without labels. Just a guess. > > Could you try this, please? > http://www.go-evolution.org/FAQ#How_can_I_see_what_my_filters_are_doing.3F Sure.
So Thomas, any news? :)
(In reply to comment #23) > So Thomas, any news? :) I am using the latest code from the gnome-2-28 branch with a few of my own patches right now and I haven't seen the problem anymore. I set out the rule for myself, though to not manually set labels of mails in the local mail INBOX
(In reply to comment #23) > So Thomas, any news? :) I am using the latest code from the gnome-2-28 branch with a few of my own patches right now and I haven't seen the problem anymore. New mail arrives on my imap INBOX, get labelled by filters and then moved to local mail folders by other filters. I set out the rule for myself, though, to not manually set labels of mails in the local mail INBOX and then move the mail somewhere, but either: * Label a mail in the INBOX and hit Ctrl-Y to trigger a filter that moves the mail based on that new label or * first move a mail to a different folder and then label that mail.
(In reply to comment #25) > * Label a mail in the INBOX and hit Ctrl-Y to trigger a filter that moves the > mail based on that new label or > * first move a mail to a different folder and then label that mail. Filter parts are applied in the given sequence, thus if you've something like: a) copy mail to folder A b) mark label X c) move mail to folder B d) stop further processing Then the mail in folder A will be exactly the same as the source one, but in folder B will be with a label X.
Reopening although this can probably close as OBSOLETE.
(In reply to comment #27) > Reopening although this can probably close as OBSOLETE. Sure, why not.