unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#20417: 25.0.50; frequent crashes with global-auto-revert-mode
@ 2015-04-24 15:17 Tom Tromey
  2015-04-26  1:58 ` Paul Eggert
  0 siblings, 1 reply; 10+ messages in thread
From: Tom Tromey @ 2015-04-24 15:17 UTC (permalink / raw)
  To: 20417


I'm running some reasonably recent emacs trunk on x86-64 Fedora 20.

If I enable global-auto-revert-mode, Emacs crashes with some regularity.

I caught the crash in gdb once and tracked it down to this bug:

https://bugzilla.gnome.org/show_bug.cgi?id=739424

I am not sure whether Emacs can work around this or not.
Perhaps one approach would be to not use the glib file-polling code.




In GNU Emacs 25.0.50.5 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.9)
 of 2015-04-02 on pokyo
Repository revision: ece8f600833e3011be976384f9a5657faa83f6db
Windowing system distributor `Fedora Project', version 11.0.11404000
System Description:	Fedora release 20 (Heisenbug)

Configured using:
 `configure --prefix=/home/tromey/Emacs/install'

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

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

Major mode: JS

Minor modes in effect:
  erc-notifications-mode: t
  flymake-mode: t
  erc-spelling-mode: t
  erc-truncate-mode: t
  shell-dirtrack-mode: t
  diff-auto-refine-mode: t
  flyspell-mode: t
  which-function-mode: t
  projectile-global-mode: t
  projectile-mode: t
  erc-notify-mode: t
  erc-services-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-netsplit-mode: t
  erc-hl-nicks-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  savehist-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
  auto-fill-function: do-auto-fill

Recent messages:
(Shell command succeeded with no output)
Mark set
Quit [2 times]
Mark set [4 times]
Saving file /home/tromey/firefox-git/gecko-dev/browser/devtools/shared/widgets/CubicBezierWidget.js...
Add 2015 to copyright? (y or n) n
Wrote /home/tromey/firefox-git/gecko-dev/browser/devtools/shared/widgets/CubicBezierWidget.js
C-z C-g is undefined
When done with a buffer, type C-x #
(No files need saving)

Load-path shadows:
/home/tromey/.emacs.d/elpa/bubbles-0.5/bubbles hides /home/tromey/Emacs/install/share/emacs/25.0.50/lisp/play/bubbles

Features:
(shadow emacsbug vc-mtn vc-hg gnus-fun filecache novice cus-edit
org-element org-rmail org-mhe org-irc org-info org-gnus org-docview
doc-view image-mode org-bibtex bibtex org-bbdb org-w3m org org-macro
org-footnote org-pcomplete org-list org-faces org-entities noutline
outline org-version ob-emacs-lisp ob ob-tangle ob-ref ob-lob ob-table
ob-exp org-src ob-keys ob-comint ob-core ob-eval org-compat org-macs
org-loaddefs two-column descr-text iso-transl url-http url-gw url-auth
eww url-queue bbdb-sc supercite regi css-mode cal-move mailalias
erc-desktop-notifications apropos log-edit dired-aux gdb-shell
find-dired mail-hist nnir hi-lock jka-compr webjump conf-mode etags xref
rst vc-annotate gnus-draft asm-mode gud log-view pcvs-util eieio-opt
speedbar sb-image ezimage dframe smerge-mode rebase-mode rx web-mode
sgml-mode nxml-uchnm rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid
rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn
nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc
xmltok flymake-jshint flymake js ido gnus-html url-cache mm-url url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf sh-script smie executable xterm nnregistry idutils derived
vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs shr-color erc-spelling
erc-truncate help-mode flow-fill url-util url-parse url-vars shr dom
subr-x browse-url mm-archive bbdb-gui bbdb-hooks mule-util sort smiley
gnus-cite qp gnus-bcklg python json make-mode gnus-async gnus-ml
disp-table gnus-topic nndraft nnmh nnfolder utf-7 bbdb-gnus bbdb-snarf
mail-extr bbdb-com gnutls network-stream nsm starttls gnus-agent
gnus-srvr gnus-score score-mode nnvirtual gnus-msg nntp gnus-cache
gnus-registry registry eieio-compat eieio-base gnus-art mm-uu mml2015
mm-view mml-smime smime dig mailcap gnus-sum gnus-group gnus-undo
smtpmail sendmail gnus-start gnus-cloud nnimap nnmail mail-source tls
utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range message dired
rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus
gnus-ems nnheader mail-utils shell copyright misearch multi-isearch
find-file add-log bug-reference vc-git diff-mode easy-mmode cc-mode
cc-fonts cc-guess cc-menus cc-cmds dabbrev flyspell ispell diminish appt
diary-lib diary-loaddefs cal-menu calendar cal-loaddefs which-func imenu
edmacro kmacro projectile ibuf-ext ibuffer pkg-info find-func lisp-mnt
epl grep compile dash s minimap autorevert filenotify desktop frameset
cus-start cus-load erc-nick-notify erc-notify notifications dbus xml
erc-services erc-list erc-menu erc-join erc-ring erc-networks
erc-pcomplete pcomplete erc-track erc-match erc-netsplit erc-hl-nicks
color cl erc-button erc-fill erc-stamp wid-edit erc-goodies erc
erc-backend erc-compat format-spec auth-source cl-macs eieio gnus-util
mm-util mail-prsvr password-cache thingatpt pp status warnings advice
help-fns vc-dir ewoc vc vc-dispatcher cc-styles cc-align cc-engine
cc-vars cc-defs bbdb timezone ange-ftp comint ansi-color ring server
savehist finder-inf dwarf-mode-autoloads eieio-core cl-generic byte-opt
gv bytecomp byte-compile cl-extra seq cconv cl-loaddefs pcase cl-lib
jabber-autoloads lisppaste-autoloads pydoc-info-autoloads info-look info
easymenu weblogger-autoloads package epg-config bbdb-autoloads time-date
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel x-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 cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev 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 make-network-process
dbusbind gfilenotify dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)

Memory information:
((conses 16 4244894 918369)
 (symbols 48 144018 301)
 (miscs 40 46671 1822)
 (strings 32 645840 163012)
 (string-bytes 1 21947269)
 (vectors 16 140226)
 (vector-slots 8 3058049 93087)
 (floats 8 1021 1720)
 (intervals 56 514873 555)
 (buffers 976 879)
 (heap 1024 468654 444115))

Tom





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#20417: 25.0.50; frequent crashes with global-auto-revert-mode
  2015-04-24 15:17 bug#20417: 25.0.50; frequent crashes with global-auto-revert-mode Tom Tromey
@ 2015-04-26  1:58 ` Paul Eggert
  2015-04-27 17:14   ` Tom Tromey
  0 siblings, 1 reply; 10+ messages in thread
From: Paul Eggert @ 2015-04-26  1:58 UTC (permalink / raw)
  To: Tom Tromey; +Cc: 20417

[-- Attachment #1: Type: text/plain, Size: 377 bytes --]

> I am not sure whether Emacs can work around this or not.

I don't see an easy workaround.

> Perhaps one approach would be to not use the glib file-polling code.

That sounds like it may be the best way forward, at least in the short run.  If 
you configure --with-file-notification=inotify does the problem go away for you? 
  That is, does the attached patch work for you?

[-- Attachment #2: 0001-Use-gfile-notification-only-on-request.patch --]
[-- Type: text/x-patch, Size: 2734 bytes --]

From fc809b12a049d8b1af69299eb05cf13c3ecf6291 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sat, 25 Apr 2015 18:55:55 -0700
Subject: [PATCH] Use gfile notification only on request

Unfortunately gfile notification seems to have serious bugs; see
https://bugzilla.gnome.org/show_bug.cgi?id=739424
They can make Emacs crash (Bug#20417).
We don't know of any workaround.  For now, enable gfile
notification only if Emacs is explicitly configured that way.
* configure.ac (NOTIFY_OBJ): Use gfilenotify.o only upon request.
---
 configure.ac | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/configure.ac b/configure.ac
index d2f21ee..d9df7ac 100644
--- a/configure.ac
+++ b/configure.ac
@@ -362,7 +362,7 @@ AC_ARG_WITH([file-notification],[AS_HELP_STRING([--with-file-notification=LIB],
     * ) AC_MSG_ERROR(['--with-file-notification=$withval' is invalid;
 this option's value should be 'yes', 'no', 'gfile', 'inotify' or 'w32'.
 'yes' is a synonym for 'w32' on MS-Windows, for 'no' on Nextstep,
-otherwise for the first of 'gfile' or 'inotify' that is usable.])
+otherwise for 'inotify' if usable.])
     ;;
    esac
    with_file_notification=$val
@@ -2696,8 +2696,7 @@ dnl MS Windows native file monitor is available for mingw32 only.
 case $with_file_notification,$opsys in
   w32,cygwin)
     AC_MSG_ERROR(['--with-file-notification=w32' was specified, but
-    this is only supported on MS-Windows native and MinGW32 builds.
-    Consider using gfile instead.])
+    this is supported only on MS-Windows native and MinGW32 builds.])
     ;;
   w32,* | yes,mingw32)
     AC_CHECK_HEADER(windows.h)
@@ -2710,11 +2709,12 @@ esac
 
 dnl g_file_monitor exists since glib 2.18.  G_FILE_MONITOR_EVENT_MOVED
 dnl has been added in glib 2.24.  It has been tested under
-dnl GNU/Linux only.  We take precedence over inotify, but this makes
-dnl only sense when glib has been compiled with inotify support.  How
+dnl GNU/Linux only.  As of April 2015 it exposes serious glib bugs
+dnl (see Bug#20417) so it is enabled only on explicit request.  Also,
+dnl it makes sense only when glib has been compiled with inotify support.  How
 dnl to check?
 case $with_file_notification,$NOTIFY_OBJ in
-  gfile, | yes,)
+  gfile, )
     EMACS_CHECK_MODULES([GFILENOTIFY], [gio-2.0 >= 2.24])
     if test "$HAVE_GFILENOTIFY" = "yes"; then
        AC_DEFINE(HAVE_GFILENOTIFY, 1, [Define to 1 if using GFile.])
@@ -2723,7 +2723,7 @@ case $with_file_notification,$NOTIFY_OBJ in
     fi ;;
 esac
 
-dnl inotify is only available on GNU/Linux.
+dnl inotify is available only on GNU/Linux.
 case $with_file_notification,$NOTIFY_OBJ in
   inotify, | yes,)
     AC_CHECK_HEADER(sys/inotify.h)
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* bug#20417: 25.0.50; frequent crashes with global-auto-revert-mode
  2015-04-26  1:58 ` Paul Eggert
