View Issue Details

IDProjectCategoryView StatusLast Update
0004645SOGoSOPEpublic2019-08-29 14:52
Reporterjensendev Assigned Toludovic  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionsuspended 
PlatformCentOS Linux release 7.6.1810 (COSCentOSOS Version7.6.1810
Product Version4.0.5 
Summary0004645: Empty INBOX / E-mail list and IMAP parser issue - NGImap4ParserException
Description

Hello Everyone,

Yesterday I installed the SOGo nightly via yum on a fresh installed centos 7 (I tried this with 3 different VM and all of them have the same result),

As far as I can see, it can't parse the IMAP response and that's why I'm just seeing an email list with empty subject and contents (figure_1.png in attachments)

I inspected the IMAP logs and it seems "sope-mime" NGImap4ResponseParser can't parse the IMAP response.

The error thrown at /sope-mime/NGImap4/NGImap4ResponseParser.m:1888

Link for the current code:
https://github.com/inverse-inc/sope/blob/2f26952009f622f97a43921a6cfdafb79b8f46f6/sope-mime/NGImap4/NGImap4ResponseParser.m#L1888

I'm using surgemail for IMAP and SMTP, it's tested with a lot of different email clients on web/desktop/mobile and for the first time I'm facing with an issue like this.

If anyone knows how I can fix this, I'll be glad.

Kindest regards.


LOGS :

Jan 16 13:55:58 sogod [4530]: [WARN] <0x0x556e9ea25070[SOGoWebDAVAclManager]> entry '{DAV:}write' already exists in DAV permissions table
Jan 16 13:55:58 sogod [4530]: [WARN] <0x0x556e9ea25070[SOGoWebDAVAclManager]> entry '{DAV:}write-properties' already exists in DAV permissions table
Jan 16 13:55:58 sogod [4530]: [WARN] <0x0x556e9ea25070[SOGoWebDAVAclManager]> entry '{DAV:}write-content' already exists in DAV permissions table

...

Jan 16 13:55:59 sogod [6107]: <0x0x5616a0da8b60[NGImap4ResponseParser]> ERROR: got no body content for key: 'body[header.fields'
Jan 16 13:55:59 sogod [6107]: <0x0x5616a0da34a0[NGImap4Client]> ERROR(-[NGImap4Client _processCommandParserException:]): catched IMAP4 parser exception NGImap4ParserException: unsupported fetch key: nil)
Jan 16 13:55:59 sogod [6107]: [ERROR] <0x0x5616a0db22c0[NGImap4Connection]> Error fetching 1 uids for url: imap://sample%40domain.com@255.255.255.255/INBOX/

...

Jan 16 16:28:51 sogod [4887]: <0x0x55d0a08f39c0[NGImap4ResponseParser]> ERROR: got no body content for key: 'body[header.fields'
Jan 16 16:28:51 sogod [4887]: <0x0x55d0a08545e0[NGImap4Client]> ERROR(-[NGImap4Client _processCommandParserException:]): catched IMAP4 parser exception NGImap4ParserException: unsupported fetch key: nil)

