3

Emacs 24.4.1 - Gnus 5.13 - Ubuntu 14.0.4

Gnus is hanging on any POP email that's got an attachment greater than or equal to 1MB. It starts downloading, gets to ~950kb, and stalls. After many minutes, I cancel the operation. This hasn't always been an issue, but now it happens every time I get mail with large attachments.

I'm a beginner and I don't fully understand my own .gnus.el file, which is cobbled together from various sources. The contents of that file are:

;; My Gnus init file.

(add-hook 'dired-mode-hook 'turn-on-gnus-dired-mode)

;; setting expiry to two days
(setq gnus-agent-expire-days 2)

;;init stuff
(setq gnus-select-method '(nntp "news.gwene.org"))
(add-to-list 'gnus-secondary-select-methods '(nnml ""))
(setq mail-sources '((pop :server "mail.servers.com" :user "steven@emailaddress.com")))

;; turning on topics by default
(add-hook 'gnus-group-mode-hook 'gnus-topic-mode)

;; email stuff I got from newsreader guy. it works!
(setq smtpmail-local-domain "emailaddress.com")
(setq smtpmail-sendto-domain "emailaddress.com")
(setq user-full-name "Steven Arntson")
(setq user-mail-address (concat "steven@" smtpmail-local-domain))
(setq smtpmail-debug-info t) ; only to debug problems

(setq message-send-mail-function 'smtpmail-send-it
      smtpmail-smtp-server "mail.server.com"
      smtpmail-default-smtp-server "mail.server.com"
      smtpmail-smtp-service 587                     ; TCP Port.
      smtpmail-starttls-credentials '(("mail.server.com" 587 nil nil))
      smtpmail-auth-credentials '(("mail.server.com" 587 "steven@emailaddress.com" nil)))

;; getting sent mail into a single folder
(setq gnus-message-archive-group '("nnml:mail.sent") )

;; DECLUTTERING FORWARDED MESSAGES
(setq message-forward-ignored-headers ".*")

;; to get gnus to use all of emacs generic message functions
(setq mail-user-agent 'gnus-user-agent)

;; SPAM

(setq nnmail-split-methods 'nnmail-split-fancy
      nnmail-split-fancy '(| (: kevin-spamassassin)
                         "mail.misc"))

(defun kevin-spamassassin ()
  (save-excursion
    (save-restriction
      (widen)
      (if (eq 1 (call-process-region (point-min) (point-max)
                                     "spamc" nil nil nil "-c"))
          "spam"))))

Running killall USR2 emacs from the commandline generates this output:

Debugger entered--beginning evaluation of function call form:
* (message "Mail source %s failed: %s" source cond)
nnmail-get-new-mail-1(nnml nnml-save-incremental-nov "~/Mail/" nil nil nil)
nnmail-get-new-mail(nnml nnml-save-incremental-nov "~/Mail/" nil)
nnml-request-scan(nil "")
gnus-request-scan(nil (nnml ""))
gnus-read-active-file-1((nnml "") nil)
gnus-read-active-for-groups((nnml "") (("nnml:mail.sent" 3 ((1 . 1239))   ((unexist)
(seen (1 . 1200)) (forward 298 855 995 1044) (reply 299 302 305 (307 . 308) (311 . 312) 359 473 496 1014)) "nnml:" ((visible . t))) ("nnml:spam" 3 ((1 . 2160)) ((unexist) (seen (1 . 675) (677 . 678) 680 (685 . 698) 700 (703 . 715) (725 . 754) (756 . 759) 763 (766 . 768) (771 . 780) 783 (792 . 825) (829 . 834) (852 . 858) 879 888 (890 . 891) (898 . 916) 925 (927 . 950) 962 (966 . 982) (987 . 990) 994 (997 . 1003) (1005 . 1025) (1027 . 1063) (1065 . 1071) (1073 . 1084) (1087 . 1092) 1100 1114 (1121 . 1129) (1133 . 1181) 1184 1186 (1198 . 1392) (1394 . 1479) (1481 . 1510) (1519 . 1809) (1818 . 2160))) "nnml:") ("nnml:mail.misc" 3 ((1 . 7880)) ((unexist) (seen (1 . 10) (14 . 7880)) (forward 1488 1579 1766 1787 2021 2247 3245 3264 3623 3740 5121 6036 6073 6638 6683 6740 7562) (expire 7836 7850 7854 (7857 . 7861) (7863 . 7866) (7869 . 7871) (7873 . 7876) (7878 . 7879)) (reply 43 50 (54 . 55) 59 (94 . 97) (101 . 102) 104 106 108 (111 . 113) 115 117 121 131 133 (135 . 137) (141 . 142) (146 . 148) 151 154 (159 . 164) (167 . 169) (178 . 179) (183 . 185) 187 (204 . 207) 210 212 217 (219 . 221) 233 (235 . 237) 240 242 247 250 263 (267 . 268) 270 275 (282 . 283) 285 287 (292 . 295) (300 . 301) 303 305 307 (309 . 310) ...) (tick 3999 5364 6441 6769 6883 6893 6997 7497 7519 7699 7715 7779 7785 7795 7843 7862 7867 7877)) "nnml:" ((visible . t)))) nil)
gnus-get-unread-articles(nil nil)
gnus-setup-news(nil nil nil)
byte-code("\204 <<bunch of numbers redacted>>
[dont-connect did-connect gnus-startup-file gnus-current-startup-file gnus-slave gnus-use-dribble-file gnus-group-quit gnus-run-hooks gnus-startup-hook gnus-make-newsrc-file gnus-dribble-read-file gnus-setup-news nil gnus-setup-news-hook gnus-request-create-group "queue" (nndraft "") gnus-start-draft-setup gnus-group-list-groups gnus-group-first-unread-group gnus-configure-windows group gnus-group-set-mode-line gnus-started-hook level gnus-agent] 4
  gnus-1(nil nil nil)
  gnus(nil)
  call-interactively(gnus record nil)
  command-execute(gnus record)
  helm-M-x(nil "gnus")
  call-interactively(helm-M-x nil nil)
  command-execute(helm-M-x)

What is the cause of this problem?

4
  • Have you tried the usual "Emacs hangs, help!" advice? Namely: Try the profiler, try debug-on-quit, try killing Emacs with a USR2 signal. After we have some data, we can help you more.
    – PythonNut
    Jun 1 '15 at 20:45
  • Sorry, this is all new to me. I just activated debug-on-quit in customize. Then g to check mail. It downloads to ~968kb and freezes. I type C-g which quits that operation, and Gnus moves on to check newsgroups/feeds. There is no debug output. Trying again, I hit C-g twice, canceling both POP mails and newsgroups/feeds. This creates extensive output, but all related to the feeds, not to the POP mails. Is there a way to check only POP mails, without moving on to other newsgroups, so that when I cancel with C-g after the hang, it produces a debugger buffer? Jun 1 '15 at 21:28
  • Hm... have you tried running killall -USR2 emacs from the command line?
    – PythonNut
    Jun 1 '15 at 21:32
  • I just gave it a try, and added the resulting output to the question, above. Thank you! Jun 1 '15 at 21:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.