[Dovecot] Dovecot-2.1.14 - pop3 processes always hangs forever
Hello,
I'm currently experimenting with the 2.1.x series and am facing a behavior I can't explain; I must be doing something wrong and probably miss the obvious... ;-)
This is a very basic build on Mac OS X 10.8.2:
./configure --prefix=/_COD/dovecot-2.1.14 --sysconfdir=/_ETC --localstatedir=/_VAR --with-sqlite --with-ldap=yes
(Yes, I know, a strange layout, yet very convenient for testing various things here.)
Dovecot's configuration is very basic too:
# 2.1.14: /_ETC/dovecot/dovecot.conf
# OS: Darwin 12.2.1 x86_64
auth_verbose = yes
disable_plaintext_auth = no
mail_debug = yes
mail_location = mbox:~/mboxes:INBOX=~/mboxes/inbox
passdb {
args = /_ETC/dovecot/db.conf
driver = sql
}
ssl = no
userdb {
driver = prefetch
}
It is started from launchd with the -F flag.
Two users are defined in the database, user1 (100002/100002) and user2 (100003/100003), with "virtual" uids/gids.
Connecting for the first time as user1 through imap:
$ telnet 127.0.0.1 143
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN] Dovecot ready.
a login user1 pass1
a OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE] Logged in
b logout
* BYE Logging out
b OK Logout completed.
Connection closed by foreign host.
In mail.log:
dovecot[2997]: imap-login: Login: user=<user1>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=3006, secured, session=<EOWWzjbVxQB/AAAB>
dovecot[2997]: imap(user1): Debug: Effective uid=100002, gid=100002, home=/_Data/Mailstores/100002
dovecot[2997]: imap(user1): Debug: Home dir not found: /_Data/Mailstores/100002
dovecot[2997]: imap(user1): Debug: fs: root=/_Data/Mailstores/100002/mboxes, index=, control=, inbox=/_Data/Mailstores/100002/mboxes/inbox, alt=
dovecot[2997]: imap(user1): Debug: Namespace : /_Data/Mailstores/100002/mboxes doesn't exist yet, using default permissions
dovecot[2997]: imap(user1): Debug: Namespace : Using permissions from /_Data/Mailstores/100002/mboxes: mode=0700 gid=-1
dovecot[2997]: imap(user1): Disconnected: Logged out in=8 out=362
While logged in (ie after the login and before the logout), "doveadm who" shows:
username # proto (pids) (ips)
user1 1 imap (3093) (127.0.0.1)
So far, so good.
Now, let's connect as user2 for the first time, through pop:
$ telnet 127.0.0.1 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
user user2
+OK
pass pass2
and the session hangs forever.
This is written in the log:
dovecot[2997]: pop3-login: Login: user=<user2>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=3113, secured, session=<GTOlMjfV3gB/AAAB>
dovecot[2997]: pop3(user2): Debug: Effective uid=100003, gid=100003, home=/_Data/Mailstores/100003
dovecot[2997]: pop3(user2): Debug: Home dir not found: /_Data/Mailstores/100003
dovecot[2997]: pop3(user2): Debug: fs: root=/_Data/Mailstores/100003/mboxes, index=, control=, inbox=/_Data/Mailstores/100003/mboxes/inbox, alt=
dovecot[2997]: pop3(user2): Debug: Namespace : /_Data/Mailstores/100003/mboxes doesn't exist yet, using default permissions
dovecot[2997]: pop3(user2): Debug: Namespace : Using permissions from /_Data/Mailstores/100003/mboxes: mode=0700 gid=-1
dovecot[2997]: pop3(user2): Debug: Namespace : /_Data/Mailstores/100003/mboxes/inbox doesn't exist yet, using default permissions
dovecot[2997]: pop3(user2): Debug: Namespace : Using permissions from /_Data/Mailstores/100003/mboxes: mode=0700 gid=-1
dovecot[2997]: pop3(user2): Debug: Namespace : /_Data/Mailstores/100003/mboxes/inbox doesn't exist yet, using default permissions
dovecot[2997]: pop3(user2): Debug: Namespace : Using permissions from /_Data/Mailstores/100003/mboxes: mode=0700 gid=-1
while "doveadm who" pretends nobody is connected:
username # proto (pids) (ips)
To get rid of the pop3 process, I have to send it a KILL signal: no other way. But this is noticed by the master process:
dovecot[2997]: pop3(user2): Fatal: master: service(pop3): child 3113 killed with signal 9
Note that it is possible to connect afterwards as user2 through imap. On the other hand, trying to connect as user1 or user2 through pop always hangs.
TIA, Axel
participants (1)
-
Axel Luttgens