Jan 16 16:28:51 sogod [4887]: [ERROR] <0x0x55d0a0016c00[NGImap4Connection]> Error fetching 19 uids for url: imap://fi%40domain.com@255.255.255.255/INBOX/
Jan 16 16:28:51 sogod [4887]: [WARN] <0x55d0a07b5390[SOGoMailFolder]:folderINBOX> IMAP connection is broken, trying to reconnect...
:
NAMESPACE (("" "/")) NIL NIL
S[0x55d0a06f53d0]: 3 OK namespace done
C[0x55d0a0751580]: 4 LIST "" ""
S[0x55d0a06f53d0]: LIST (\NoSelect) "/" ""
S[0x55d0a06f53d0]: 4 OK LIST completed
C[0x55d0a0751580]: 5 select "INBOX"
S[0x55d0a06f53d0]:
0 EXISTS
S[0x55d0a06f53d0]: 0 RECENT
S[0x55d0a06f53d0]:
OK [UIDVALIDITY 1547653922] Uid epoch
S[0x55d0a06f53d0]: OK [UIDNEXT 1] Predicted next uid
S[0x55d0a06f53d0]:
FLAGS (\Answered \Flagged \Deleted \Draft \Seen $Forwarded )
S[0x55d0a06f53d0]: OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Draft \Seen $Forwarded )] Limited
S[0x55d0a06f53d0]: 5 OK [READ-WRITE] SELECT completed
C[0x55d0a0751580]: 6 UID SORT (REVERSE ARRIVAL) UTF-8 NOT DELETED
S[0x55d0a06f53d0]: 6 OK SORT completed
C[0x55d0a0751580]: 7 logout
S[0x55d0a06f53d0]:
BYE IMAP4rev1 Server logging out
S[0x55d0a087ea60]: OK IMAP (C) (Version 7.3o4-4)
C[0x55d0a07cc880]: 1 login "fi@domain.com" "11Passwd11"
S[0x55d0a087ea60]: 1 OK login completed
C[0x55d0a07cc880]: 2 capability
S[0x55d0a087ea60]:
CAPABILITY IMAP4 IMAP4REV1 NAMESPACE QUOTA UIDPLUS IDLE SORT SURGEMAIL STARTTLS
S[0x55d0a087ea60]: 2 OK Capability completed
C[0x55d0a07cc880]: 3 namespace
S[0x55d0a087ea60]: NAMESPACE (("" "/")) NIL NIL
S[0x55d0a087ea60]: 3 OK namespace done
C[0x55d0a07cc880]: 4 LIST "" ""
S[0x55d0a087ea60]:
LIST (\NoSelect) "/" ""
S[0x55d0a087ea60]: 4 OK LIST completed
C[0x55d0a07cc880]: 5 LIST "" ""
S[0x55d0a087ea60]:
LIST () "/" "INBOX"
S[0x55d0a087ea60]: LIST () "/" "Trash"
S[0x55d0a087ea60]:
LIST () "/" "Sent Items"
S[0x55d0a087ea60]: LIST () "/" "Drafts"
S[0x55d0a087ea60]:
LIST () "/" "Spam"
S[0x55d0a087ea60]: 5 OK LIST completed
C[0x55d0a07cc880]: 6 getquotaroot "INBOX"
S[0x55d0a087ea60]: QUOTAROOT "INBOX" ""
S[0x55d0a087ea60]:
QUOTA "" (STORAGE 771 5371093)
S[0x55d0a087ea60]: 6 OK getquotaroot completed
C[0x55d0a07cc880]: 7 logout
S[0x55d0a087ea60]: BYE IMAP4rev1 Server logging out
S[0x55d0a08f39c0]:
OK IMAP (C) (Version 7.3o4-4)
C[0x55d0a08545e0]: 1 login "fi@domain.com" "11Passwd11"
S[0x55d0a08f39c0]: 1 OK login completed
C[0x55d0a08545e0]: 2 capability
S[0x55d0a08f39c0]: CAPABILITY IMAP4 IMAP4REV1 NAMESPACE QUOTA UIDPLUS IDLE SORT SURGEMAIL STARTTLS
S[0x55d0a08f39c0]: 2 OK Capability completed
C[0x55d0a08545e0]: 3 namespace
S[0x55d0a08f39c0]:
NAMESPACE (("" "/")) NIL NIL
S[0x55d0a08f39c0]: 3 OK namespace done
C[0x55d0a08545e0]: 4 LIST "" ""
S[0x55d0a08f39c0]: LIST (\NoSelect) "/" ""
S[0x55d0a08f39c0]: 4 OK LIST completed
C[0x55d0a08545e0]: 5 select "INBOX"
S[0x55d0a08f39c0]:
19 EXISTS
S[0x55d0a08f39c0]: 0 RECENT
S[0x55d0a08f39c0]:
OK [UNSEEN 4] first unseen message
S[0x55d0a08f39c0]: OK [UIDVALIDITY 1523626380] Uid epoch
S[0x55d0a08f39c0]:
OK [UIDNEXT 20] Predicted next uid
S[0x55d0a08f39c0]: FLAGS (\Answered \Flagged \Deleted \Draft \Seen $Forwarded )
S[0x55d0a08f39c0]:
OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Draft \Seen $Forwarded )] Limited
S[0x55d0a08f39c0]: 5 OK [READ-WRITE] SELECT completed
C[0x55d0a08545e0]: 6 UID SORT (REVERSE ARRIVAL) UTF-8 NOT DELETED
S[0x55d0a08f39c0]: SORT 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
S[0x55d0a08f39c0]: 6 OK SORT completed
C[0x55d0a08545e0]: 7 uid fetch 19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1 (UID FLAGS ENVELOPE RFC822.SIZE BODYSTRUCTURE BODY.PEEK[HEADER.FIELDS (X-PRIORITY)])
S[0x55d0a08f39c0]:
19 FETCH (UID 19 FLAGS (\Seen) ENVELOPE ("Sun, 30 Dec 2018 19:39:29 +0000" "Account details for fifafo at Soundsnap" (("Soundsnap" NIL "support" "soundsnap.com")) (("Soundsnap" NIL "support" "soundsnap.com")) (("Soundsnap" NIL "support" "soundsnap.com")) ((NIL NIL "fi" "domain.com")) NIL NIL NIL "<g32gf453g4.g2g3f2g32-_vHSEHGSEHrghrdt0-g5@tracking.soundsnap.com>") RFC822.SIZE 41439 BODYSTRUCTURE (("TEXT" "PLAIN" ("charset" "utf-8") NIL NIL "BASE64" 3150 43 NIL NIL NIL NIL)("TEXT" "HTML" ("charset" "utf-8") NIL NIL "BASE64" 35492 480 NIL NIL NIL NIL) "ALTERNATIVE" ("boundary" "=-eZCeI2HGyJ2BGNGnYPsgcX/igTNTwa5oy3WKzA==") NIL NIL) BODY[HEADER.FIELDS (X-PRIORITY)] NIL)
S[0x55d0a07e7190]: OK IMAP (C) (VersioJan 16 16:28:53 sogod [4887]: 255.255.255.255 "POST /SOGo/so/fi@domain.com/Mail/0/folderINBOX/view HTTP/1.1" 200 327/48 2.113 - - 0
Jan 16 16:28:54 sogod [4889]: <0x0x55d0a0822910[NGImap4ResponseParser]> ERROR: got no body content for key: 'body[header.fields'
Jan 16 16:28:54 sogod [4889]: <0x0x55d0a06d1370[NGImap4Client]> ERROR(-[NGImap4Client _processCommandParserException:]): catched IMAP4 parser exception NGImap4ParserException: unsupported fetch key: nil)

