Discussion:
IDLE not working for one account only
Neil Price
2018-06-05 07:17:56 UTC
Permalink
I'm using 2.5.10-3 (the one that comes with debian stretch)

I have one user that I cannot get IDLE to work for using either poll or
idled.

Other accounts work normally. No errors in the log.

Have set him up with a number of email clients and they all do the same
thing.

I can not see anything the account setup that can cause this, suggestions?
Bron Gondwana
2018-06-07 17:23:17 UTC
Permalink
Ah, well done! Sorry I didn't get back to the attached, been a busy few
days of conference here
cyrus.index needed to be updated to latest version. This affected
accounts upgraded from 2.2.4
reconstruct -rf -V max user/badaccount
HIGHESTMODSEQ now looks more reasonable on telnet 143 login
Post by Neil Price
I'm using 2.5.10-3 (the one that comes with debian stretch)
I have one user that I cannot get IDLE to work for using either poll>> or idled.
Other accounts work normally. No errors in the log.
Have set him up with a number of email clients and they all do the
same thing.
I can not see anything the account setup that can cause this,
suggestions?
----
Cyrus Home Page: http://www.cyrusimap.org/
https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus
--
Bron Gondwana, CEO, FastMail Pty Ltd
***@fastmailteam.com
Neil Price
2018-06-07 11:09:52 UTC
Permalink
What implications does HIGHESTMODSEQ have for idle?

I now have 2 accounts with borken idle and I notice they both return
HIGHESTMODEQ 1 on select inbox but the good accounts return a much
larger number.
Post by Neil Price
I'm using 2.5.10-3 (the one that comes with debian stretch)
I have one user that I cannot get IDLE to work for using either poll
or idled.
Other accounts work normally. No errors in the log.
Have set him up with a number of email clients and they all do the
same thing.
I can not see anything the account setup that can cause this,
suggestions?
Neil Price
2018-06-06 10:45:32 UTC
Permalink
I'm grateful for your help.

Attached is an imapd strace of the bad account going into idle, a
message being sent to it, and it leaving idle again.
The timeouts are fine - that's just a select timeout so it can do cleanup.
recvfrom(14, "\2\0\0\0\0\0\0\0user.elangenhoven\0", 1032, 0, {sa_family=AF_UNIX, sun_path="/var/lib/cyrus/socket/idle.31167"}, [110->35]) = 26
sendto(14, "\2\0\0\0\0\0\0\0user.elangenhoven\0", 26, MSG_DONTWAIT, {sa_family=AF_UNIX, sun_path="/var/lib/cyrus/socket/idle.30947"}, 110) = 26
That's a push from the lmtpd (PID 31167) for delivery, followed by a push to the imapd (PID 30947) saying that the mailbox has been touched!
Sorry to be a pain, but can you do it again and get an strace of the imapd as well - the one which is in idle.
Thanks,
Bron.
I've attached an strace of idled. It shows the bad user client
(elangenhoven) going into idle and a message being sent to it.You can
see the message being sent but there seems to be no reaction to it
arriving.
There are a bunch of timeouts there....?
Damn.  I guess I'm going to have to ask for an strace next!  Of the
idled process probably.
Idle changed a bunch between 2.5 and 3.0, so I don't know how much
I'll be able to help :(  Definitely an strace of the idled during
both the start of the IDLE command and the delivery will help see
what's happening.
Bron.
----
Cyrus Home Page: http://www.cyrusimap.org/
List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus
*
|strace.txt|
  12k (text/plain)
--
  Bron Gondwana, CEO, FastMail Pty Ltd
----
Cyrus Home Page: http://www.cyrusimap.org/
List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus
Neil Price
2018-06-05 13:05:39 UTC
Permalink
Here's a comparison of a non-working idle with a good one. You can see
the bad user does not report message arrival while the good one does.
Looks like something odd with the /seen flags ("nonjunk" is missing) .
Can someone explain what it means?
This account was converted from 2.2 I wonder if that's it..... ?

