GNOME Bugzilla – Bug 538074
Evolution can't connect POP3 or IMAP server on Solaris in non-ssl Mode
Last modified: 2013-09-14 16:52:34 UTC
Please describe the problem: Upgrading the evolution-data-server-2.23.3 has cuased errors on reading from POP servers, created gmail account that requires SSL and it works fine Steps to reproduce: 1. add POP server without SSL support 2. 3. Actual results: error while fetching mail in evolution status Expected results: read from pop server as previous version Does this happen every time? yes if no SSL Other information: CamelException.setv(90697a4, 2, 'Host lookup failed: pop.gmail.com: service name not available for the specified socket type') CamelException.setv(8bd9f44, 303, 'Could not connect to pop.coastaccess.com: Resource temporarily unavailable') CamelException.setv(b46fa5c, 303, 'Could not connect to pop.coastaccess.com: Resource temporarily unavailable') CamelException.setv(8c8107c, 303, 'Could not connect to pop.coastaccess.com: Resource temporarily unavailable') evolution-mail-Message: Error occurred while existing dialogue active: Could not connect to pop.coastaccess.com: Resource temporarily unavailable evolution-mail-Message: Error occurred while existing dialogue active: Could not connect to pop.coastaccess.com: Resource temporarily unavailable evolution-mail-Message: Error occurred while existing dialogue active: Could not connect to pop.coastaccess.com: Resource temporarily unavailable
I just built the evolution-data-server-2.23.3, evolution-2.23.3.1 and gtkhtml-3.23.3 again on another system, the POP email accounts are showing the same issue.
Hey David. While I appreciate your effort filing this bug, I disregard the setting of priority to blocker yourself. Please don't do that on your own. I feel, that this an issue of your configuration somehow. Can you "telnet pophost pop3" while evo can't connect it? OT: You won't use POP w/o SSL, would you? ;-)
Hi, I think it's a blocker. My pop mail isp does not support SSL. If I go back to evolution 2.22.2 or use Thunderbird without SSL on the POP settings I can read mail. If I turn on SSL in 2.22.2 I get an email error. I don't have a choice in the matter of SSL. For me POP email has stopped working on Evolution 2.23.3.1, that makes it a blocker for me ? Dave
What distribution is this? So GMail SSL works fine, okay. CamelException.setv(b46fa5c, 303, 'Could not connect to pop.coastaccess.com: Resource temporarily unavailable') just tells me that the server is maybe down or does not support SSL.
OpenSolaris Yes, gmail with SSL works fine in Evolution 2.23.3.1 I have evolution 2.22.2 back on my system now and the POP emails including gmail with SSL are working fine. The minute I upgraded to Evolution 2.23.3.1 POP stops working Dave
Hm. If that was true, it's indeed a blocker. However, I can't verify or falsify that as I've bricked my evo :-| Thus I'd like another person to comment on whether POP is broken on 2.23.3. Maybe OpenSolaris just patched Evo to not do POP anymore? You mentioned it more or less, but to make things perfectly clear: You *can't* access your POP Mail with Evolution while you *can* telnet your pophost and popport?
I just tested it with Evo 2.23.4 (SVN image as of 2006-06-16 @ 18:00 -0600), and I can receive from a POP server without encryption. Perhaps already fixed?
Hi, I just rebuilt from the svn trunk, I'm showing 2.23.5 in Evolution and POP is not working. It must be something about OpenSolaris, I checked our diffs and it does not look like we are touching anything in the POP sections. Thanks Dave
Hey david. You could try to run evolution with the environment variable CAMEL_DEBUG set to all. Maybe this sheds some light into the issue.
sending : A00010 SELECT INBOX received: * FLAGS (\Answered \Flagged \Draft \Deleted \Seen Junk $Label1 $Label2 $Label3 $Label4 $Label5 $NotJunk $Junk JunkRecorded $MDNSent $Forwarded NonJunk receipt-handled NotJunk) received: * OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen Junk $Label1 $Label2 $Label3 $Label4 $Label5 $NotJunk $Junk JunkRecorded $MDNSent $Forwarded NonJunk receipt-handled NotJunk \*)] received: * 78 EXISTS received: * 0 RECENT received: * OK [UIDVALIDITY 1145081045] received: * OK [UIDNEXT 128604] received: A00010 OK [READ-WRITE] Completed sending : A00011 FETCH 78 UID received: * 78 FETCH (UID 128602) received: A00011 OK Completed sending : A00012 STATUS INBOX (MESSAGES UNSEEN) received: * STATUS INBOX (MESSAGES 78 UNSEEN 0) received: A00012 OK Completed CamelException.setv(8cffd04, 2, 'Host lookup failed: pop.gmail.com: service name not available for the specified socket type') CamelException.setv(8cffd54, 303, 'Could not connect to pop.coastaccess.com: Connection timed out') CamelException.setv(8cffda4, 303, 'Could not connect to pop.coastaccess.com: Error 0') CamelException.setv(8cffc64, 303, 'Could not connect to pop.coastaccess.com: Resource temporarily unavailable') POP3_STREAM_LINE(62): '+OK Gpop ready for requests from 62.168.58.2 p28pf2327693hub.0' POP3_STREAM_WRITE(6): CAPA POP3_STREAM_LINE(27): '+OK Capability list follows' Got + response cmd_capa POP3_STREAM_LINE(4): 'USER' POP3_STREAM_LINE(10): 'RESP-CODES' POP3_STREAM_LINE(8): 'EXPIRE 0' POP3_STREAM_LINE(15): 'LOGIN-DELAY 300' POP3_STREAM_LINE(18): 'X-GOOGLE-VERHOEVEN' POP3_STREAM_LINE(4): 'UIDL' POP3_STREAM_LINE(END) evolution-mail-Message: Error occurred while existing dialogue active: Could not connect to pop.coastaccess.com: Error 0 evolution-mail-Message: Error occurred while existing dialogue active: Could not connect to pop.coastaccess.com: Resource temporarily unavailable POP3_STREAM_WRITE(15): USER clackd19 received: * 78 EXISTS received: * 0 RECENT received: * OK [UIDVALIDITY 1145081045] received: * OK [UIDNEXT 128604] received: A00013 OK [READ-WRITE] Completed sending : A00014 FETCH 78 UID POP3_STREAM_LINE(13): '+OK send PASS' Got + response POP3_STREAM_WRITE(15): PASS xxxxxxxx received: * 78 FETCH (UID 128602) received: A00014 OK Completed sending : A00015 STATUS INBOX (MESSAGES UNSEEN) POP3_STREAM_LINE(12): '+OK Welcome.' Got + response POP3_STREAM_WRITE(6): CAPA POP3_STREAM_LINE(27): '+OK Capability list follows' Got + response cmd_capa POP3_STREAM_LINE(4): 'USER' POP3_STREAM_LINE(10): 'RESP-CODES' POP3_STREAM_LINE(10): 'PIPELINING' POP3_STREAM_LINE(8): 'EXPIRE 0' POP3_STREAM_LINE(15): 'LOGIN-DELAY 300' POP3_STREAM_LINE(3): 'TOP' POP3_STREAM_LINE(4): 'UIDL' POP3_STREAM_LINE(18): 'X-GOOGLE-VERHOEVEN' POP3_STREAM_LINE(END) POP3_STREAM_WRITE(6): LIST POP3_STREAM_WRITE(6): UIDL received: * STATUS INBOX (MESSAGES 78 UNSEEN 0) received: A00015 OK Completed POP3_STREAM_LINE(24): '+OK 0 messages (0 bytes)' Got + response POP3_STREAM_LINE(END) POP3_STREAM_LINE(3): '+OK' Got + response POP3_STREAM_LINE(END) POP3_STREAM_WRITE(6): QUIT POP3_STREAM_LINE(13): '+OK Farewell.' Got + response
I'm using 3 POP accounts, one is with SSL others are without it and it works fine for me, as far as I can tell. The only differences between 2.22 and 2.23 are these: http://svn.gnome.org/viewvc/evolution-data-server?view=revision&revision=8816 http://svn.gnome.org/viewvc/evolution-data-server?view=revision&revision=8780 http://svn.gnome.org/viewvc/evolution-data-server?view=revision&revision=8594 http://svn.gnome.org/viewvc/evolution-data-server?view=revision&revision=8587 I guess you compile your evolution-data-server yourself, can you check which one of these changes caused a problem for you? As I said, it works fine for me on Fedora 9. (You can look on changes in trunk/camel/providers/pop3/ directory only, but maybe not.)
Hi, I'm on a business trip to Europe, so it's hard to work on this. Yes, I did build my own evolution data server. It's also showing broken POP3 without SSL on our (Sun Microsystems) internal build I tested. Thanks for info. I'll track it down some more when I get back to Seattle, mid July. Dave
*** Bug 541188 has been marked as a duplicate of this bug. ***
As we have bug 541188 as a dup, I'm setting this bug to NEW. From bug 541188 comment #1: In camel-tcp-stream-raw.c:socket_connect, connect returns -1 with errno 0. In normal case, connect should return -1 with errno 150. Please refer to the following code: int fdmax, status; fd_set rdset, wrset; #ifndef G_OS_WIN32 flags = fcntl (fd, F_GETFL); fcntl (fd, F_SETFL, flags | O_NONBLOCK); #else { u_long yes = 1; ioctlsocket (fd, FIONBIO, &yes); } #endif if (connect (fd, h->ai_addr, h->ai_addrlen) == 0) { #ifndef G_OS_WIN32 fcntl (fd, F_SETFL, flags); #else { u_long no = 0; ioctlsocket (fd, FIONBIO, &no); } #endif return fd; } if (!SOCKET_ERROR_IS_EINPROGRESS ()) { errnosav = errno; SOCKET_CLOSE (fd); errno = errnosav; return -1; }
Jedy Wang found the real reason for this bug! Thanks to Jedy. To ensure thread safe of errno in a multiple threads environment, we need to specify a compiling flag -DREENTRANT on Solaris. After adding this flag, the bug seems to go away. Comparing evolution-data-server 2.22 and evolution-data-server 2.24, I find that the difference in configure.in is the real criminal: evolution-data-server 2.22: EVO_SET_COMPILE_FLAGS(CAMEL, $mozilla_nss gnome-vfs-2.0, $THREADS_CFLAGS $KRB4_CFLAGS $KRB5_CFLAGS $MANUAL_NSS_CFLAGS $LARGEFILE_CFLAGS, -lz $THREADS_LIBS $KRB4_LDFLAGS $KRB5_LDFLAGS $MANUAL_NSS_LIBS evolution-data-server 2.24: EVO_SET_COMPILE_FLAGS(CAMEL, $mozilla_nss gio-2.0, $THREADS_CFLAGS $KRB4_CFLAGS $KRB5_CFLAGS $MANUAL_NSS_CFLAGS $LARGEFILE_CFLAGS, -lz $THREADS_LIBS $KRB4_LDFLAGS $KRB5_LDFLAGS $MANUAL_NSS_LIBS Given the fact, we run two commands: pkg-config --cflags gnome-vfs-2.0 -D_REENTRANT -D_PTHREADS -DORBIT2=1 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include pkg-config --cflags gio-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -D_REENTRANT -D_PTHREADS are lost. I'm going to offer a patch which checks the flags of gthread-2.0, then this line will look like EVO_SET_COMPILE_FLAGS(CAMEL, $mozilla_nss gio-2.0 gthread-2.0, $THREADS_CFLAGS $KRB4_CFLAGS $KRB5_CFLAGS $MANUAL_NSS_CFLAGS $LARGEFILE_CFLAGS,
Created attachment 113928 [details] [review] add gthread-2.0 to CAMEL building flag checking.
That worked, Thanks Dave
I dont have a solaris box to check this? Can Jeff/Jedy confirm this? I would rely on you for the results.
*** Bug 539950 has been marked as a duplicate of this bug. ***
Srini I also tested on Solaris as what David has done. It works fine.
Srini Could I commit this patch?
Jeff, please go ahead. :)
committed to upstream.
Please close this bug and change the patch status.
change patch and bug status.
Jeff, you should now have permissions to edit bugs and close them yourself. Enjoy. :-)