Subject: bug#22481: closed (Re: bug#22481: 25.1.50; vc-hg: emacs "deadlocks" after using hg with huge amounts of ignored files in the repo)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 30 Jan 2016 04:01:02 +0000

Your bug report

#22481: 25.1.50; vc-hg: emacs "deadlocks" after using hg with huge amounts of ignored files in the repo

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
22481: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22481
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#22481: 25.1.50; vc-hg: emacs "deadlocks" after using hg with huge amounts of ignored files in the repo
From: Dmitry Gutov <[email-masked]>
To: Jan Synacek <[email-masked]>, [email-masked]
Date: Sat, 30 Jan 2016 07:00:28 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

Version: 25.1

> - Press 'g' there. See the ignored files show up.

Should be fixed in 06083cf now. Thanks again, closing.

Subject: 25.1.50; vc-hg: emacs "deadlocks" after using hg with huge amounts of ignored files in the repo
From: Jan Synacek <[email-masked]>
To: [email-masked]
Date: Thu, 28 Jan 2016 10:10:36 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Steps to reproduce:

1) hg clone https://bitbucket.org/vim-mirror/vim (or any other repo will
do, but I couldn't resist reproducing the issue on this one...)
2) Generate a million files, that will be considered "ignored" in the repo
   $ cd vim
   $ for i in $(seq 1 1000000); do echo ignored > ignored-$i.rej; done
3) Fire up emacs, C-x C-f <the vim repo directory>
   At this point, it will take a while, but that may be a separate issue.
4) Edit any tracked file and save it.
5) C-x v d ENTER
6) Go to a file that's been modified and hit 'v', enter a log message,
   then C-c C-c to commit the change.
7) Hit 'g' to refresh the buffer.
8) Observe the freeze.

Emacs freezes because it's running 'hg status -mardui -C <files>'. The
'-i' is the problem here. Since it takes hg itself a very long time, I'm
not sure if it can be directly fixed in Emacs. But at least a
configuration option that would allow one to disable the "-i" option
would be nice.

Original bugreport: https://bugzilla.redhat.com/show_bug.cgi?id=1232422

In GNU Emacs 25.1.50.2 (x86_64-redhat-linux-gnu, GTK+ Version 3.18.6)
 of 2016-01-28 built on copr-builder-504260318.novalocal
Windowing system distributor 'Fedora Project', version 11.0.11800000
System Description:	Generic release 23 (Generic)

Configured using:
 'configure --build=x86_64-redhat-linux-gnu
 --host=x86_64-redhat-linux-gnu --program-prefix=
 --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr
 --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc
 --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64
 --libexecdir=/usr/libexec --localstatedir=/var
 --sharedstatedir=/var/lib --mandir=/usr/share/man
 --infodir=/usr/share/info --with-dbus --with-gif --with-jpeg --with-png
 --with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3
 --with-gpm=no build_alias=x86_64-redhat-linux-gnu
 host_alias=x86_64-redhat-linux-gnu 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g
 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4
 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
 -m64 -mtune=generic' LDFLAGS=-Wl,-z,relro
 PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GCONF GSETTINGS NOTIFY
ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11

Important settings:
  value of $LANG: en_US.utf8
  value of $XMODIFIERS: @im=none
  locale-coding-system: utf-8-unix

Major mode: ERC

Minor modes in effect:
  diff-auto-refine-mode: t
  erc-notifications-mode: t
  shell-dirtrack-mode: t
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-networks-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-match-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-netsplit-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  recentf-mode: t
  override-global-mode: t
  show-paren-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
Loading /home/jsynacek/.emacs.d/recentf...done
Cleaning up the recentf list...done (0 removed)
For information about GNU Emacs and the GNU system, type C-h C-a.
ad-handle-definition: ‘tramp-read-passwd’ got redefined
(redacted for private info)
Mark set
Could not load org-notmuch

Load-path shadows:
/home/jsynacek/.emacs.d/elpa/helm-20160119.417/helm-multi-match hides /home/jsynacek/.emacs.d/elpa/helm-core-20160119.936/helm-multi-match
/home/jsynacek/.emacs.d/elpa/magit-20160119.1409/magit-popup hides /home/jsynacek/.emacs.d/elpa/magit-popup-20160119.1409/magit-popup

Features:
(shadow sort mail-extr emacsbug sendmail notmuch hl-line notmuch-message
notmuch-maildir-fcc notmuch-hello notmuch-tree notmuch-parser
notmuch-show notmuch-print notmuch-crypto notmuch-mua notmuch-address
notmuch-wash diff-mode coolj notmuch-query goto-addr icalendar diary-lib
diary-loaddefs cal-menu calendar cal-loaddefs notmuch-tag crm
notmuch-lib notmuch-version cl message idna rfc822 mml mailabbrev
mail-utils gmm-utils mailheader mm-view mml-smime mml-sec epg smime dig
mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums erc-desktop-notifications notifications dbus winner
helm-command helm-elisp helm-eval edebug helm-mode helm-files rx
image-dired tramp tramp-compat tramp-loaddefs trampver ucs-normalize
shell dired-aux ffap helm-buffers helm-elscreen helm-tags helm-bookmark
helm-adaptive helm-info bookmark helm-locate helm-external helm-net
browse-url xml url url-proxy url-privacy url-expand url-methods
url-history url-cookie url-domsuf url-util mailcap helm-types private
erc-list erc-menu erc-join erc-ring erc-networks erc-pcomplete pcomplete
erc-track erc-match erc-button erc-fill erc-stamp erc-netsplit
erc-goodies erc erc-backend erc-compat format-spec thingatpt pp
helm-swoop helm-grep helm-regexp helm-plugin helm-utils compile comint
ansi-color ring helm-help helm helm-source eieio-compat helm-multi-match
helm-lib geiser recentf tree-widget wid-edit edmacro kmacro dired-x
dired dired-loaddefs cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars cc-defs use-package diminish
bind-key easy-mmode advice finder-inf goto-chg-autoloads
undo-tree-autoloads info package epg-config url-handlers url-parse
auth-source cl-seq eieio byte-opt bytecomp byte-compile cl-extra cconv
eieio-core cl-macs gv eieio-loaddefs gnus-util mm-util help-fns
help-mode easymenu cl-loaddefs pcase cl-lib mail-prsvr password-cache
url-vars paren time-date mule-util tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel x-win term/common-win x-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment
elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan
thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian
slovak czech european ethiopic indian cyrillic chinese charscript
case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote dbusbind inotify
dynamic-setting system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 404816 27547)
 (symbols 48 39279 0)
 (miscs 40 147 579)
 (strings 32 78662 12230)
 (string-bytes 1 2409843)
 (vectors 16 58360)
 (vector-slots 8 965773 25031)
 (floats 8 378 279)
 (intervals 56 1052 111)
 (buffers 976 19)
 (heap 1024 47080 3625))

-- 
Jan Synacek
Software Engineer, Red Hat