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 538074 - Evolution can't connect POP3 or IMAP server on Solaris in non-ssl Mode
Evolution can't connect POP3 or IMAP server on Solaris in non-ssl Mode
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Mailer
2.24.x (obsolete)
Other All
: Urgent critical
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
: 539950 541188 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2008-06-12 22:35 UTC by david clack
Modified: 2013-09-14 16:52 UTC
See Also:
GNOME target: ---
GNOME version: 2.23/2.24


Attachments
add gthread-2.0 to CAMEL building flag checking. (1.07 KB, patch)
2008-07-03 15:31 UTC, Jeff Cai
committed Details | Review

Description david clack 2008-06-12 22:35:08 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
Comment 1 david clack 2008-06-13 04:04:19 UTC
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.
Comment 2 Tobias Mueller 2008-06-16 22:31:29 UTC
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? ;-)
Comment 3 david clack 2008-06-16 22:44:11 UTC
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
Comment 4 André Klapper 2008-06-16 22:53:02 UTC
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.
Comment 5 david clack 2008-06-16 23:01:40 UTC
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
Comment 6 Tobias Mueller 2008-06-17 23:58:16 UTC
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?
Comment 7 C de-Avillez 2008-06-18 00:02:59 UTC
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?
Comment 8 david clack 2008-06-18 01:37:42 UTC
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
Comment 9 Tobias Mueller 2008-06-24 16:45:03 UTC
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.
Comment 10 david clack 2008-06-24 17:26:05 UTC
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
Comment 11 Milan Crha 2008-06-25 11:12:20 UTC
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.)
Comment 12 david clack 2008-06-25 11:27:59 UTC
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
Comment 13 Tobias Mueller 2008-07-02 14:34:40 UTC
*** Bug 541188 has been marked as a duplicate of this bug. ***
Comment 14 Tobias Mueller 2008-07-02 14:36:03 UTC
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;
        }
Comment 15 Jeff Cai 2008-07-03 15:15:48 UTC
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,

   
Comment 16 Jeff Cai 2008-07-03 15:31:12 UTC
Created attachment 113928 [details] [review]
add gthread-2.0 to CAMEL building flag checking.
Comment 17 david clack 2008-07-03 19:13:03 UTC
That worked, Thanks Dave
Comment 18 Srinivasa Ragavan 2008-07-06 18:06:58 UTC
I dont have a solaris box to check this? Can Jeff/Jedy confirm this? I would rely on you for the results.
Comment 19 Jeff Cai 2008-07-07 05:51:22 UTC
*** Bug 539950 has been marked as a duplicate of this bug. ***
Comment 20 Jeff Cai 2008-07-07 05:54:35 UTC
Srini

I also tested on Solaris as what David has done. It works fine.
Comment 21 Jeff Cai 2008-07-23 04:36:18 UTC
Srini
Could I commit this patch?
Comment 22 Karsten Bräckelmann 2008-08-10 13:59:03 UTC
Jeff, please go ahead. :)
Comment 23 Jeff Cai 2008-08-11 04:11:36 UTC
committed to upstream.
Comment 24 Jeff Cai 2008-08-11 04:13:12 UTC
Please close this bug and change the patch status.
Comment 25 Harry Lu 2008-08-11 04:17:46 UTC
change patch and bug status.
Comment 26 André Klapper 2008-08-11 09:06:23 UTC
Jeff, you should now have permissions to edit bugs and close them yourself. Enjoy. :-)