Net::IMAP::ResponseParseError: unknown attribute `MODSEQ'

Infos:

  • Used Zammad version: 3.0.x
  • Used Zammad installation source: docker-compose
  • Operating system: Debian 9
  • Browser + version: Chrome 76

Expected behavior:

  • No errors while fetching mails via IMAP from Cyrus IMAPd 3.0.8.

Actual behavior:

  • I’m seeing the following error message:

    {
      "healthy": false,
      "message": "Channel: Email::Account in  Can't use Channel::Driver::Imap: #<Net::IMAP::ResponseParseError: unknown attribute `MODSEQ' for {2}>;unprocessable mails: 6",
      "issues": [
    	"Channel: Email::Account in  Can't use Channel::Driver::Imap: #<Net::IMAP::ResponseParseError: unknown attribute `MODSEQ' for {2}>",
    	"unprocessable mails: 6"
      ],
      "actions": []
    }
    

    A more detailed error message taken from the scheduler log:

    E, [2019-08-14T10:16:48.481485 #1-69844821390380] ERROR -- : Can't use Channel::Driver::Imap: #<Net::IMAP::ResponseParseError: unknown attribute `MODSEQ' for {1}>
    E, [2019-08-14T10:16:48.482052 #1-69844821390380] ERROR -- : unknown attribute `MODSEQ' for {1} (Net::IMAP::ResponseParseError)
    /usr/local/lib/ruby/2.4.0/net/imap.rb:3421:in `parse_error'
    /usr/local/lib/ruby/2.4.0/net/imap.rb:2314:in `msg_att'
    /usr/local/lib/ruby/2.4.0/net/imap.rb:2280:in `numeric_response'
    /usr/local/lib/ruby/2.4.0/net/imap.rb:2222:in `response_untagged'
    /usr/local/lib/ruby/2.4.0/net/imap.rb:2198:in `response'
    /usr/local/lib/ruby/2.4.0/net/imap.rb:2124:in `parse'
    /usr/local/lib/ruby/2.4.0/net/imap.rb:1219:in `get_response'
    /usr/local/lib/ruby/2.4.0/net/imap.rb:1127:in `receive_responses'
    /usr/local/lib/ruby/2.4.0/net/imap.rb:1109:in `block in initialize'
    /usr/local/bundle/gems/logging-2.2.2/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'
    

    MODSEQ seems to be part of an IMAP extension: https://tools.ietf.org/html/rfc4551

    Maybe the IMAP parser that Zammad uses doesn’t understand it? I’ve found a bug report for MODSEQ support for Net::IMAP, and apparently it has been implemented, but the release is scheduled for “next major”, so Ruby 3.0…?

    EDIT: ah, no, the bug report is just confusing. If I’m reading the information in the commit correctly, this should be in Ruby >2.5.0: https://github.com/ruby/ruby/commit/ae91976d561e3855753b936fa9ac6048f64e30bd . The Zammad container we’re currently using runs Ruby 2.4.4, so that would explain why MODSEQ isn’t supported yet. Fixing this might be as simple as upgrading our Zammad installation to -3.1.0-9, because that uses Ruby 2.5.5 :slight_smile:

Steps to reproduce the behavior:

  • Not sure. We’ve been using Cyrus 2.5.10 for ages, and have upgraded to Cyrus 3.0.8 on 2019-03-26. But this issue only seems to have occurred on 2019-08-13 between 20:39 - 21:15; at least there aren’t any older mails in unprocessable_mails. Not sure why this only occurs so sporadically, and how this could be reproduced?

I’ll upgrade our productive Zammad instance this evening and will consider this issue resolved until it occurs again.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.