When I get mail delivery error messages from Google ( Mail Delivery Subsystem <email address hidden>), it "crashes" any subsequent action I take in the folder containing that message, each time giving me the following error "Wrong type argument: arrayp, nil".
Specifically, this occurs if I try to read any other messages in the same folder, show the summary, navigate the summary, save the folder, etc.
The only thing I can do is to kill all the related buffers for the folder, manually delete the offending email (outside of vm) and then re-read the folder.
The debugging traceback is as follows:
Debugger entered--Lisp error: (wrong-type-argument arrayp nil)
vm-mm-layout-type(nil)
vm-mime-operate-on-attachments(nil :action #[(msg layout type file) " T\211 \207" [attachments] 2] :included nil :excluded nil :messages ([[#<marker at 1 in mymailfolder> #<marker at 46 in mymailfolder> nil #<marker at 11764 in mymailfolder> #<marker at 30611 in mymailfolder> #<marker at 30612 in mymailfolder>] ["1" " 1" nil 1 nil <<>> <-- From_ "15427" #<buffer mymailfolder> nil nil nil nil nil nil [("multipart/report" "boundary=000000000000f8e46b05b69d31c0" "report-type=delivery-status") ("multipart/report" "boundary=\"000000000000f8e46b05b69d31c0\"" "report-type=delivery-status") "7bit" nil nil nil nil #<marker at 46 in mymailfolder> #<marker at 11763 in mymailfolder> #<marker at 11764 in mymailfolder> #<marker at 30611 in mymailfolder> ([("multipart/related" "boundary=000000000000f8e49c05b69d31c1") ("multipart/related" "boundary=\"000000000000f8e49c05b69d31c1\"") "7bit" nil nil nil nil #<marker at 11795 in mymailfolder> #<marker at 11868 in mymailfolder> #<marker at 11869 in mymailfolder> #<marker at 19461 in mymailfolder> ([... ... "7bit" nil nil nil nil #<marker at 11900 in mymailfolder> #<marker at 11977 in mymailfolder> #<marker at 11978 in mymailfolder> #<marker at 13960 in mymailfolder> ... <<c>> <<m>> nil nil nil] [... ... "base64" "<icon.png>" nil ... ... #<marker at 13992 in mymailfolder> #<marker at 14143 in mymailfolder> #<marker at 14144 in mymailfolder> #<marker at 19428 in mymailfolder> nil <<c>> <<m>> nil nil nil]) <<c>> <<m>> nil nil nil] [("message/delivery-status") ("message/delivery-status") "7bit" nil nil nil nil #<marker at 19493 in mymailfolder> #<marker at 19531 in mymailfolder> #<marker at 19532 in mymailfolder> #<marker at 20039 in mymailfolder> nil <<c>> <<m>> nil nil nil] [("message/rfc822") ("message/rfc822") "binary" nil nil nil nil #<marker at 20071 in mymailfolder> #<marker at 20144 in mymailfolder> #<marker at 20145 in mymailfolder> #<marker at 30577 in mymailfolder> ([... ... "7bit" nil nil nil nil #<marker at 20145 in mymailfolder> #<marker at 28382 in mymailfolder> #<marker at 28383 in mymailfolder> #<marker at 30577 in mymailfolder> nil <<c>> <<m>> nil nil nil]) <<c>> <<m>> nil nil nil]) <<c>> <<m>> nil nil nil] nil nil nil nil <<>> nil] [t nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] [nil <v> nil nil nil nil]]))
vm-su-attachment-indicator([[#<marker at 1 in mymailfolder> #<marker at 46 in mymailfolder> nil #<marker at 11764 in mymailfolder> #<marker at 30611 in mymailfolder> #<marker at 30612 in mymailfolder>] ["1" " 1" nil 1 nil <<>> <-- From_ "15427" #<buffer mymailfolder> nil nil nil nil nil nil [("multipart/report" "boundary=000000000000f8e46b05b69d31c0" "report-type=delivery-status") ("multipart/report" "boundary=\"000000000000f8e46b05b69d31c0\"" "report-type=delivery-status") "7bit" nil nil nil nil #<marker at 46 in mymailfolder> #<marker at 11763 in mymailfolder> #<marker at 11764 in mymailfolder> #<marker at 30611 in mymailfolder> ([("multipart/related" "boundary=000000000000f8e49c05b69d31c1") ("multipart/related" "boundary=\"000000000000f8e49c05b69d31c1\"") "7bit" nil nil nil nil #<marker at 11795 in mymailfolder> #<marker at 11868 in mymailfolder> #<marker at 11869 in mymailfolder> #<marker at 19461 in mymailfolder> ([("multipart/alternative" "boundary=000000000000f8e4a205b69d31c2") ("multipart/alternative" "boundary=\"000000000000f8e4a205b69d31c2\"") "7bit" nil nil nil nil #<marker at 11900 in mymailfolder> #<marker at 11977 in mymailfolder> #<marker at 11978 in mymailfolder> #<marker at 13960 in mymailfolder> ([... ... "7bit" nil nil nil nil #<marker at 12009 in mymailfolder> #<marker at 12051 in mymailfolder> #<marker at 12052 in mymailfolder> #<marker at 12361 in mymailfolder> nil <<c>> <<m>> nil nil nil] [... ... "quoted-printable" nil nil nil nil #<marker at 12393 in mymailfolder> #<marker at 12478 in mymailfolder> #<marker at 12479 in mymailfolder> #<marker at 13927 in mymailfolder> nil <<c>> <<m>> nil nil nil]) <<c>> <<m>> nil nil nil] [("image/png" "name=icon.png") ("image/png" "name=\"icon.png\"") "base64" "<icon.png>" nil ("attachment" "filename=icon.png") ("attachment" "filename=\"icon.png\"") #<marker at 13992 in mymailfolder> #<marker at 14143 in mymailfolder> #<marker at 14144 in mymailfolder> #<marker at 19428 in mymailfolder> nil <<c>> <<m>> nil nil nil]) <<c>> <<m>> nil nil nil] [("message/delivery-status") ("message/delivery-status") "7bit" nil nil nil nil #<marker at 19493 in mymailfolder> #<marker at 19531 in mymailfolder> #<marker at 19532 in mymailfolder> #<marker at 20039 in mymailfolder> nil <<c>> <<m>> nil nil nil] [("message/rfc822") ("message/rfc822") "binary" nil nil nil nil #<marker at 20071 in mymailfolder> #<marker at 20144 in mymailfolder> #<marker at 20145 in mymailfolder> #<marker at 30577 in mymailfolder> ([("multipart/mixed" "charset=3Dutf8" "boundary=3DAbuse-bfbb0f920793ac03cb8634bde14d8a1e") ("multipart/mixed" "charset=3Dutf8" "boundary=3DAbuse-bfbb0f920793ac03cb8634bde14d8a1e") "7bit" nil nil nil nil #<marker at 20145 in mymailfolder> #<marker at 28382 in mymailfolder> #<marker at 28383 in mymailfolder> #<marker at 30577 in mymailfolder> nil <<c>> <<m>> nil nil nil]) <<c>> <<m>> nil nil nil]) <<c>> <<m>> nil nil nil] nil nil nil nil <<>> nil] [t nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] [nil <v> nil nil nil nil]])
(vm-decode-mime-encoded-words-in-string (vm-su-attachment-indicator vm-su-message))
(vm-right-justify-string (vm-decode-mime-encoded-words-in-string (vm-su-attachment-indicator vm-su-message)) 1)
(format "%s%s %s %s %s %s%s " (vm-right-justify-string (vm-decode-mime-encoded-words-in-string (vm-su-attachment-indicator vm-su-message)) 1) (vm-decode-mime-encoded-words-in-string (vm-su-attribute-indicators vm-su-message)) (vm-truncate-string (vm-left-justify-string (vm-decode-mime-encoded-words-in-string (vm-su-interesting-full-name vm-su-message)) 17) 17) (vm-truncate-string (vm-decode-mime-encoded-words-in-string (vm-su-month vm-su-message)) 3) (vm-right-justify-string (vm-decode-mime-encoded-words-in-string (vm-su-monthday vm-su-message)) 2) (vm-truncate-string (vm-decode-mime-encoded-words-in-string (vm-run-user-summary-function (quote vm-summary-function-Y) vm-su-message)) -3) (vm-truncate-string (vm-left-justify-string (vm-decode-mime-encoded-words-in-string (vm-su-size vm-su-message)) 4) 4))
(list (quote number) (quote mark) (format "%s%s %s %s %s %s%s " (vm-right-justify-string (vm-decode-mime-encoded-words-in-string (vm-su-attachment-indicator vm-su-message)) 1) (vm-decode-mime-encoded-words-in-string (vm-su-attribute-indicators vm-su-message)) (vm-truncate-string (vm-left-justify-string (vm-decode-mime-encoded-words-in-string (vm-su-interesting-full-name vm-su-message)) 17) 17) (vm-truncate-string (vm-decode-mime-encoded-words-in-string (vm-su-month vm-su-message)) 3) (vm-right-justify-string (vm-decode-mime-encoded-words-in-string (vm-su-monthday vm-su-message)) 2) (vm-truncate-string (vm-decode-mime-encoded-words-in-string (vm-run-user-summary-function (quote vm-summary-function-Y) vm-su-message)) -3) (vm-truncate-string (vm-left-justify-string (vm-decode-mime-encoded-words-in-string (vm-su-size vm-su-message)) 4) 4)) (quote thread-indent) (format "%s\n" (vm-decode-mime-encoded-words-in-string (vm-su-summary-subject vm-su-message))))
eval((list (quote number) (quote mark) (format "%s%s %s %s %s %s%s " (vm-right-justify-string (vm-decode-mime-encoded-words-in-string (vm-su-attachment-indicator vm-su-message)) 1) (vm-decode-mime-encoded-words-in-string (vm-su-attribute-indicators vm-su-message)) (vm-truncate-string (vm-left-justify-string (vm-decode-mime-encoded-words-in-string (vm-su-interesting-full-name vm-su-message)) 17) 17) (vm-truncate-string (vm-decode-mime-encoded-words-in-string (vm-su-month vm-su-message)) 3) (vm-right-justify-string (vm-decode-mime-encoded-words-in-string (vm-su-monthday vm-su-message)) 2) (vm-truncate-string (vm-decode-mime-encoded-words-in-string (vm-run-user-summary-function (quote vm-summary-function-Y) vm-su-message)) -3) (vm-truncate-string (vm-left-justify-string (vm-decode-mime-encoded-words-in-string (vm-su-size vm-su-message)) 4) 4)) (quote thread-indent) (format "%s\n" (vm-decode-mime-encoded-words-in-string (vm-su-summary-subject vm-su-message)))))
vm-summary-sprintf("%n%*%1P%a %-17.17F %.3m %2d %.-3UY%-4.4S %I%s\n" [[#<marker at 1 in mymailfolder> #<marker at 46 in mymailfolder> nil #<marker at 11764 in mymailfolder> #<marker at 30611 in mymailfolder> #<marker at 30612 in mymailfolder>] ["1" " 1" nil 1 nil <<>> <-- From_ "15427" #<buffer mymailfolder> nil nil nil nil nil nil [("multipart/report" "boundary=000000000000f8e46b05b69d31c0" "report-type=delivery-status") ("multipart/report" "boundary=\"000000000000f8e46b05b69d31c0\"" "report-type=delivery-status") "7bit" nil nil nil nil #<marker at 46 in mymailfolder> #<marker at 11763 in mymailfolder> #<marker at 11764 in mymailfolder> #<marker at 30611 in mymailfolder> ([("multipart/related" "boundary=000000000000f8e49c05b69d31c1") ("multipart/related" "boundary=\"000000000000f8e49c05b69d31c1\"") "7bit" nil nil nil nil #<marker at 11795 in mymailfolder> #<marker at 11868 in mymailfolder> #<marker at 11869 in mymailfolder> #<marker at 19461 in mymailfolder> ([("multipart/alternative" "boundary=000000000000f8e4a205b69d31c2") ("multipart/alternative" "boundary=\"000000000000f8e4a205b69d31c2\"") "7bit" nil nil nil nil #<marker at 11900 in mymailfolder> #<marker at 11977 in mymailfolder> #<marker at 11978 in mymailfolder> #<marker at 13960 in mymailfolder> ([... ... "7bit" nil nil nil nil #<marker at 12009 in mymailfolder> #<marker at 12051 in mymailfolder> #<marker at 12052 in mymailfolder> #<marker at 12361 in mymailfolder> nil <<c>> <<m>> nil nil nil] [... ... "quoted-printable" nil nil nil nil #<marker at 12393 in mymailfolder> #<marker at 12478 in mymailfolder> #<marker at 12479 in mymailfolder> #<marker at 13927 in mymailfolder> nil <<c>> <<m>> nil nil nil]) <<c>> <<m>> nil nil nil] [("image/png" "name=icon.png") ("image/png" "name=\"icon.png\"") "base64" "<icon.png>" nil ("attachment" "filename=icon.png") ("attachment" "filename=\"icon.png\"") #<marker at 13992 in mymailfolder> #<marker at 14143 in mymailfolder> #<marker at 14144 in mymailfolder> #<marker at 19428 in mymailfolder> nil <<c>> <<m>> nil nil nil]) <<c>> <<m>> nil nil nil] [("message/delivery-status") ("message/delivery-status") "7bit" nil nil nil nil #<marker at 19493 in mymailfolder> #<marker at 19531 in mymailfolder> #<marker at 19532 in mymailfolder> #<marker at 20039 in mymailfolder> nil <<c>> <<m>> nil nil nil] [("message/rfc822") ("message/rfc822") "binary" nil nil nil nil #<marker at 20071 in mymailfolder> #<marker at 20144 in mymailfolder> #<marker at 20145 in mymailfolder> #<marker at 30577 in mymailfolder> ([("multipart/mixed" "charset=3Dutf8" "boundary=3DAbuse-bfbb0f920793ac03cb8634bde14d8a1e") ("multipart/mixed" "charset=3Dutf8" "boundary=3DAbuse-bfbb0f920793ac03cb8634bde14d8a1e") "7bit" nil nil nil nil #<marker at 20145 in mymailfolder> #<marker at 28382 in mymailfolder> #<marker at 28383 in mymailfolder> #<marker at 30577 in mymailfolder> nil <<c>> <<m>> nil nil nil]) <<c>> <<m>> nil nil nil]) <<c>> <<m>> nil nil nil] nil nil nil nil <<>> nil] [t nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] [nil <v> nil nil nil nil]] t)
vm-su-summary([[#<marker at 1 in mymailfolder> #<marker at 46 in mymailfolder> nil #<marker at 11764 in mymailfolder> #<marker at 30611 in mymailfolder> #<marker at 30612 in mymailfolder>] ["1" " 1" nil 1 nil <<>> <-- From_ "15427" #<buffer mymailfolder> nil nil nil nil nil nil [("multipart/report" "boundary=000000000000f8e46b05b69d31c0" "report-type=delivery-status") ("multipart/report" "boundary=\"000000000000f8e46b05b69d31c0\"" "report-type=delivery-status") "7bit" nil nil nil nil #<marker at 46 in mymailfolder> #<marker at 11763 in mymailfolder> #<marker at 11764 in mymailfolder> #<marker at 30611 in mymailfolder> ([("multipart/related" "boundary=000000000000f8e49c05b69d31c1") ("multipart/related" "boundary=\"000000000000f8e49c05b69d31c1\"") "7bit" nil nil nil nil #<marker at 11795 in mymailfolder> #<marker at 11868 in mymailfolder> #<marker at 11869 in mymailfolder> #<marker at 19461 in mymailfolder> ([("multipart/alternative" "boundary=000000000000f8e4a205b69d31c2") ("multipart/alternative" "boundary=\"000000000000f8e4a205b69d31c2\"") "7bit" nil nil nil nil #<marker at 11900 in mymailfolder> #<marker at 11977 in mymailfolder> #<marker at 11978 in mymailfolder> #<marker at 13960 in mymailfolder> ([... ... "7bit" nil nil nil nil #<marker at 12009 in mymailfolder> #<marker at 12051 in mymailfolder> #<marker at 12052 in mymailfolder> #<marker at 12361 in mymailfolder> nil <<c>> <<m>> nil nil nil] [... ... "quoted-printable" nil nil nil nil #<marker at 12393 in mymailfolder> #<marker at 12478 in mymailfolder> #<marker at 12479 in mymailfolder> #<marker at 13927 in mymailfolder> nil <<c>> <<m>> nil nil nil]) <<c>> <<m>> nil nil nil] [("image/png" "name=icon.png") ("image/png" "name=\"icon.png\"") "base64" "<icon.png>" nil ("attachment" "filename=icon.png") ("attachment" "filename=\"icon.png\"") #<marker at 13992 in mymailfolder> #<marker at 14143 in mymailfolder> #<marker at 14144 in mymailfolder> #<marker at 19428 in mymailfolder> nil <<c>> <<m>> nil nil nil]) <<c>> <<m>> nil nil nil] [("message/delivery-status") ("message/delivery-status") "7bit" nil nil nil nil #<marker at 19493 in mymailfolder> #<marker at 19531 in mymailfolder> #<marker at 19532 in mymailfolder> #<marker at 20039 in mymailfolder> nil <<c>> <<m>> nil nil nil] [("message/rfc822") ("message/rfc822") "binary" nil nil nil nil #<marker at 20071 in mymailfolder> #<marker at 20144 in mymailfolder> #<marker at 20145 in mymailfolder> #<marker at 30577 in mymailfolder> ([("multipart/mixed" "charset=3Dutf8" "boundary=3DAbuse-bfbb0f920793ac03cb8634bde14d8a1e") ("multipart/mixed" "charset=3Dutf8" "boundary=3DAbuse-bfbb0f920793ac03cb8634bde14d8a1e") "7bit" nil nil nil nil #<marker at 20145 in mymailfolder> #<marker at 28382 in mymailfolder> #<marker at 28383 in mymailfolder> #<marker at 30577 in mymailfolder> nil <<c>> <<m>> nil nil nil]) <<c>> <<m>> nil nil nil]) <<c>> <<m>> nil nil nil] nil nil nil nil <<>> nil] [t nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] [nil <v> nil nil nil nil]])
vm-do-summary(nil)
vm-do-needed-summary-rebuild()
#[(b) "\306\307 !!\211 \205<
OK - I diagnosed the source of the problem.
The error occurs within a mime encoded message with:
Content-Type: message/rfc822 Transfer- Encoding: quoted-printable
Content-
Then there is a mime message within it that says:
Content-Type: multipart/mixed; charset=3Dutf8; 3DAbuse- bfbb0f920793ac0 3cb8634bde14d8a 1e;
boundary=
However instead of interpreting '=3D' as being '=' in quoted printable, it interprets the boundary as being "3DAbuse- bfbb0f920793ac0 3cb8634bde14d8a 1e"
So, for some reason it is not un-encoding the quoted printable part...