Jan 16 16:28:54 sogod [4889]: [ERROR] <0x0x55d0a0842a70[NGImap4Connection]> Error fetching 18 uids for url: imap://fi%40domain.com@255.255.255.255/INBOX/
Jan 16 16:28:54 sogod [4889]: 255.255.255.255 "POST /SOGo/so/fi@domain.com/Mail/0/folderINBOX/headers HTTP/1.1" 200 148/56 0.735 - - 0
Jan 16 16:28:55 sogod [4887]: 255.255.255.255 "POST /SOGo/so/fi@domain.com/Mail/unseenCount HTTP/1.1" 200 22/31 1.408 - - 0
IL "support" "soundsnap.com")) (("Soundsnap" NIL "support" "soundsnap.com")) (("Soundsnap" NIL "support" "soundsnap.com")) ((NIL NIL "fi" "domain.com")) NIL NIL NIL "<2u3e5i4vz1pk.HcfV8-_vYVRox6C3WQt0-g2@tracking.soundsnap.com>") RFC822.SIZE 41439 BODYSTRUCTURE (("TEXT" "PLAIN" ("charset" "utf-8") NIL NIL "BASE64" 3150 43 NIL NIL NIL NIL)("TEXT" "HTML" ("charset" "utf-8") NIL NIL "BASE64" 35492 480 NIL NIL NIL NIL) "ALTERNATIVE" ("boundary" "=-eHDfi6HTyH2BGNGnXPsgcX/igTNTwa5oy3WKzA==") NIL NIL) BODY[HEADER.FIELDS (X-PRIORITY)] NIL)
S[0x55d0a004cc40]: OK IMAP (C) (Version 7.3o4-4)
C[0x55d0a0668e00]: 1 login "fi@domain.com" "11Passwd11"
S[0x55d0a004cc40]: 1 OK login completed
C[0x55d0a0668e00]: 2 LIST "" ""
S[0x55d0a004cc40]:
LIST (\NoSelect) "/" ""
S[0x55d0a004cc40]: 2 OK LIST completed
C[0x55d0a0668e00]: 3 select "INBOX"
S[0x55d0a004cc40]: 19 EXISTS
S[0x55d0a004cc40]:
0 RECENT
S[0x55d0a004cc40]: OK [UNSEEN 4] first unseen message
S[0x55d0a004cc40]:
OK [UIDVALIDITY 1523626380] Uid epoch
S[0x55d0a004cc40]: OK [UIDNEXT 20] Predicted next uid
S[0x55d0a004cc40]:
FLAGS (\Answered \Flagged \Deleted \Draft \Seen $Forwarded )
S[0x55d0a004cc40]: OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Draft \Seen $Forwarded )] Limited
S[0x55d0a004cc40]: 3 OK [READ-WRITE] SELECT completed
C[0x55d0a0668e00]: 4 UID SEARCH (UNSEEN NOT DELETED)
S[0x55d0a004cc40]:
SEARCH 4 5 7 8 9 10 11 12 13 14 15 16
S[0x55d0a004cc40]: 4 OK SEARCH completed
C[0x55d0a0668e00]: 5 getquotaroot "INBOX"
S[0x55d0a004cc40]: QUOTAROOT "INBOX" ""
S[0x55d0a004cc40]:
QUOTA "" (STORAGE 771 5371093)
S[0x55d0a004cc40]: 5 OK getquotaroot completed
C[0x55d0a0668e00]: 6 logout
S[0x55d0a004cc40]: BYE IMAP4rev1 Server logging out
S[0x55d0a0687310]:
OK IMAP (C) (Version 7.3o4-4)
C[0x55d0a0052d80]: 1 login "fi@domain.com" "11Passwd11"
S[0x55d0a0687310]: 1 OK login completed
C[0x55d0a0052d80]: 2 capability
S[0x55d0a0687310]: CAPABILITY IMAP4 IMAP4REV1 NAMESPACE QUOTA UIDPLUS IDLE SORT SURGEMAIL STARTTLS
S[0x55d0a0687310]: 2 OK Capability completed
C[0x55d0a0052d80]: 3 namespace
S[0x55d0a0687310]:
NAMESPACE (("" "/")) NIL NIL
S[0x55d0a0687310]: 3 OK namespace done
C[0x55d0a0052d80]: 4 LIST "" ""
S[0x55d0a0687310]: LIST (\NoSelect) "/" ""
S[0x55d0a0687310]: 4 OK LIST completed
C[0x55d0a0052d80]: 5 select "INBOX"
S[0x55d0a0687310]:
19 EXISTS
S[0x55d0a0687310]: 0 RECENT
S[0x55d0a0687310]:
OK [UNSEEN 4] first unseen message
S[0x55d0a0687310]: OK [UIDVALIDITY 1523626380] Uid epoch
S[0x55d0a0687310]:
OK [UIDNEXT 20] Predicted next uid
S[0x55d0a0687310]: FLAGS (\Answered \Flagged \Deleted \Draft \Seen $Forwarded )
S[0x55d0a0687310]:
OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Draft \Seen $Forwarded )] Limited
S[0x55d0a0687310]: 5 OK [READ-WRITE] SELECT completed
C[0x55d0a0052d80]: 6 UID SEARCH (UNSEEN NOT DELETED)
S[0x55d0a0687310]: SEARCH 4 5 7 8 9 10 11 12 13 14 15 16
S[0x55d0a0687310]: 6 OK SEARCH completed
C[0x55d0a0052d80]: 7 logout
S[0x55d0a0687310]:
BYE IMAP4rev1 Server logging out
S[0x55d09ffedbf0]: OK IMAP (C) (Version 7.3o4-4)
C[0x55d09ffecef0]: 1 login "fi@domain.com" "11Passwd11"
S[0x55d09ffedbf0]: 1 OK login completed
C[0x55d09ffecef0]: 2 capability
S[0x55d09ffedbf0]:
CAPABILITY IMAP4 IMAP4REV1 NAMESPACE QUOTA UIDPLUS IDLE SORT SURGEMAIL STARTTLS
S[0x55d09ffedbf0]: 2 OK Capability completed
C[0x55d09ffecef0]: 3 namespace
S[0x55d09ffedbf0]: NAMESPACE (("" "/")) NIL NIL
S[0x55d09ffedbf0]: 3 OK namespace done
C[0x55d09ffecef0]: 4 LIST "" ""
S[0x55d09ffedbf0]:
LIST (\NoSelect) "/" ""
S[0x55d09ffedbf0]: 4 OK LIST completed
C[0x55d09ffecef0]: 5 select "INBOX"
S[0x55d09ffedbf0]: 19 EXISTS
S[0x55d09ffedbf0]:
0 RECENT
S[0x55d09ffedbf0]: OK [UNSEEN 4] first unseen message
S[0x55d09ffedbf0]:
OK [UIDVALIDITY 1523626380] Uid epoch
S[0x55d09ffedbf0]: OK [UIDNEXT 20] Predicted next uid
S[0x55d09ffedbf0]:
FLAGS (\Answered \Flagged \Deleted \Draft \Seen $Forwarded )
S[0x55d09ffedbf0]: * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Draft \Seen $Forwarded )] Limited
S[0x55d09ffedbf0]: 5 OK [Jan 16 16:29:08 sogod [4884]: <0x0x55d09ffedbf0[NGImap4ResponseParser]> ERROR: got no body content for key: 'body[header.fields'
Jan 16 16:29:08 sogod [4884]: <0x0x55d09ffecef0[NGImap4Client]> ERROR(-[NGImap4Client _processCommandParserException:]): catched IMAP4 parser exception NGImap4ParserException: unsupported fetch key: nil)
6
Jan 16 16:29:08 sogod [4884]: [ERROR] <0x0x55d0a058f6a0[NGImap4Connection]> Error fetching 1 uids for url: imap://fi%40domain.com@255.255.255.255/INBOX/
Jan 16 16:29:08 sogod [4884]: 255.255.255.255 "POST /SOGo/so/fi@domain.com/Mail/0/folderINBOX/headers HTTP/1.1" 200 148/12 14.306 - - 36K

...

Jan 16 13:55:01 sogod [4530]: [ERROR] <0x0x556e9ea35c70[NGImap4Connection]> Error fetching 19 uids for url: imap://fi%domain.com@255.255.255.255/INBOX/
Jan 16 13:55:01 sogod [4530]: [WARN] <0x556e9ea47350[SOGoMailFolder]:folderINBOX> IMAP connection is broken, trying to reconnect...
Jan 16 13:55:01 sogod [4530]: 255.255.255.255 "POST /SOGo/so/fi@domain.com/Mail/0/folderINBOX/view HTTP/1.1" 200 327/48 0.821 - - 336K

Steps To Reproduce

1) Install a new Centos 7
2) Follow the SOGo Installation Guide and install the SOGo via yum
3) Configure sogo.conf and set the IMAP/SMTP addresses (surgemail)
4) Log in to any account
5) You will see an email list with no subject or content, they will not be clickable (uid is null/empty error on console)
and also you can find following errors on your sogo log;

ERROR: got no body content for key: 'body[header.fields'
Jan 16 13:55:59 sogod [6107]: <0x0x5616a0da34a0[NGImap4Client]> ERROR(-[NGImap4Client _processCommandParserException:]): catched IMAP4 parser exception NGImap4ParserException: unsupported fetch key: nil)
Jan 16 13:55:59 sogod [6107]: [ERROR] <0x0x5616a0db22c0[NGImap4Connection]> Error fetching 1 uids for url: imap://sample%40domain.com@255.255.255.255/INBOX/

