[#14044] IMAP ERROR: BAD Error in IMAP command UID SEARCH: Missing search parameters
Summary IMAP ERROR: BAD Error in IMAP command UID SEARCH: Missing search parameters
Queue Horde Framework Packages
Type Bug
State Resolved
Priority 1. Low
Owners mrubinsk@horde.org
Requester horde@vdorst.com
Created 2015-07-06 (1596 days ago)
Due
Updated 2015-07-14 (1588 days ago)
Assigned 2015-07-07 (1595 days ago)
Resolved 2015-07-13 (1589 days ago)
Milestone
Patch No

Comments
horde@vdorst.com 2015-07-06 11:22:25
Currently some folders are not synced via AES because of an error.

Horde log AES device:

2015-07-06T13:09:44+02:00 INFO: [27380] Found 0 deleted messages.
2015-07-06T13:09:44+02:00 INFO: [27380] Polling for SOFTDELETE in 
postmaster before 1433761784
2015-07-06T13:09:44+02:00 ERR: IMAP error reported by server.
2015-07-06T13:09:44+02:00 ERR: IMAP error reported by server.

Horde IMAP debug log:

>> Mon, 06 Jul 2015 11:09:44 +0000
>> Connection to: imap://127.0.0.1/
>> Server connection took 0.0001 seconds.
S: * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID 
ENABLE IDLE STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot (Ubuntu) ready.
C: 1 AUTHENTICATE PLAIN [INITIAL CLIENT RESPONSE (username: <USERNAME>)]
S: 1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID 
ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS 
THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT 
CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC 
ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE 
BINARY MOVE NOTIFY ACL RIGHTS=texk] Logged in
>> Command 1 took 0.0067 seconds.
>> CONFIG: IGNORING these IMAP capabilities: BINARY
>> CACHE: Using the IMP_Imap_Cache_Wrapper storage driver.
C: 2 ENABLE QRESYNC
C: 3 NAMESPACE
S: * ENABLED QRESYNC
S: 2 OK Enabled.
>> Command 2 took 0.0007 seconds.
S: * NAMESPACE (("" "/")) (("shared/" "/")) NIL
S: 3 OK Namespace completed.
>> Command 3 took 0.0019 seconds.
C: 5 LIST "" INBOX RETURN (SUBSCRIBED)
C: 4 LIST (SUBSCRIBED) "" (* shared/*) RETURN (SUBSCRIBED)
S: * LIST (\Subscribed) "/" INBOX
S: 5 OK List completed.


Many of those errors.


>> SEARCH: Retrieved search from cache 
>> (350ea1b0c9566224388cf5f239573afd [postmaster])
C: 30 UID SEARCH RETURN (ALL COUNT)
S: 30 BAD Error in IMAP command UID SEARCH: Missing search parameters
>> Command 30 took 0.0004 seconds.

Software Used:
- OS:  Ubuntu 14.10 64-bit
- Horde: installed via pear (Up-to-date)
-- Imp Version H5 (6.2.9)
-- Other Horde Applications
     ingo: Yes (Version: H5 (3.2.5))
     kronolith: Yes (Version: H5 (4.2.8))
     nag: Yes (Version: H5 (4.2.5))
     turba: Yes (Version: H5 (4.2.7))
- IMAP server: Dovecot :2.2.9-1ubuntu5
- WWW server:  Apache/2.4.10 (Ubuntu)
- PHP 5.5.12-2ubuntu4.4 (cli) (built: Apr 17 2015 11:47:44)
   Copyright (c) 1997-2014 The PHP Group
   Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
     with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend 
Technologies
     with Xdebug v2.2.4, Copyright (c) 2002-2014, by Derick Rethans





horde@vdorst.com 2015-07-06 15:19:24
Some more debug information of IMAP debug log.

>> SEARCH: Retrieved search from cache 
>> (2c0151df879aaacc5a0fe4242e96f00d [Drafts])
>> SEARCH: Retrieved search from cache 
>> (6c371d44a681be95d2f66d96caffe080 [Drafts])
C: 23 STATUS shared/samen (MESSAGES UIDNEXT UIDVALIDITY HIGHESTMODSEQ)
S: * STATUS shared/samen (MESSAGES 2 UIDNEXT 444 UIDVALIDITY 
1419798222 HIGHESTMODSEQ 1144)
S: 23 OK Status completed.
>> Command 23 took 0.0017 seconds.
C: 24 EXAMINE shared/samen (QRESYNC (1419798222 1144 442:443))
S: * OK [CLOSED] Previous mailbox closed.
S: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk)
S: * OK [PERMANENTFLAGS ()] Read-only mailbox.
S: * 2 EXISTS
S: * 0 RECENT
S: * OK [UIDVALIDITY 1419798222] UIDs valid
S: * OK [UIDNEXT 444] Predicted next UID
S: * OK [HIGHESTMODSEQ 1144] Highest
S: 24 OK [READ-ONLY] Examine completed (0.000 secs).
>> Command 24 took 0.0027 seconds.
>> SEARCH: Retrieved search from cache 
>> (fd27166898004d096156362e34a093f3 [shared/samen])
>> CACHE: Retrieved messages (HICflags,HICdg [shared/samen; 442:443])
C: 25 UID FETCH 442:443 (MODSEQ)
S: * 1 FETCH (UID 442 MODSEQ (1142))
S: * 2 FETCH (UID 443 MODSEQ (1144))
S: 25 OK Fetch completed.
>> Command 25 took 0.0011 seconds.
C: 26 UID SEARCH RETURN (ALL COUNT)
S: 26 BAD Error in IMAP command UID SEARCH: Missing search parameters
>> Command 26 took 0.0004 seconds.
C: 27 STATUS "Linux Server" (MESSAGES UIDNEXT UIDVALIDITY HIGHESTMODSEQ)
S: * STATUS "Linux Server" (MESSAGES 9 UIDNEXT 690 UIDVALIDITY 
1419789007 HIGHESTMODSEQ 1259)
S: 27 OK Status completed.
>> Command 27 took 0.0018 seconds.
C: 28 STATUS postmaster (MESSAGES UIDNEXT UIDVALIDITY HIGHESTMODSEQ)
S: * STATUS postmaster (MESSAGES 1 UIDNEXT 6 UIDVALIDITY 1420385639 
HIGHESTMODSEQ 10)
S: 28 OK Status completed.
>> Command 28 took 0.0017 seconds.
C: 29 EXAMINE postmaster (QRESYNC (1420385639 10))
S: * OK [CLOSED] Previous mailbox closed.
S: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
S: * OK [PERMANENTFLAGS ()] Read-only mailbox.
S: * 1 EXISTS
S: * 0 RECENT
S: * OK [UIDVALIDITY 1420385639] UIDs valid
S: * OK [UIDNEXT 6] Predicted next UID
S: * OK [HIGHESTMODSEQ 10] Highest
S: 29 OK [READ-ONLY] Examine completed (0.000 secs).
>> Command 29 took 0.0031 seconds.
>> SEARCH: Retrieved search from cache 
>> (350ea1b0c9566224388cf5f239573afd [postmaster])
C: 30 UID SEARCH RETURN (ALL COUNT)
S: 30 BAD Error in IMAP command UID SEARCH: Missing search parameters
>> Command 30 took 0.0004 seconds.
C: 31 LOGOUT
S: * BYE Logging out
S: 31 OK Logout completed.
>> Command 31 took 0.0008 seconds.


Git Commit <commits@lists.horde.org> 2015-07-13 19:51:53
Changes have been made in Git (master):

commit df2ee8e56793279986903e4c51e34d57706bb6e4
Author: Michael J Rubinsky <mrubinsk@horde.org>
Date:   Mon Jul 13 15:45:30 2015 -0400

     Bug: 14044 Fix detecting empty queries.

     $squery['query'] is always a Horde_Imap_Client_Data_Format_List object
     so it can never be empty(). Use !count() to detect an empty List object.

     Fixes fatal error when attempting to perform a ID query with an
     empty ID list.

  .../Imap_Client/lib/Horde/Imap/Client/Base.php     |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

http://github.com/horde/horde/commit/df2ee8e56793279986903e4c51e34d57706bb6e4

Michael Rubinsky <mrubinsk@horde.org> 2015-07-13 19:58:35
Issue was in Horde_Imap_Client and was not limited to synchronization.

Michael Rubinsky <mrubinsk@horde.org> 2015-07-13 19:59:38
Horde_Imap_Client 2.29.1

horde@vdorst.com 2015-07-14 07:08:35
I patched it by hand and I can confirm it works again.

Thanks!