Uploaded image for project: 'James Server'
  1. James Server
  2. JAMES-1476

ArrayIndexOutOfBoundsException when searching in ImapFolder

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Won't Fix
    • 3.0-beta4
    • None
    • IMAPServer
    • None

    Description

      Hi,

      Occasionally, some of my test fail with an ArrayIndexOutOfBoundsException:

      java.lang.ArrayIndexOutOfBoundsException: message number (6) out of bounds (5)
      at com.sun.mail.imap.MessageCache.getMessage(MessageCache.java:132)
      at com.sun.mail.imap.MessageCache.getMessageBySeqnum(MessageCache.java:162)
      at com.sun.mail.imap.IMAPFolder.getMessageBySeqNumber(IMAPFolder.java:2809)
      at com.sun.mail.imap.IMAPFolder.search(IMAPFolder.java:1662)

      The test is rather simple: I create a Message and do 'Transport.send(message)' and then I try to verify if the mail can be found on the server with 'folder.search(searchTerm);'.
      The folder is opened with 'folder.open(Folder.READ_ONLY);'.

      I have asked on the javax.mail mailing list (https://forums.oracle.com/forums/thread.jspa?threadID=2489711&tstart=0) and have been advised to open a bug here:

      ------

      It's definitely a bug in the server. You can see it here:

      You open the INBOX and it tells you there's 6 messages in the INBOX:

      A3 EXAMINE INBOX

      • FLAGS (\Answered \Deleted \Draft \Flagged \Seen)
      • 6 EXISTS

      Then you do a search and it matches message number 7!

      A5 SEARCH SUBJECT "subject with random nr: 1359967923405 9" ALL

      • SEARCH 7

      There was also another search for the same message right before that, and it returned nothing.
      Presumably the message just showed up in the INBOX between those two searches, which is
      fine, but the IMAP protocol requires the server to notify the client of the new message before
      it can return that message as the result of a search.

      --------

      The complete stacktrace and debug output can be found in that thread, or I can attach it to this bug.

      Attachments

        1. cdm-messaging-config-3.2-SNAPSHOT.jar
          27 kB
          Heinz-Dieter Conradi
        2. JamesTest.java
          7 kB
          Heinz-Dieter Conradi

        Activity

          People

            ieugen Ioan Eugen Stan
            hdc Heinz-Dieter Conradi
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: