bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#34252: 27.0.50; rmail-get-new-mail fails


From: john
Subject: bug#34252: 27.0.50; rmail-get-new-mail fails
Date: Wed, 30 Jan 2019 18:10:29 +0000 (GMT)
User-agent: Alpine 2.20 (DEB 67 2015-01-07)

This could be due to a kernel/NFS problem but te effect on using rmail for my user-base is a real problem. The problems with proto being nil in rmail-remote-proto-p is clearly wrong and despite your statement it does happen to me on two diffrent computers/users attempting to read mail in emacs via rmail.

This backtrace was before I changed anything

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
   string-match("^\\(imap\\|pop\\)s?$" nil nil)
   rmail-remote-proto-p(nil)
rmail-insert-inbox-text(("/var/spool/mail/jpff" "/mnt/snout/home/jpff/mbox")
t)
   rmail-get-new-mail-1(nil ("/var/spool/mail/jpff"
"/mnt/snout/home/jpff/mbox") nil)
   rmail-get-new-mail(nil)
   funcall-interactively(rmail-get-new-mail nil)
   call-interactively(rmail-get-new-mail nil nil)
   command-execute(rmail-get-new-mail)

Note argument to rmail-remote-proto-p is nil.  "/var/spool/mail/jpff"
is a local file and is always zero length. "/mnt/snout/home/jpff/mbox" is mounted from a Debian system using NFS version 3


The NFS issue is described in https://utcc.utoronto.ca/~cks/space/blog/linux/KernelNFSPageBug
which someone pointed me at....

Thank you for your attention

==John ffitch


 On Tue, 29 Jan 2019, Glenn Morris wrote:

John wrote:

in case of reading a mail box on a nfs-mounted disk

It's hard to see how that could make a difference to Rmail.

--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -1902,7 +1902,7 @@ rmail-parse-url
            (host  (substring file (or (match-end 2)
                                       (+ 3 (match-end 1))))))

-       (if (rmail-remote-proto-p proto)
+       (if (and proto (rmail-remote-proto-p proto))

It's not possible for proto to be nil here.

            (if (not pass)
                (when rmail-remote-password-required
                  (setq got-password (not (rmail-have-password)))
@@ -1913,7 +1913,7 @@ rmail-parse-url
              ;; does not really like it, in spite of the movemail spec.
              (setq file (concat proto "://" user "@" host))))

-       (if (rmail-movemail-variant-p 'emacs)
+       (if (and proto (rmail-movemail-variant-p 'emacs))

Or here.

            (if (string-equal proto "pop")
                (list (concat "po:" user ":" host)
                      proto
@@ -2072,7 +2072,7 @@ rmail-insert-inbox-text
                   ;; If we just read the password, most likely it is
                   ;; wrong.  Otherwise, see if there is a specific
                   ;; reason to think that the problem is a wrong passwd.
-                  (if (and (rmail-remote-proto-p proto)
+                  (if (and proto (rmail-remote-proto-p proto)

Here I think you may be correct.







reply via email to

[Prev in Thread] Current Thread [Next in Thread]