@ 2015-04-27 17:14   ` Tom Tromey
  2016-04-06 17:55     ` Marcin Borkowski
  0 siblings, 1 reply; 10+ messages in thread
From: Tom Tromey @ 2015-04-27 17:14 UTC (permalink / raw)
  To: Paul Eggert; +Cc: 20417, Tom Tromey

>> Perhaps one approach would be to not use the glib file-polling code.

Paul> That sounds like it may be the best way forward, at least in the short
Paul> run.  If you configure --with-file-notification=inotify does the
Paul> problem go away for you? That is, does the attached patch work for
Paul> you?

I rebuilt with --with-file-notification=inotify, but that did not work
very well.  I started getting this over and over:

Error while trying to read file system events

E.g. I did M-x list-packages and that message started appearing with
some regularity.

I've rebuilt with --with-file-notification=no, but it's too soon to see
how well it works.

Tom





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#20417: 25.0.50; frequent crashes with global-auto-revert-mode
  2015-04-27 17:14   ` Tom Tromey
@ 2016-04-06 17:55     ` Marcin Borkowski
  2016-04-06 18:02       ` Tom Tromey
  0 siblings, 1 reply; 10+ messages in thread
From: Marcin Borkowski @ 2016-04-06 17:55 UTC (permalink / raw)
  To: Tom Tromey; +Cc: 20417, Paul Eggert

On 2015-04-27, at 11:14, Tom Tromey <tom@tromey.com> wrote:

>>> Perhaps one approach would be to not use the glib file-polling code.
>
> Paul> That sounds like it may be the best way forward, at least in the short
> Paul> run.  If you configure --with-file-notification=inotify does the
> Paul> problem go away for you? That is, does the attached patch work for
> Paul> you?
>
> I rebuilt with --with-file-notification=inotify, but that did not work
> very well.  I started getting this over and over:
>
> Error while trying to read file system events
>
> E.g. I did M-x list-packages and that message started appearing with
> some regularity.
>
> I've rebuilt with --with-file-notification=no, but it's too soon to see
> how well it works.

Hi Tom,

does this problem persist in more recent Emacs and/or with
--with-file-notification=no?

>
> Tom

Best,

-- 
Marcin





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#20417: 25.0.50; frequent crashes with global-auto-revert-mode
  2016-04-06 17:55     ` Marcin Borkowski