(If your inbox is empty, SOGo only shows an error message)

TagsNo tags attached.

Activities

jensendev

jensendev

2019-01-17 06:57

reporter  

figure_1.PNG (44,685 bytes)   
figure_1.PNG (44,685 bytes)   
ludovic

ludovic

2019-05-29 15:53

administrator   ~0013581

Make sure /tmp/ is writable by everybody.

ramcq

ramcq

2019-05-29 15:56

reporter   ~0013582

Last edited: 2019-05-30 11:50

I also see this problem - I run sogo 2.3 which has not seen any recent changes, which suggests a regression in SOPE. Reverting to 20190514 fixes this issue for me.

There were some changes to SOPE's socket code recently - https://github.com/inverse-inc/sope/commits/master - perhaps a regression introduced here?

ludovic

ludovic

2019-08-29 14:52

administrator   ~0013721

Should be all good now.

Issue History

Date Modified Username Field Change
2019-01-17 06:57 jensendev New Issue
2019-01-17 06:57 jensendev File Added: figure_1.PNG
2019-05-29 15:53 ludovic Note Added: 0013581
2019-05-29 15:56 ramcq Note Added: 0013582
2019-05-30 11:50 ramcq Note Edited: 0013582
2019-08-29 14:52 ludovic Note Added: 0013721
2019-08-29 14:52 ludovic Status new => closed
2019-08-29 14:52 ludovic Assigned To => ludovic
2019-08-29 14:52 ludovic Resolution open => suspended