Hello all,

Context: ZCS 7.1.3 on SLES 10 SP1

Problem: an external IMAP account hosted on hostmonster.com (a dovecot server) will not sync. I get the following error message:

system failure: Folder sync failed, java.nio.BufferUnderflowException

The same account syncs fine over IMAP using Mac OS Mail or Thunderbird clients.

Other external IMAP accounts (gmail, etc.) work well on the same Zimbra 7.1.3 installation.

When trying to sync the problematic account from the Zimbra client, I get the following errors logged to the ZCS mailbox.log file (actual email addresses and domain names changed for privacy reasons):

2011-11-07 21:48:17,238 INFO [ImportData-21] [name=me@somedomain.com;mid=25;ds=My IMAP Account;] datasource - Requested import.
2011-11-07 21:48:17,239 INFO [ImportData-21] [name=me@somedomain.com;mid=25;ds=My IMAP Account;] datasource - Importing data for data source 'My IMAP Account'
2011-11-07 21:48:17,983 INFO [ImportData-21] [name=me@somedomain.com;mid=25;ds=My IMAP Account;] datasource - Upgrading IMAP data for My IMAP Account
2011-11-07 21:48:17,985 INFO [ImportData-21] [name=me@somedomain.com;mid=25;ds=My IMAP Account;] datasource - Deleting IMAP data for DataSource 93467b32-bd5f-468b-a447-5e77f4f4687e
2011-11-07 21:48:18,351 INFO [ImportData-21] [name=me@somedomain.com;mid=25;ds=My IMAP Account;] datasource - Import completed for data source 'My IMAP Account'
2011-11-07 21:48:18,351 WARN [ImportData-21] [name=me@somedomain.com;mid=25;ds=My IMAP Account;] datasource - On-demand DataSource import failed.
com.zimbra.common.service.ServiceException: system failure: Folder sync failed
ExceptionId:ImportData-21:1320720498251:08e76f83c2c560a5
Code:service.FAILURE
at com.zimbra.common.service.ServiceException.FAILURE (ServiceException.java:248)
at com.zimbra.cs.datasource.imap.ImapSync.importData( ImapSync.java:168)
at com.zimbra.cs.datasource.imap.ImapSync.importData( ImapSync.java:135)
at com.zimbra.cs.datasource.DataSourceManager.importD ata(DataSourceManager.java:312)
at com.zimbra.cs.datasource.DataSourceManager.importD ata(DataSourceManager.java:271)
at com.zimbra.cs.datasource.DataSourceManager$1.run(D ataSourceManager.java:258)
at java.util.concurrent.Executors$RunnableAdapter.cal l(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(Futu reTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.jav a:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.run Task(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.nio.BufferUnderflowException
at java.nio.Buffer.nextGetIndex(Buffer.java:474)
at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:11 7)
at com.zimbra.cs.mailclient.imap.MailboxName.decodePE M(MailboxName.java:84)
at com.zimbra.cs.mailclient.imap.MailboxName.decodeBy tes(MailboxName.java:73)
at com.zimbra.cs.mailclient.imap.MailboxName.decode(M ailboxName.java:58)
at com.zimbra.cs.mailclient.imap.MailboxName.decode(M ailboxName.java:54)
at com.zimbra.cs.mailclient.imap.ListData.readMailbox List(ListData.java:82)
at com.zimbra.cs.mailclient.imap.ListData.read(ListDa ta.java:45)
at com.zimbra.cs.mailclient.imap.ImapResponse.readUnt agged(ImapResponse.java:90)
at com.zimbra.cs.mailclient.imap.ImapResponse.readRes ponse(ImapResponse.java:51)
at com.zimbra.cs.mailclient.imap.ImapResponse.read(Im apResponse.java:38)
at com.zimbra.cs.mailclient.imap.ImapConnection.readR esponse(ImapConnection.java:648)
at com.zimbra.cs.mailclient.imap.ImapConnection.waitF orResponse(ImapConnection.java:641)
at com.zimbra.cs.mailclient.imap.ImapConnection.sendR equest(ImapConnection.java:518)
at com.zimbra.cs.mailclient.imap.ImapRequest.send(Ima pRequest.java:95)
at com.zimbra.cs.mailclient.imap.ImapRequest.sendChec kStatus(ImapRequest.java:111)
at com.zimbra.cs.mailclient.imap.ImapConnection.doLis t(ImapConnection.java:301)
at com.zimbra.cs.mailclient.imap.ImapConnection.list( ImapConnection.java:285)
at com.zimbra.cs.datasource.imap.ImapUtil.listFolders (ImapUtil.java:44)
at com.zimbra.cs.datasource.imap.ImapSync.syncFolders (ImapSync.java:228)
at com.zimbra.cs.datasource.imap.ImapSync.importData( ImapSync.java:163)


There is no problem communicating to the remote hostmonster.com mail server from the ZCS server using IMAP or IMAP/SSL (tested using telnet over ports 143 and 993). Switching from plain text to SSL in the Zimbra external IMAP account setting has no impact on the problem.

Other possibly relevant information: the problematic remote account is pretty large - probably contains over 1.5 GB of mail data, over 10,000 messages in total across many folders and the folder hierarchy contains several hundred folders that are about 4 sub-levels deep at most.

I read some threads about Zimbra having issues with IMAP and special characters in folder names. It may be an issue here since several folders contain spaces, some have "+" signs, some have dashes in their names. However, they all sync fine over IMAP using Thunderbird and Mac OS Mail.

Any idea and / or help would be greatly appreciated.

_______
-Jeff