@ 2016-04-06 18:02       ` Tom Tromey
  2016-04-06 19:11         ` Marcin Borkowski
  0 siblings, 1 reply; 10+ messages in thread
From: Tom Tromey @ 2016-04-06 18:02 UTC (permalink / raw)
  To: Marcin Borkowski; +Cc: 20417, Tom Tromey, Paul Eggert

>> I've rebuilt with --with-file-notification=no, but it's too soon to see
>> how well it works.

Marcin> does this problem persist in more recent Emacs and/or with
Marcin> --with-file-notification=no?

I think it works fine with that flag.

Tom





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#20417: 25.0.50; frequent crashes with global-auto-revert-mode
  2016-04-06 18:02       ` Tom Tromey
@ 2016-04-06 19:11         ` Marcin Borkowski
  2016-04-06 20:51           ` Glenn Morris
  0 siblings, 1 reply; 10+ messages in thread
From: Marcin Borkowski @ 2016-04-06 19:11 UTC (permalink / raw)
  To: Tom Tromey; +Cc: 20417, Paul Eggert


On 2016-04-06, at 18:02, Tom Tromey <tom@tromey.com> wrote:

>>> I've rebuilt with --with-file-notification=no, but it's too soon to see
>>> how well it works.
>
> Marcin> does this problem persist in more recent Emacs and/or with
> Marcin> --with-file-notification=no?
>
> I think it works fine with that flag.

Thanks!  May I close the bug, then?

> Tom

Best,

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Faculty of Mathematics and Computer Science
Adam Mickiewicz University





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#20417: 25.0.50; frequent crashes with global-auto-revert-mode
  2016-04-06 19:11         ` Marcin Borkowski
