From: Michael Albinus <michael.albinus@gmx.de>
To: Justin Van Winkle <justin.vanwinkle@gmail.com>
Cc: 33194@debbugs.gnu.org
Subject: bug#33194: 26.1; Auto-revert mode causes emacs to use 100% cpu whenever a file is being written to in the home directory
Date: Sat, 03 Nov 2018 11:57:46 +0100 [thread overview]
Message-ID: <87d0rmjumt.fsf@gmx.de> (raw)
In-Reply-To: <CA+gsFk+aWLCm1X522EU6KScTa8nHky022rxU2=pszai=wF1yqg@mail.gmail.com> (Justin Van Winkle's message of "Tue, 30 Oct 2018 14:55:22 -0400")
Justin Van Winkle <justin.vanwinkle@gmail.com> writes:
Hi Justin,
> I mean it is certainly a bug to use 100% of a cpu just because a file
> that is in the same directory to a file you are editing is being
> written to, but it may not be unintentional behavior.
I could reproduce the problem. I have a running Emacs for some days, and
I've enabled `global-auto-revert-mode'. Starting scp copy of a large
file outside Emacs, brought Emacs up to 100% cpu usage.
The variable `file-notify-descriptors' contains
#s(hash-table size 97 test equal rehash-size 1.5 rehash-threshold 0.8125 data ((1 . 0) #s(file-notify--watch /home/albinus .emacs auto-revert-notify-handler) (1 . 1) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 2) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 3) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 4) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 5) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 6) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (2 . 0) #s(file-notify--watch /usr/local/src/emacs/src nil auto-revert-notify-handler) (1 . 7) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 8) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 9) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 10) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 11) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 12) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (3 . 0) #s(file-notify--watch /usr/local/src/elpa/packages/debbugs nil auto-revert-notify-handler) (3 . 1) #s(file-notify--watch /usr/local/src/elpa/packages/debbugs nil auto-revert-notify-handler) (3 . 2) #s(file-notify--watch /usr/local/src/elpa/packages/debbugs nil auto-revert-notify-handler) (3 . 3) #s(file-notify--watch /usr/local/src/elpa/packages/debbugs nil auto-revert-notify-handler) (3 . 4) #s(file-notify--watch /usr/local/src/elpa/packages/debbugs nil auto-revert-notify-handler) (3 . 5) #s(file-notify--watch /usr/local/src/elpa/packages/debbugs nil auto-revert-notify-handler) (1 . 13) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (3 . 6) #s(file-notify--watch /home/albinus/src/elpa/packages/debbugs nil auto-revert-notify-handler) (3 . 7) #s(file-notify--watch /usr/local/src/elpa/packages/debbugs nil auto-revert-notify-handler) (3 . 8) #s(file-notify--watch /usr/local/src/elpa/packages/debbugs nil auto-revert-notify-handler) (3 . 9) #s(file-notify--watch /usr/local/src/elpa/packages/debbugs nil auto-revert-notify-handler) (3 . 10) #s(file-notify--watch /usr/local/src/elpa/packages/debbugs nil auto-revert-notify-handler) (4 . 0) #s(file-notify--watch /usr/local/src/elpa nil auto-revert-notify-handler) (3 . 11) #s(file-notify--watch /usr/local/src/elpa/packages/debbugs nil auto-revert-notify-handler) (5 . 0) #s(file-notify--watch /usr/local/src/emacs-25/doc/misc nil auto-revert-notify-handler) (3 . 12) #s(file-notify--watch /home/albinus/src/elpa/packages/debbugs nil auto-revert-notify-handler) (6 . 0) #s(file-notify--watch /home/albinus/src/tramp/texi nil auto-revert-notify-handler) (6 . 1) #s(file-notify--watch /home/albinus/src/tramp/texi nil auto-revert-notify-handler) (6 . 2) #s(file-notify--watch /home/albinus/src/tramp/texi nil auto-revert-notify-handler) (4 . 1) #s(file-notify--watch /usr/local/src/elpa nil auto-revert-notify-handler) (7 . 0) #s(file-notify--watch /usr/share/info nil auto-revert-notify-handler) (8 . 0) #s(file-notify--watch /home/albinus/src/tramp/lisp nil auto-revert-notify-handler) (8 . 1) #s(file-notify--watch /home/albinus/src/tramp/lisp nil auto-revert-notify-handler) (8 . 2) #s(file-notify--watch /home/albinus/src/tramp/lisp nil auto-revert-notify-handler) (9 . 0) #s(file-notify--watch /home/albinus/src/tramp nil auto-revert-notify-handler) (1 . 14) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 15) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 16) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (4 . 2) #s(file-notify--watch /usr/local/src/elpa nil auto-revert-notify-handler) (4 . 3) #s(file-notify--watch /usr/local/src/elpa nil auto-revert-notify-handler) (3 . 13) #s(file-notify--watch /usr/local/src/elpa/packages/debbugs nil auto-revert-notify-handler) (3 . 14) #s(file-notify--watch /usr/local/src/elpa/packages/debbugs nil auto-revert-notify-handler) (3 . 15) #s(file-notify--watch /usr/local/src/elpa/packages/debbugs nil auto-revert-notify-handler) (3 . 16) #s(file-notify--watch /usr/local/src/elpa/packages/debbugs nil auto-revert-notify-handler) (4 . 4) #s(file-notify--watch /usr/local/src/elpa nil auto-revert-notify-handler) (4 . 5) #s(file-notify--watch /usr/local/src/elpa nil auto-revert-notify-handler) (3 . 17) #s(file-notify--watch /home/albinus/src/elpa/packages/debbugs nil auto-revert-notify-handler) (3 . 18) #s(file-notify--watch /usr/local/src/elpa/packages/debbugs nil auto-revert-notify-handler) (1 . 17) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 18) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 19) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 20) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 21) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 22) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 23) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 24) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 25) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 26) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 27) #s(file-notify--watch /home/albinus .newsrc-dribble auto-revert-notify-handler) (1 . 28) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 29) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (1 . 30) #s(file-notify--watch /home/albinus nil auto-revert-notify-handler) (10 . 0) #s(file-notify--watch /usr/local/share/emacs/27.0.50/lisp filenotify.el.gz auto-revert-notify-handler) (10 . 1) #s(file-notify--watch /usr/local/share/emacs/27.0.50/lisp nil auto-revert-notify-handler)))
As we can see, many identical entries #s(file-notify--watch /home/albinus nil auto-revert-notify-handler).
Every incoming event for "/home/albinus" triggers the many calls of
`auto-revert-notify-handler', although one entry would be sufficient. I
will check, where all these entries come from.
Best regards, Michael.
next prev parent reply other threads:[~2018-11-03 10:57 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-29 16:01 bug#33194: 26.1; Auto-revert mode causes emacs to use 100% cpu whenever a file is being written to in the home directory Justin Van Winkle
2018-10-29 20:27 ` Michael Albinus
2018-10-29 21:13 ` Justin Van Winkle
2018-10-29 21:14 ` Justin Van Winkle
2018-10-30 6:21 ` Eli Zaretskii
2018-10-30 8:39 ` Michael Albinus
2018-10-30 10:41 ` Eli Zaretskii
2018-10-30 10:44 ` Michael Albinus
2018-10-30 12:28 ` Eli Zaretskii
2018-10-30 13:12 ` Michael Albinus
2018-10-30 16:18 ` Justin Van Winkle
2018-10-30 16:58 ` Michael Albinus
2018-10-30 17:02 ` Justin Van Winkle
2018-10-30 17:08 ` Michael Albinus
2018-10-30 17:09 ` Justin Van Winkle
2018-10-30 17:32 ` Eli Zaretskii
2018-10-30 18:54 ` Justin Van Winkle
2018-10-30 18:55 ` Justin Van Winkle
2018-11-03 10:57 ` Michael Albinus [this message]
2018-11-04 11:58 ` Michael Albinus
2018-11-05 16:28 ` Justin Van Winkle
2018-11-05 21:18 ` Michael Albinus
2019-01-04 12:56 ` Michael Albinus
2019-03-28 12:36 ` Michael Albinus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87d0rmjumt.fsf@gmx.de \
--to=michael.albinus@gmx.de \
--cc=33194@debbugs.gnu.org \
--cc=justin.vanwinkle@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.