Multi-server install.
I have 3 store servers, the one hosting the account in question happens to be the newest, but it's been working well for over a year.


User reported to me that when the access their Drafts, or Sent folder, they get a "Network service error". They report that this was happening on just the drafts folder, and sent was working, then later sent stopped working.

The full error is:

Code:
method:	SearchRequest
msg:	system failure: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
code:	service.FAILURE
detail:	soap:Receiver
trace:	com.zimbra.common.service.ServiceException: system failure: java.lang.StringIndexOutOfBoundsException: String index out of range: -1 ExceptionId:btpool0-66418://webmail.lafayette.edu/service/soap/SearchRequest:1333119449304:3264869bbadbf975 Code:service.FAILURE at com.zimbra.common.service.ServiceException.FAILURE(ServiceException.java:248) at com.zimbra.soap.SoapEngine.dispatchRequest(SoapEngine.java:449) at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.java:274) at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.java:158) at com.zimbra.soap.SoapServlet.doWork(SoapServlet.java:291) at com.zimbra.soap.SoapServlet.doPost(SoapServlet.java:212) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at com.zimbra.cs.servlet.ZimbraServlet.service(ZimbraServlet.java:181) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) at com.zimbra.cs.servlet.SetHeaderFilter.doFilter(SetHeaderFilter.java:79) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:81) at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:132) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.handler.rewrite.RewriteHandler.handle(RewriteHandler.java:230) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.handler.DebugHandler.handle(DebugHandler.java:77) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:543) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:939) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:413) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:451) Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.String.substring(String.java:1937) at javax.mail.internet.InternetAddress.unquote(InternetAddress.java:367) at javax.mail.internet.InternetAddress.parse(InternetAddress.java:1013) at javax.mail.internet.InternetAddress.parseHeader(InternetAddress.java:600) at com.zimbra.cs.mime.Mime.parseAddressHeader(Mime.java:663) at com.zimbra.cs.mime.Mime.parseAddressHeader(Mime.java:641) at com.zimbra.cs.service.mail.ToXML.encodeMessageSummary(ToXML.java:1258) at com.zimbra.cs.service.mail.ToXML.encodeMessageSummary(ToXML.java:1244) at com.zimbra.cs.service.mail.Search.addMessageHit(Search.java:361) at com.zimbra.cs.service.mail.Search.putHits(Search.java:227) at com.zimbra.cs.service.mail.Search.handle(Search.java:127) at com.zimbra.soap.SoapEngine.dispatchRequest(SoapEngine.java:420) ... 34 more
request:	

Body: {
  SearchRequest: {
    _jsns: "urn:zimbraMail",
    limit: 100,
    locale: {
      _content: "en_US"
     },
    offset: 0,
    query: "in:"drafts"",
    recip: 1,
    sortBy: "dateDesc",
    types: "message",
    tz: {
      id: "America/New_York"
     }
   }
 },
Header: {
  context: {
    _jsns: "urn:zimbra",
    account: {
      _content: "user@domain.com",
      by: "name"
     },
    authToken: "(removed)",
    session: {
      _content: 112887731,
      id: 112887731
     },
    userAgent: {
      name: "ZimbraWebClient - FF3.0 (Linux)",
      version: "6.0.10_GA_2692"
     }
   }
 }
I dont see anyting useful in my mailbox log. I could be missing it though, there's 1500 or so students on this server, lots of traffic int he mailbox log.

What might cause this? Corrupt messages?

I've tried reindexing the user's mailbox, didnt seem to help.

I've also tried twiddling knobs on her drafts folder, to see if that kicked zimbra into doing some sort of automated mailbox repair. No help.

I'd like to preserve the user's mail if possible, but if its just not possible, wiping the folders is an option as a last resort.