After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 708175 - "You must be working online to complete this operation"
"You must be working online to complete this operation"
Status: RESOLVED FIXED
Product: evolution-ews
Classification: Other
Component: Miscellaneous / EWS Core
3.8.x
Other Linux
: Normal normal
: ---
Assigned To: Evolution EWS maintainer(s)
Evolution EWS maintainer(s)
Depends on:
Blocks: 703515
 
 
Reported: 2013-09-16 17:13 UTC by David Woodhouse
Modified: 2014-10-23 09:54 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description David Woodhouse 2013-09-16 17:13:31 UTC
When I call off the VPN, EWS stops working. Go figure.

When I rejoin the VPN, EWS continues to not work. I have to take it completely offline and back online again to make it reconnect to EWS.

Unlike my IMAP services (and ActiveSync) which just reconnect and keep working.
Comment 1 David Woodhouse 2013-09-16 17:15:22 UTC
(IMAP and ActiveSync don't require the VPN, but they do keep working if the main connection goes down and comes back)
Comment 2 David Woodhouse 2013-11-19 14:22:12 UTC
Bug 712681 may possibly be related. Or maybe not...
Comment 3 Milan Crha 2014-01-22 18:56:43 UTC
This seems to be gone for 3.11.5. It was an issue deeper in the stack, I think, in CamelStore.
Comment 4 Emre Erenoglu 2014-05-26 13:24:13 UTC
I'm having the same issue, Evolution and EWS and evolution-data-server from master compiled on 24.05.2014.

my system automatically sets proxies for KDE, GNOME and command line applications using proxydriverd. My desktop environment is KDE. What I recognized is that, regardless of what I pick in the KDE proxy settings, Evo still claims it's offline. It is able to complete account registration though. I also tried setting and unsetting proxy through Gnome-settings GUI but it also did not help.

Evolution also seem to disregard the proxy settings in its own settings. 

When I start evo from command line with http_proxy environment set, it works and connects. If I delete this http_proxy env variable, it cant connect and claims that I'm offline.

The thing is, a proxy is not needed for this server. Thunderbird connects to the same server's IMAP ports correctly, along with its EWS based Calendar plugin. This problem popped up recently between 3.12 and 3.13.2 I believe. I did not have it before.
Comment 5 Milan Crha 2014-05-27 09:01:45 UTC
Could it not be an issue with the proxydriver then? I do not think it's exactly with it, but maybe with a way it writes "ignore" list and so on, which Evolution (or libsoup) might not be able to parse properly.

You said the proxy is not needed for your account, thus maybe the stored value is the one which confuses evolution.

Setting the http_proxy seems odd, because evolution-ews uses htpps (the secure HTTP), but it reminded me of a bug 724316 in libsoup. Do you have libsoup with that bug fix included, please?
Comment 6 Emre Erenoglu 2014-05-27 11:07:38 UTC
Milan, I disabled the proxydriver (ie removed it from NetworkManager Dispatcher) and rebooted system. then I confirmed from KDE settings that proxy is not there anymore. With this, I still had the same problem.
PS. What I did not check is if Gnome settings live through reboots, so i will check this now.

My system is Kubuntu 14.04, libsoup is 2.44.2-1ubuntu2. 
Yes, it was strange for me as well, since EWS runs over https. but the variable I set to make it work is http_proxy
Comment 7 Emre Erenoglu 2014-05-27 11:39:56 UTC
OK, as I was guessing, the gnome settings still carried proxy settings as well as the environment variables for konsole sessions. I removed all these, rebooted, but Evolution still claiming that I need to be online to complete the operation.

I tried to setup an IMAP account now, its working. So this issue is definitely specific to EWS.
Comment 8 Emre Erenoglu 2014-05-27 11:48:08 UTC
and again, when there's nothing and no settings, no ignore lists, etc, if I launch evo from command line, i end up again the same error.

if I just type:
export http_proxy=http://myproxy.com:port#
then launch evo, it works.

I checked the EWS URL from firefox, after authentication, it provides me with a long XML document. This firefox does not use any proxy.
Comment 9 Emre Erenoglu 2014-05-28 10:11:57 UTC
OK, now, without any proxy, i confirm it does not work.

whenever I put any proxy, even if it's a false one, it works. the proxy environment variable needs to have http:// in its address:

~$ env | grep http
http_proxy=http://abc.xyz.com:3128

then launch evolution and it works.
Comment 10 Milan Crha 2014-07-08 16:30:39 UTC
Could it be that this is bug #731585? It is filled later, but maybe the cause is the same/similar.
Comment 11 Emre Erenoglu 2014-07-08 21:38:21 UTC
Possibly similar. I saw this at work once again with an Evo compiled 3 days ago though. But it did not repeat. If I manage to reproduce it, I will tell.
Comment 12 Emre Erenoglu 2014-07-10 18:43:29 UTC
Now I could reproduce. This is Evo compiled from master just a few days ago...

EWS account works. 

Once I add the IMAP one, it starts to give message "You must be working online to complete this operation". The Imap server is running on localhost and is accessible by Thunderbird. (* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN] Dovecot (Ubuntu) ready.)

