VM

summary markers get corrupted in the presence of errors

Bug #908294 reported by Uday Reddy
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
VM
Fix Released
Medium
Uday Reddy

Bug Description

Robert Marshall reports (viewmail-bugs, 2011-12-23):

A few hours ago I got an email tried to pull it into vm (visiting an
imap folder) vm-get-new-mail and got a wrong-type-argument error. Now
I'm getting this error when ever I visit my inbox

I'm now not sure which the message was which caused the problem I
think vm was only part way through updating the summary at the point it
crashed. I'm including part of the traceback:

Debugger entered--Lisp error: (wrong-type-argument markerp 111160)
  marker-buffer(111160)
  vm-update-message-summary([[#<marker in no buffer> #<marker in no buffer> nil #<marker in no buffer> #<marker in no buffer> #<marker in no buffer>] ["1148" "1148" nil 111160 nil <<>> <-- From_ "2390" #<killed buffer> nil nil nil nil nil nil nil nil nil imap (#0 [[#<marker in no buffer> #<marker in no buffer> nil #<marker in no buffer> #<marker in no buffer> #<marker in no buffer>] ["1149" "1149" nil nil nil <<>> <-- From_ "2391" #<killed buffer> nil nil nil nil nil nil nil nil nil imap (#3) <<>> 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 "<email address hidden>" nil "Re: [h-e-w] Emacs Clipboard crash" nil nil nil nil "2011122316:40:59" "[h-e-w] Emacs Clipboard crash" nil "<email address hidden>" ("<email address hidden>" "<email address hidden>" "<email address hidden>" "<email address hidden>" "<email address hidden>" "<email address hidden>") nil nil nil nil nil] [nil <v> t nil nil t]]) <<>> nil] [nil t nil nil nil nil nil nil nil nil nil nil nil nil nil nil] ["1715" "Friday" "23" "December" "2011" "10:38:58" "-0600" "Matthew Fidler" "<email address hidden>" "<email address hidden>" "49" "Re: [h-e-w] Emacs Clipboard crash" nil nil nil "12" "2011122316:38:58" "[h-e-w] Emacs Clipboard crash" (number " " mark "U Matthew Fidler Dec 23 49/1715 " thread-indent "\"Re: [h-e-w] Emacs Clipboard crash\"\n") "<email address hidden>" ("<email address hidden>" "<email address hidden>" "<email address hidden>" "<email address hidden>" "<email address hidden>") nil nil nil nil nil] [nil <v> t nil nil t]])
  (if (or (eq (vm-deleted-flag m) (quote expunged)) (equal (vm-message-id-number-of m) "Q")) nil (vm-update-message-summary (car ms)))
  (unless (or (eq (vm-deleted-flag m) (quote expunged)) (equal (vm-message-id-number-of m) "Q")) (vm-update-message-summary (car ms)))
  (while ms (setq m (car ms)) (unless (or (eq (vm-deleted-flag m) (quote expunged)) (equal (vm-message-id-number-of m) "Q")) (vm-update-message-summary (car ms))) (if (eq (mod n 10) 0) (vm-inform 6 "Recreating summary... %s" n)) (setq n (1+ n)) (setq ms (cdr ms)))
  (let ((n 1) (ms vm-messages-needing-summary-update) m) (while ms (setq m (car ms)) (unless (or (eq (vm-deleted-flag m) (quote expunged)) (equal (vm-message-id-number-of m) "Q")) (vm-update-message-summary (car ms))) (if (eq (mod n 10) 0) (vm-inform 6 "Recreating summary... %s" n)) (setq n (1+ n)) (setq ms (cdr ms))) (setq vm-messages-needing-summary-update nil))
  (progn (let ((n 1) (ms vm-messages-needing-summary-update) m) (while ms (setq m (car ms)) (unless (or (eq (vm-deleted-flag m) (quote expunged)) (equal (vm-message-id-number-of m) "Q")) (vm-update-message-summary (car ms))) (if (eq (mod n 10) 0) (vm-inform 6 "Recreating summary... %s" n)) (setq n (1+ n)) (setq ms (cdr ms))) (setq vm-messages-needing-summary-update nil)))
  (if vm-messages-needing-summary-update (progn (let ((n 1) (ms vm-messages-needing-summary-update) m) (while ms (setq m (car ms)) (unless (or (eq (vm-deleted-flag m) (quote expunged)) (equal (vm-message-id-number-of m) "Q")) (vm-update-message-summary (car ms))) (if (eq (mod n 10) 0) (vm-inform 6 "Recreating summary... %s" n)) (setq n (1+ n)) (setq ms (cdr ms))) (setq vm-messages-needing-summary-update nil))))
  (when vm-messages-needing-summary-update (let ((n 1) (ms vm-messages-needing-summary-update) m) (while ms (setq m (car ms)) (unless (or (eq (vm-deleted-flag m) (quote expunged)) (equal (vm-message-id-number-of m) "Q")) (vm-update-message-summary (car ms))) (if (eq (mod n 10) 0) (vm-inform 6 "Recreating summary... %s" n)) (setq n (1+ n)) (setq ms (cdr ms))) (setq vm-messages-needing-summary-update nil)))
  vm-update-summary-and-mode-line()

Tags: 8.2 summary

Related branches

Revision history for this message
Uday Reddy (reddyuday) wrote :

Can summary markers be reinstated if there is an error in the middle of summary generation?

Revision history for this message
Uday Reddy (reddyuday) wrote :

Fixed in rev. 1298.

Changed in vm:
status: Triaged → Fix Committed
Uday Reddy (reddyuday)
Changed in vm:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.