@ 2016-04-06 20:51           ` Glenn Morris
  2016-04-07  3:54             ` Marcin Borkowski
  2016-08-31 13:48             ` Michael Albinus
  0 siblings, 2 replies; 10+ messages in thread
From: Glenn Morris @ 2016-04-06 20:51 UTC (permalink / raw)
  To: Marcin Borkowski; +Cc: 20417, Tom Tromey, Paul Eggert

Marcin Borkowski wrote:

> Thanks!  May I close the bug, then?

No, because the linked glib bug is still open, and the default behaviour
of configure may use it by default.  See eg unapplied suggestion
from http://debbugs.gnu.org/20417#8 .





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#20417: 25.0.50; frequent crashes with global-auto-revert-mode
  2016-04-06 20:51           ` Glenn Morris
@ 2016-04-07  3:54             ` Marcin Borkowski
  2016-08-31 13:48             ` Michael Albinus
  1 sibling, 0 replies; 10+ messages in thread
From: Marcin Borkowski @ 2016-04-07  3:54 UTC (permalink / raw)
  To: Glenn Morris; +Cc: 20417, Tom Tromey, Paul Eggert


On 2016-04-06, at 20:51, Glenn Morris <rgm@gnu.org> wrote:

> Marcin Borkowski wrote:
>
>> Thanks!  May I close the bug, then?
>
> No, because the linked glib bug is still open, and the default behaviour
> of configure may use it by default.  See eg unapplied suggestion
> from http://debbugs.gnu.org/20417#8 .