Bad user:
telnet 127.0.0.1 143
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE AUTH=PLAIN SASL-IR] ctgw-3
Cyrus IMAP 2.5.10-Debian-2.5.10-3 server ready
a01 login baduser secret
a01 OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxten QUOTA
MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN
MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SORT SORT=MODSEQ
SORT=DISPLAY SORT=UID THREAD=ORDEREDSUBJECT THREAD=REFERENCES
ANNOTATEMORE ANNOTATE-EXPERIMENT-1 METADATA LIST-EXTENDED LIST-STATUS
LIST-MYRIGHTS WITHIN QRESYNC SCAN XLIST XMOVE MOVE SPECIAL-USE
CREATE-SPECIAL-USE URLAUTH URLAUTH=BINARY LOGINDISABLED COMPRESS=DEFLATE
X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE
X-QUOTA=X-NUM-FOLDERS IDLE] User logged in
SESSIONID=<cyrus-29583-1528202644-1-625909272457112057>
a02 select inbox
* 2591 EXISTS
* 2 RECENT
* FLAGS (\Answered \Flagged \Draft \Deleted \Seen $Forwarded icc-forward
$MDNSent)
* OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen
$Forwarded icc-forward $MDNSent \*)] Ok
* OK [UNSEEN 2589] Ok
* OK [UIDVALIDITY 1485844192] Ok
* OK [UIDNEXT 14864] Ok
* OK [HIGHESTMODSEQ 1] Ok
* OK [URLMECH INTERNAL] Ok
* OK [ANNOTATIONS 65536] Ok
a02 OK [READ-WRITE] Completed
a03 idle
+ idling

(Nothing reported when message sent to this address)
----------------------------------------------------------------------------------------------
Now the good client
telnet 127.0.0.1 143
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE AUTH=PLAIN SASL-IR] ctgw-3
Cyrus IMAP 2.5.10-Debian-2.5.10-3 server ready
a01 login gooduser evenmoresecret
a01 OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxten QUOTA
MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN
MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SORT SORT=MODSEQ
SORT=DISPLAY SORT=UID THREAD=ORDEREDSUBJECT THREAD=REFERENCES
ANNOTATEMORE ANNOTATE-EXPERIMENT-1 METADATA LIST-EXTENDED LIST-STATUS
LIST-MYRIGHTS WITHIN QRESYNC SCAN XLIST XMOVE MOVE SPECIAL-USE
CREATE-SPECIAL-USE URLAUTH URLAUTH=BINARY LOGINDISABLED COMPRESS=DEFLATE
X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE
X-QUOTA=X-NUM-FOLDERS IDLE] User logged in
SESSIONID=<cyrus-29583-1528203335-1-14328682196982078509>
a02 select inbox
* 11664 EXISTS
* 0 RECENT
* FLAGS (\Answered \Flagged \Draft \Deleted \Seen nonjunk $has_cal
$Forwarded $MDNSent junk $label3 $label2 icc-forward $label1 $label4)
* OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen nonjunk
$has_cal $Forwarded $MDNSent junk $label3 $label2 icc-forward $label1
$label4 \*)] Ok
* OK [UNSEEN 10133] Ok
* OK [UIDVALIDITY 1522916393] Ok
* OK [UIDNEXT 18594] Ok
* OK [HIGHESTMODSEQ 33536] Ok
* OK [URLMECH INTERNAL] Ok
* OK [ANNOTATIONS 65536] Ok
a02 OK [READ-WRITE] Completed
a03 idle
+ idling
* 11665 EXISTS
* 1 RECENT
* 11665 FETCH (FLAGS (\Recent nonjunk))
Geoff Winkless
2018-06-05 12:12:00 UTC
Permalink
Post by Neil Price
I can not see anything the account setup that can cause this, suggestions?
Running behind an overly-aggressive TCP proxy?
There is no proxy involved. They are all on the same physical network.
What does tcpdump/wireshark show?
What am I looking for? The only thing I see which is relevant after a
mail has been sent is
[snip]

Mmmf.

As a bit of a Hail Mary, try disabling TCP offloading on the client
machine's network card.

Geoff

Continue reading on narkive:
Loading...