GNOME Bugzilla – Bug 649757
[regression] 'Local delivery' accounts stopped working
Last modified: 2013-09-13 01:05:47 UTC
I just upgraded evo and friends to today's git/master. When I start evo, I see a warning popup: Error while fetching mail: local stores don't have an inbox. I have several accounts, the main one being a pop3 account on a remote machine. What's strange is the mail seems to be downloaded and the remote spool file is emptied. I'm not sure that this is the same issue, but at the local end, my filters aren't working as expected--mail ending up in wrong folders.
More observations. The problem is with one of my accounts, a spam folder that is on this machine. It's setup for local delivery. This has broken several times, see bug 627952.
Yet one more observation: It seems that it's corrupting my main Inbox. I just sent myself an e-mail that has ended up in my spam folder. This appears to be filter related. Basically, my last filter is supposed to filter all e-mail arriving in the local spam file and move it to a folder.
(In reply to comment #0) > I just upgraded evo and friends to today's git/master. When I start evo, I > see a warning popup: > > Error while fetching mail: local stores don't have an inbox. Can you set a breakpoint at local_store_get_inbox_folder_sync() and post a backtrace from that breakpoint? Make sure debugging symbols are installed.
I set the breakpoint, but it was never triggered (I tried repeated Send/Receive's each tiggered the error). Here's a log: / evolution [?1034hGNU gdb (GDB) 7.2 Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /opt/garnome-svn-3.0.0/bin/evolution...done. (gdb) break local_store_get_inbox_folder_sync Function "local_store_get_inbox_folder_sync" not defined. Make breakpoint pending on future shared library load? (y or [n]) y Breakpoint 1 (local_store_get_inbox_folder_sync) pending. (gdb) run Starting program: /opt/garnome-svn-3.0.0/bin/evolution [Thread debugging using libthread_db enabled] [New Thread 0xb61e2b90 (LWP 423)] (evolution:420): evolution-plugin-lib-WARNING **: can't load plugin '/opt/garnome-svn-3.0.0/lib/evolution/3.2/plugins/liborg-gnome-groupwise-features.so': /opt/garnome-svn-3.0.0/lib/evolution/3.2/plugins/liborg-gnome-groupwise-features.so: undefined symbol: e_get_account_by_source_url (evolution:420): evolution-plugin-lib-WARNING **: can't load plugin '/opt/garnome-svn-3.0.0/lib/evolution/3.2/plugins/liborg-gnome-groupwise-features.so': /opt/garnome-svn-3.0.0/lib/evolution/3.2/plugins/liborg-gnome-groupwise-features.so: undefined symbol: e_get_account_by_source_url (evolution:420): evolution-plugin-lib-WARNING **: can't load plugin '/opt/garnome-svn-3.0.0/lib/evolution/3.2/plugins/liborg-gnome-exchange-mapi.so': libmapi.so.0: cannot open shared object file: No such file or directory (evolution:420): evolution-plugin-lib-WARNING **: can't load plugin '/opt/garnome-svn-3.0.0/lib/evolution/3.2/plugins/liborg-gnome-exchange-mapi.so': libmapi.so.0: cannot open shared object file: No such file or directory [Thread 0xb61e2b90 (LWP 423) exited]
local_store_get_inbox_folder_sync() is the only place where the "Local stores do not have an inbox" error is emitted from.
What you're almost certainly hitting is my screwing around with folder URIs. See: http://mail.gnome.org/archives/evolution-hackers/2011-May/msg00017.html But I realized last night that the path part of the URI needs to be escaped, which unfortunately didn't make it into 3.1.1. Try pulling Evolution again to pick up these two commits, and see if that helps: http://git.gnome.org/browse/evolution/commit/?id=eeb642c416a847a81c1aa85548bdcabc0c30b716 http://git.gnome.org/browse/evolution/commit/?id=f8122e8f92a58776ca1ddc82a45f73234b7fccd9
I pulled the lastest sources and rebuilt. No change, I still get the error message.
This is still happening (today's git/master).
Created attachment 189040 [details] [review] eds patch for evolution-data-server; Matt incorrectly removed camel_filter_driver_filter_mbox(), it's still needed for "Local delivery" accounts and it has nothing to do with On This Computer store type.
Created attachment 189041 [details] [review] evo patch for evolution; Return back local delivery functionality. I hope it was dropped only by a mistake and as David told me, I'm fixing this for the third time. The first two were within bug #627952. I would really appreciate if there can be kept compatibility with older code when some other parts are removed.
Created commit 9b4f492 in eds master (3.1.2+) Created commit 3053c31 in evo master (3.1.2+)
Hi Milan, I'm not sure if this is new or part of the current bug. My local delivery account now works; however, a filter I've associated with it doesn't. The filter is supposed to move all mail who's source account is the local delivery one to a folder in my main tree. This happens for the local delivery account and also for anything that ends up in my default Inbox.
Matt also changed account identifications, and folder descriptions. If you revisit your filters and resetup folders/accounts, will it start working? There is hopefully some migration code, which wasn't invoked for you because it isn't done for "git master" users. A policy I never understood, though I was told "it's expected that git master doesn't work" or something along these lines. Not my opinion, really.
I tried resetting the filter as you suggested and finally deleted it and started from scratch. It didn't help.
Here's the relevant part of filters.xml: <rule enabled="true" grouping="all" source="incoming"> <title>Spam Account</title> <partset> <part name="source"> <value name="srcmatch-type" type="option" value="is"/> <value name="source" type="uid"> <uid>1306877677.31871.2@ronispc</uid> </value> </part> </partset> <actionset> <part name="move-to-folder"> <value name="folder" type="folder"> <folder uri="folder://local/Spam,%20Bounces,%20&%20Viruses/Spam"/> </value> </part> </actionset> </rule> According to gconf-editor, the uid is correct. I also tried changing the source account to another one (not a local delivery one) but again, all mail not hit by preceding rules end up in the spam folder (they should be in my inbox).
Created attachment 189146 [details] [review] eds patch (filtering with source account) for evolution-data-server; This was broken by commit c09c1380e1c. It changed the behaviour in a way that this was evaluated based on the message source account existence, not whether it matched that selected in the filter rules. Please open new bugs for any further regressions you may find, though I hope there will not be many (at least till I start to break things with the new EClient API).
Created commit 226d907 in eds master (3.1.2+)
I rebuilt eds. The problem is fixed.
I just upgraded evo and friends to the current git/master on two boxes. The message filter I initially complained about is broken again. However, there's enough wrong with this version that I'm not sure this is the same problem. On one box, I see all my mail accounts, but the message filter setting is not set properly (basically the 3rd field (the one specifying the account) is blank and can't be set. On the other box I see no entries at all in any of the menus. The main difference between the two machines is that the former is basically current with gnome 3.5.4 while the latter is still largely 3.4.x.
I'd prefer to open a new bug report for this. Even it's still about the same thing, this is 3.5, a year later that you initially reported this, and it's more than unlikely this is the same issue as that what I fixed in above patches, because the code in 3.5.3 changed heavily. Are the symptoms the same as in comment #0, or are they different? The best if you write details to the new bug report, for testing. I'm slightly lost here, with 3 different patches. I'm sorry.