OK, so I'm leaving it as it is.

Best,

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Faculty of Mathematics and Computer Science
Adam Mickiewicz University





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#20417: 25.0.50; frequent crashes with global-auto-revert-mode
  2016-04-06 20:51           ` Glenn Morris
  2016-04-07  3:54             ` Marcin Borkowski
@ 2016-08-31 13:48             ` Michael Albinus
  2016-09-15  8:25               ` Michael Albinus
  1 sibling, 1 reply; 10+ messages in thread
From: Michael Albinus @ 2016-08-31 13:48 UTC (permalink / raw)
  To: Glenn Morris; +Cc: 20417, Tom Tromey, Marcin Borkowski, Paul Eggert

Glenn Morris <rgm@gnu.org> writes:

> Marcin Borkowski wrote:
>
>> Thanks!  May I close the bug, then?
>
> No, because the linked glib bug is still open, and the default behaviour
> of configure may use it by default.  See eg unapplied suggestion
> from http://debbugs.gnu.org/20417#8 .

In Emacs 25.1, the default file notification library is inotify for
GNU/Linux, kqueue for *BSD and OS X, and w32notify for MS Windows.

gfilenotify is the default library only for Cygwin. And there, we have a
similar bug#20927 about global-auto-revert-mode and file
notifications. The difference is, that Emacs does not crash there, but
makes Emacs unresponsive for a while.

Therefore, I would like to close *this* bug. We cannot do anything to
force a solution of the glib bug. Objections?

Best regards, Michael.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#20417: 25.0.50; frequent crashes with global-auto-revert-mode
  2016-08-31 13:48             ` Michael Albinus
@ 2016-09-15  8:25               ` Michael Albinus
  0 siblings, 0 replies; 10+ messages in thread
From: Michael Albinus @ 2016-09-15  8:25 UTC (permalink / raw)
  To: 20417-done

Michael Albinus <michael.albinus@gmx.de> writes:

> In Emacs 25.1, the default file notification library is inotify for
> GNU/Linux, kqueue for *BSD and OS X, and w32notify for MS Windows.
>
> gfilenotify is the default library only for Cygwin. And there, we have a
> similar bug#20927 about global-auto-revert-mode and file
> notifications. The difference is, that Emacs does not crash there, but
> makes Emacs unresponsive for a while.
>
> Therefore, I would like to close *this* bug. We cannot do anything to
> force a solution of the glib bug. Objections?

Closed.

Best regards, Michael.





^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2016-09-15  8:25 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-24 15:17 bug#20417: 25.0.50; frequent crashes with global-auto-revert-mode Tom Tromey
2015-04-26  1:58 ` Paul Eggert
2015-04-27 17:14   ` Tom Tromey
2016-04-06 17:55     ` Marcin Borkowski
2016-04-06 18:02       ` Tom Tromey
2016-04-06 19:11         ` Marcin Borkowski
2016-04-06 20:51           ` Glenn Morris
2016-04-07  3:54             ` Marcin Borkowski
2016-08-31 13:48             ` Michael Albinus
2016-09-15  8:25               ` Michael Albinus

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).