Invalid character in Palm Contact database causes Java Exception If one has an invalid character in a category in the Palm database,
for example "Friends/Family", Zimbra throws a Java exception:
2007-11-26 13:55:26,970 DEBUG [http-443-Processor44] [name=stannenb;mid=9;folder=7;DeviceId=PLMO3688AC41 ;class=Contacts;SyncCmd=Sync;DeviceType=PalmOneTre oAce;] sync - SyncState: version=22/22; modseq=0/0; filter=0/0; cutoff=-1/-1; clientsize=93/93
2007-11-26 13:55:26,970 INFO [http-443-Processor44] [name=stannenb;mid=9;folder=7;DeviceId=PLMO3688AC41 ;class=Contacts;SyncCmd=Sync;DeviceType=PalmOneTre oAce;] sync - Client request version 22
2007-11-26 13:55:27,101 WARN [http-443-Processor44] [name=stannenb;mid=9;clientid=2916391:109;folder=7; DeviceId=PLMO3688AC41;class=Contacts;SyncCmd=Sync; DeviceType=PalmOneTreoAce;] sync - Exception processing client change request
com.zimbra.cs.mailbox.MailServiceException: invalid name: Friends/Family
at com.zimbra.cs.mailbox.MailServiceException.INVALID _NAME(MailServiceException.java:254)
at com.zimbra.cs.mailbox.Tag.validateTagName(Tag.java :186)
at com.zimbra.cs.mailbox.Tag.create(Tag.java:133)
at com.zimbra.cs.mailbox.Mailbox.createTag(Mailbox.ja va:4093)
at com.zimbra.zimbrasync.commands.CollectionSync$AirS yncCommand.saveMailItemCategories(CollectionSync.j ava:117)
at com.zimbra.zimbrasync.commands.ContactsSync.execut eClientChange(ContactsSync.java:234)
at com.zimbra.zimbrasync.commands.CollectionSync.proc ess(CollectionSync.java:433)
at com.zimbra.zimbrasync.commands.Sync.process(Sync.j ava:37)
at com.zimbra.zimbrasync.ZimbraSyncServlet.processCom mand(ZimbraSyncServlet.java:395)
at com.zimbra.zimbrasync.ZimbraSyncServlet.processPos tRequest(ZimbraSyncServlet.java:333)
at com.zimbra.zimbrasync.ZimbraSyncServlet.doPost(Zim braSyncServlet.java:227)
at com.zimbra.zimbrasync.ZimbraSync$HttpHandler.doPos t(ZimbraSync.java:31)
at com.zimbra.cs.extension.ExtensionDispatcherServlet .service(ExtensionDispatcherServlet.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.ApplicationDispatcher.inv oke(ApplicationDispatcher.java:672)
at org.apache.catalina.core.ApplicationDispatcher.pro cessRequest(ApplicationDispatcher.java:463)
at org.apache.catalina.core.ApplicationDispatcher.doF orward(ApplicationDispatcher.java:398)
at org.apache.catalina.core.ApplicationDispatcher.for ward(ApplicationDispatcher.java:301)
at com.zimbra.webClient.filters.SetHeaderFilter.doFil ter(SetHeaderFilter.java:259)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:107)
at org.apache.catalina.valves.AccessLogValve.invoke(A ccessLogValve.java:541)
at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11 ConnectionHandler.processConnection(Http11BaseProt ocol.java:667)
at org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThr ead.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:619)
2007-11-26 13:55:27,102 INFO [http-443-Processor44] [name=stannenb;mid=9;folder=7;DeviceId=PLMO3688AC41 ;class=Contacts;SyncCmd=Sync;DeviceType=PalmOneTre oAce;] sync - Server response version 23
2007-11-26 13:55:27,113 DEBUG [http-443-Processor44] [name=stannenb;mid=9;folder=7;DeviceId=PLMO3688AC41 ;class=Contacts;SyncCmd=Sync;DeviceType=PalmOneTre oAce;] sync - SyncState: statesaved; hasmore; version=23; modseq=0; filter=0; cutoff=-1; clientsize=97
2007-11-26 13:55:27,113 DEBUG [http-443-Processor44] [name=stannenb;mid=9;folder=7;DeviceId=PLMO3688AC41 ;class=Contacts;SyncCmd=Sync;DeviceType=PalmOneTre oAce;] sync -
Sync'ing then gets very confused and the error messages on
the Treo are less than helpful.
We're running Zimbra 4.5.9, and syncing was happening from a
Treo 755p, with VersaMail 3.5.4.
The work around is to change the category name to something
like Friends-Family and do whatever's necessary to clean up
the sync'ing mess. |