So problem is in IMAP or somewhere related, not EWS! (EWS is still working even if this error appears on IMAP account)
Comment 13 Emre Erenoglu 2014-07-10 19:08:31 UTC
By the way, this is what I See on console:

(evolution:11655): camel-CRITICAL **: network_service_connect_sync: assertion 'connectable != NULL' failed
(evolution:11655): GLib-GObject-CRITICAL **: g_closure_unref: assertion 'closure->ref_count > 0' failed
(evolution:11655): camel-CRITICAL **: network_service_connect_sync: assertion 'connectable != NULL' failed

This is a newly setup Evolution, no previous configurations were there. I started with account creation wizard, setup EWS, let it sync, then setup localhost IMAP server. And bumped into this. So now my email archives are not accessible :)
 
Let me know what other data you would need to nail it.
Comment 14 David Woodhouse 2014-07-10 19:23:40 UTC
As an aside, note that you don't actually need a dovecot 'server' running. Evolution is perfectly capable of just spawning the dovecot IMAP service (/usr/libexec/dovecot/imap or wherever your distro puts it), instead of there having to be a damon running and listening for connections. And then hopefully the network status shouldn't be relevant...
Comment 15 Milan Crha 2014-07-11 12:42:45 UTC
The eds change from bug #731585 [1] is supposed to address the localhost issue. Do you have that in your build too? How do you reference the IMAP server in account properties? It feels like a different issue than the one in EWS to me.

[1] https://git.gnome.org/browse/evolution-data-server/commit/?id=30ae923
Comment 16 Emre Erenoglu 2014-07-11 14:16:30 UTC
Yes, this is a very recent build including eds and ews. Indeed, I tried to set the account with another hostname using my router's dns server, then it works. It also works if I setup gmail.

Once I put localhost in the server field, I can't even query for supported authentication types at account setup. All return dashed.

Further debugging:
- Works when I put 127.0.0.1 to server field
- Does not work if I put localhost instead
Comment 17 Milan Crha 2014-10-21 17:52:48 UTC
(In reply to comment #16)
> Further debugging:
> - Works when I put 127.0.0.1 to server field
> - Does not work if I put localhost instead

I see. The change from comment #15 had a bug which was fixed after that date within bug #734853. All should be fine with 3.12.7+ (3.12.7.1 for eds), though possibly an account re-configure might be needed in case of evolution-ews.

Could you re-try, please?
Comment 18 Emre Erenoglu 2014-10-22 19:03:13 UTC
Hi Milan, I just re-compiled Evo and yes, it seems the bug is gone. Both EWS and localhost IMAP connected fine.
Comment 19 Milan Crha 2014-10-23 09:03:11 UTC
Nice, thanks for the confirmation. Let's reopen in case it would regress (I hope it'll not).
Comment 20 Mikhail 2014-10-23 09:25:30 UTC
What it means? Now I can read messages even if exchange server is unaccessible?
Comment 21 Milan Crha 2014-10-23 09:54:12 UTC
(In reply to comment #20)
> What it means? Now I can read messages even if exchange server is unaccessible?

Nope, you cannot read messages which are not downloaded (you can read those you've already seen). Thus if the offline state is valid, like no connection to the server, then you still get the error, but if the connection is available, then EWS may reconnect automatically and let you continue in the work in the online mode, instead of being left in the offline mode even with the re-established connection.