#3942: mutt with hanging on large Exchange "Deleted Messages" folder -----------------------+--------------------- Reporter: wyardley | Owner: brendan Type: defect | Status: new Priority: major | Milestone: Component: IMAP | Version: 1.8.2 Resolution: | Keywords: -----------------------+---------------------
Comment (by Kevin McCarthy <kevin@…>): In [changeset:"5289d2caadbbb4e0a79ff58dc13258e38115a4aa" 7050:5289d2caadbb]: {{{ #!CommitTicketReference repository="" revision="5289d2caadbbb4e0a79ff58dc13258e38115a4aa" Start fixing imap_read_headers() to account for MSN gaps. (see #3942) Change the parameters to pass MSN instead of index, to make a bit simpler. Change header cache evaluation to look at the largest MSN retrieved instead of ctx->msgcount for the next fetch start point. This still depends on the assumption that MSNs are retrieved in ascending order, which needs to be fixed. Simplify the header cache inner loop termination and memory cleanup logic. Fix a memory leak if a hole in the header cache occured. Fix the header retrieval logic to take into account MSN gaps in the results. Loop only as long as we get IMAP_CMD_CONTINUE instead of over a fixed count. Simplify the inner loop termination and memory cleanup logic too. Simplify the "new mail while fetching" logic by creating a third outer loop to handle re-fetches. Fix msg_fetch_header() to return -2 if msg_parse_fetch() encounters a corrupt FETCH response. Previously it would pass on the rc of msg_parse_fetch(), meaning it would return -1 even though the response was corrupt. }}} -- Ticket URL: <https://dev.mutt.org/trac/ticket/3942#comment:6> Mutt <http://www.mutt.org/> The Mutt mail user agent