* bug#34260: 27.0.50; Emacs randomly hangs during redisplay
@ 2019-01-30 20:32 John Shahid
2019-01-30 21:46 ` Michael Heerdegen
2019-01-31 8:32 ` martin rudalics
0 siblings, 2 replies; 11+ messages in thread
From: John Shahid @ 2019-01-30 20:32 UTC (permalink / raw)
To: 34260
I have updated to the latest master a while ago and since then my Emacs
have been acting weird and becomes unusable. I tried to turn on
debug-on-quit but I Emacs is always inside redisplay when I hit C-g.
Almost always the stacktrace has somewhere a call to `message` which in
turn calls `redisplay` and it just hangs and consumes 100% of the cpu.
I tried to debug the proces using gdb and found out that Emacs is always
inside `redisplay_internal' when I stop it using `kill -TSTP emacs'.
Worth noting that this problem isn't predictable and is hard to
reproduce. It also might be related to EXWM and commit `e567ac1495'.
> 436c225f1b * Unbreak the macOS NS build
> 957090b795 * Merge from origin/emacs-26
> |\
> c9f6f86814 | * Prevent redrawing if frame is garbaged
> 00ba2267ed | * Attempt to fix hangs on MS-Windows due to C-g
> e567ac1495 * | Run window change functions during redisplay
I reverted my local copy of Emacs to '470082de55: List lengths are
always fixnums now' and haven't ran into any issues since then.
Let me know how I can debug this issue further. Would the display
engine trace help in this case ? Emacs doesn't enter an infinite
recursion but from the CPU usage it is entering some sort of infinite
loop, but I can't figure out why.
In GNU Emacs 27.0.50 (build 4, x86_64-pc-linux-gnu, GTK+ Version 3.24.4)
of 2019-01-30 built on amun
Repository revision: 1d804268c4656e9a7561a0bdff728d932ffd3812
Repository branch: wtf
Windowing system distributor 'The X.Org Foundation', version 11.0.12003000
System Description: Arch Linux
Recent messages:
Mark set
08bc407a228796b64e321cb28b38b39062ab1732
(New file)
Mark set
Starting new Ispell process /usr/bin/ispell with default dictionary...
Invalid face attribute :inherit mu4e-header-key-face [17 times]
Message modified; kill anyway? (y or n) y
[mu4e] Found 102 matching messages
Mark set
Quit
Quit
Configured using:
'configure --prefix=/home/jvshahid/bin/emacs-27
PKG_CONFIG_PATH=/home/jvshahid/.gvm/pkgsets/go1.11.1/global/overlay/lib/pkgconfig:'
Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS GLIB
NOTIFY INOTIFY ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM THREADS LIBSYSTEMD JSON LCMS2 GMP
Important settings:
value of $LC_COLLATE: en_US.UTF-8
value of $LC_CTYPE: en_US.UTF-8
value of $LC_MESSAGES: en_US.UTF-8
value of $LC_MONETARY: en_US.UTF-8
value of $LC_NUMERIC: en_US.UTF-8
value of $LC_TIME: en_US.UTF-8
value of $LANG: en_US.UTF-8
locale-coding-system: utf-8-unix
Major mode: mu4e-headers
Minor modes in effect:
recentf-mode: t
hl-line-mode: t
global-magit-file-mode: t
diff-auto-refine-mode: t
global-git-commit-mode: t
shell-dirtrack-mode: t
show-paren-mode: t
display-battery-mode: t
flx-ido-mode: t
global-company-mode: t
company-mode: t
async-bytecomp-package-mode: t
winner-mode: t
global-auto-revert-mode: t
savehist-mode: t
display-time-mode: t
direnv-mode: t
projectile-mode: t
straight-use-package-mode: t
straight-package-neutering-mode: t
tooltip-mode: t
global-eldoc-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
buffer-read-only: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t
auto-save-visited-mode: t
Load-path shadows:
/home/jvshahid/.emacs.d/straight/build/jsonrpc/jsonrpc hides /home/jvshahid/bin/emacs-27/share/emacs/27.0.50/lisp/jsonrpc
/home/jvshahid/.emacs.d/straight/build/flymake/flymake hides /home/jvshahid/bin/emacs-27/share/emacs/27.0.50/lisp/progmodes/flymake
/home/jvshahid/.emacs.d/straight/build/cl-lib/cl-lib hides /home/jvshahid/bin/emacs-27/share/emacs/27.0.50/lisp/emacs-lisp/cl-lib
/home/jvshahid/.emacs.d/straight/build/let-alist/let-alist hides /home/jvshahid/bin/emacs-27/share/emacs/27.0.50/lisp/emacs-lisp/let-alist
/home/jvshahid/.emacs.d/straight/build/seq/seq hides /home/jvshahid/bin/emacs-27/share/emacs/27.0.50/lisp/emacs-lisp/seq
/home/jvshahid/.emacs.d/straight/build/cl-generic/cl-generic hides /home/jvshahid/bin/emacs-27/share/emacs/27.0.50/lisp/emacs-lisp/cl-generic
Features:
(shadow sort emacsbug flyspell ispell supercite regi face-remap
cap-words superword subword cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars cc-defs tramp-archive tramp-gvfs
zeroconf dbus novice tabify pcmpl-unix image-file ffap filecache recentf
tree-widget helm-x-files helm-for-files helm-bookmark helm-adaptive
magit-bookmark bookmark helm-external helm-net xml url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-domsuf
url-util woman man helm-man conf-mode mu4e desktop frameset
mu4e-speedbar mu4e-main mu4e-view cal-menu calendar cal-loaddefs
browse-url gnus-art mm-uu mml2015 mm-view mml-smime smime dig mailcap
gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail
mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range gnus-win gnus
nnheader wid-edit mu4e-headers mu4e-compose mu4e-context mu4e-draft
mu4e-actions rfc2368 smtpmail sendmail mu4e-mark mu4e-message flow-fill
mu4e-proc mu4e-utils doc-view image-mode mu4e-lists mu4e-vars hl-line
mu4e-meta mail-extr pp yaml-mode vc-git sh-script smie executable
bug-reference jka-compr eshell-z em-unix em-term term disp-table ehelp
em-script em-prompt em-ls em-hist em-pred em-glob em-dirs em-cmpl
em-basic em-banner em-alias esh-var esh-cmd esh-opt esh-io esh-ext
esh-proc esh-arg esh-groups eshell esh-module esh-mode esh-util
eieio-opt speedbar sb-image ezimage dframe help-fns misearch
multi-isearch files-x tramp-sh tramp-cache tramp tramp-loaddefs trampver
tramp-compat ucs-normalize parse-time windmove helm-command helm-elisp
helm-eval edebug backtrace helm-info helm-mode magit-extras
magit-submodule magit-obsolete magit-blame magit-stash magit-bisect
magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit
magit-sequence magit-notes magit-worktree magit-tag magit-merge
magit-branch magit-reset magit-files magit-refs magit-status magit
magit-repos magit-apply magit-wip magit-log which-func imenu magit-diff
smerge-mode diff-mode magit-core magit-autorevert magit-process
magit-margin magit-mode git-commit magit-git magit-section magit-utils
magit-popup crm log-edit message rmc puny rfc822 mml mml-sec epa derived
epg gnus-util rmail rmail-loaddefs time-date mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log
with-editor shell pcomplete dired-aux parinfer-ext paredit parinfer
ediff-merg ediff-wind ediff-diff ediff-mult ediff-help ediff-init
ediff-util ediff mode-local find-func parinferlib dired-x dired
dired-loaddefs paren battery cus-start cus-load flx-ido flx
floobits-autoloads highlight-autoloads arduino-mode-autoloads ede/auto
rust-mode-autoloads flycheck-clojure-autoloads cider-autoloads
sesman-autoloads spinner-autoloads queue-autoloads
clojure-mode-autoloads parinfer-autoloads paredit-autoloads
ginkgo-mode-autoloads go-rename-autoloads company-go-autoloads
go-eldoc-autoloads go-guru-autoloads go-mode-autoloads robe-autoloads
inf-ruby-autoloads rvm-autoloads eglot-autoloads flymake-autoloads
jsonrpc-autoloads company-oddmuse company-keywords company-etags etags
multifile generator xref project company-gtags company-dabbrev-code
company-dabbrev company-files company-capf company-cmake company-xcode
company-clang company-semantic company-eclim company-template
company-bbdb company company-autoloads emms-autoloads pianobar-autoloads
eshell-z-autoloads cl helm-config helm-easymenu async-bytecomp
helm-projectile helm-files helm-tags helm-buffers helm-grep helm-regexp
format-spec helm-utils helm-locate helm-help helm-types helm helm-source
eieio-compat helm-multi-match helm-lib advice async
helm-projectile-autoloads helm-autoloads helm-core-autoloads
popup-autoloads git-link-autoloads magit-autoloads magit-popup-autoloads
git-commit-autoloads exwm-randr xcb-randr exwm-config ido exwm
exwm-input xcb-keysyms xcb-xkb exwm-manage exwm-floating xcb-cursor
xcb-render exwm-layout exwm-workspace exwm-core xcb-ewmh xcb-icccm xcb
xcb-xproto xcb-types xcb-debug exwm-autoloads xelb-autoloads
cl-generic-autoloads tango-dark-theme server winner edmacro kmacro
autorevert filenotify savehist time direnv dash projectile grep ibuf-ext
ibuffer ibuffer-loaddefs direnv-autoloads with-editor-autoloads
async-autoloads edit-indirect-autoloads concourse-mode-autoloads
hierarchy-autoloads flx-ido-autoloads flx-autoloads wgrep-autoloads
flycheck-autoloads seq-autoloads let-alist-autoloads dash-autoloads
ace-window-autoloads avy-autoloads dockerfile-mode-autoloads s-autoloads
yasnippet-snippets-autoloads yasnippet-autoloads protobuf-mode-autoloads
markdown-mode-autoloads yaml-mode-autoloads etags-select-autoloads
projectile-autoloads pkg-info-autoloads epl-autoloads debbugs-autoloads
cl-lib-autoloads straight-autoloads rx compile comint ansi-color ring
cl-extra straight info autoload radix-tree lisp-mnt easy-mmode pcase
subr-x checkdoc thingatpt help-mode elec-pair mule-util finder-inf
package easymenu epg-config url-handlers url-parse auth-source cl-seq
eieio eieio-core cl-macs eieio-loaddefs password-cache json map url-vars
seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib tooltip
eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel
term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode
lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors 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 composite charscript charprop 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 threads dbusbind inotify lcms2 dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty make-network-process emacs)
Memory information:
((conses 16 1123477 636547)
(symbols 48 61493 19)
(strings 32 457169 87036)
(string-bytes 1 21729363)
(vectors 16 123050)
(vector-slots 8 2723362 688044)
(floats 8 792 4873)
(intervals 56 23521 8702)
(buffers 992 101))
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#34260: 27.0.50; Emacs randomly hangs during redisplay
2019-01-30 20:32 bug#34260: 27.0.50; Emacs randomly hangs during redisplay John Shahid
@ 2019-01-30 21:46 ` Michael Heerdegen
2019-01-31 3:39 ` Eli Zaretskii
2019-01-31 8:32 ` martin rudalics
1 sibling, 1 reply; 11+ messages in thread
From: Michael Heerdegen @ 2019-01-30 21:46 UTC (permalink / raw)
To: John Shahid; +Cc: 34260
John Shahid <jvshahid@gmail.com> writes:
> Let me know how I can debug this issue further. Would the display
> engine trace help in this case ? Emacs doesn't enter an infinite
> recursion but from the CPU usage it is entering some sort of infinite
> loop, but I can't figure out why.
What you write reminds me of the bug I (a user) had reported: Bug
#34179. Maybe you can check whether you are experiencing the same
issue? There are suggested patches in this thread that fixed the hangs
for me.
Michael.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#34260: 27.0.50; Emacs randomly hangs during redisplay
2019-01-30 21:46 ` Michael Heerdegen
@ 2019-01-31 3:39 ` Eli Zaretskii
0 siblings, 0 replies; 11+ messages in thread
From: Eli Zaretskii @ 2019-01-31 3:39 UTC (permalink / raw)
To: Michael Heerdegen; +Cc: jvshahid, 34260
> From: Michael Heerdegen <michael_heerdegen@web.de>
> Date: Wed, 30 Jan 2019 22:46:26 +0100
> Cc: 34260@debbugs.gnu.org
>
> John Shahid <jvshahid@gmail.com> writes:
>
> > Let me know how I can debug this issue further. Would the display
> > engine trace help in this case ? Emacs doesn't enter an infinite
> > recursion but from the CPU usage it is entering some sort of infinite
> > loop, but I can't figure out why.
>
> What you write reminds me of the bug I (a user) had reported: Bug
> #34179.
Certainly sounds like the same bug.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#34260: 27.0.50; Emacs randomly hangs during redisplay
2019-01-30 20:32 bug#34260: 27.0.50; Emacs randomly hangs during redisplay John Shahid
2019-01-30 21:46 ` Michael Heerdegen
@ 2019-01-31 8:32 ` martin rudalics
2019-01-31 14:07 ` John Shahid
1 sibling, 1 reply; 11+ messages in thread
From: martin rudalics @ 2019-01-31 8:32 UTC (permalink / raw)
To: John Shahid, 34260
> Let me know how I can debug this issue further. Would the display
> engine trace help in this case ? Emacs doesn't enter an infinite
> recursion but from the CPU usage it is entering some sort of infinite
> loop, but I can't figure out why.
Please tell me if the following hold when the hang occurs:
(1) You have at least two frames open.
(2) You run an externl process (likely shell) in a non-selected frame.
(3) The minibuffer window of the selected frame is or should be enlarged.
Thank you, martin
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#34260: 27.0.50; Emacs randomly hangs during redisplay
2019-01-31 8:32 ` martin rudalics
@ 2019-01-31 14:07 ` John Shahid
2019-01-31 18:43 ` martin rudalics
0 siblings, 1 reply; 11+ messages in thread
From: John Shahid @ 2019-01-31 14:07 UTC (permalink / raw)
To: martin rudalics; +Cc: 34260
martin rudalics <rudalics@gmx.at> writes:
>> Let me know how I can debug this issue further. Would the display
>> engine trace help in this case ? Emacs doesn't enter an infinite
>> recursion but from the CPU usage it is entering some sort of infinite
>> loop, but I can't figure out why.
>
> Please tell me if the following hold when the hang occurs:
>
> (1) You have at least two frames open.
Yes. EXWM creates a frame per monitor. I have two monitors which is
equivalent to two frames. I verified that by running `(frame-list)'
which gave me the following `(#<frame *Minibuf-1* 0x915df20> #<frame
*eshell* 0x1408c30>)'.
> (2) You run an externl process (likely shell) in a non-selected frame.
Very likely. I didn't what to look for when this happened, but I almost
always have an eshell/ansi-term window open.
> (3) The minibuffer window of the selected frame is or should be enlarged.
I am not sure. In the stacktraces I looked at there was always a call
to `message', but I'm not sure what are the args to it. Due to the
nature of my setup (i.e. using EXWM/Emacs as the window manager), when
this happen it is little hard to debug from inside Emacs and I have to
use gdb. I am not sure how to get the args from gdb.
JS
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#34260: 27.0.50; Emacs randomly hangs during redisplay
2019-01-31 14:07 ` John Shahid
@ 2019-01-31 18:43 ` martin rudalics
2019-02-01 15:26 ` John Shahid
0 siblings, 1 reply; 11+ messages in thread
From: martin rudalics @ 2019-01-31 18:43 UTC (permalink / raw)
To: John Shahid; +Cc: 34260
>> (3) The minibuffer window of the selected frame is or should be enlarged.
>
> I am not sure. In the stacktraces I looked at there was always a call
> to `message', but I'm not sure what are the args to it. Due to the
> nature of my setup (i.e. using EXWM/Emacs as the window manager), when
> this happen it is little hard to debug from inside Emacs and I have to
> use gdb. I am not sure how to get the args from gdb.
Never mind. I'm afraid that EXWM is much too refined in its use of
frame/window features as to make its parsing possible for anyone but
its author.
I hope to post a fix for Bug#34179 by the end of this week. If it
doesn't work for you then we'll have to contact Chris Feng.
martin
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#34260: 27.0.50; Emacs randomly hangs during redisplay
2019-01-31 18:43 ` martin rudalics
@ 2019-02-01 15:26 ` John Shahid
2019-02-02 9:29 ` martin rudalics
0 siblings, 1 reply; 11+ messages in thread
From: John Shahid @ 2019-02-01 15:26 UTC (permalink / raw)
To: martin rudalics; +Cc: 34260
martin rudalics <rudalics@gmx.at> writes:
>>> (3) The minibuffer window of the selected frame is or should be enlarged.
>>
>> I am not sure. In the stacktraces I looked at there was always a call
>> to `message', but I'm not sure what are the args to it. Due to the
>> nature of my setup (i.e. using EXWM/Emacs as the window manager), when
>> this happen it is little hard to debug from inside Emacs and I have to
>> use gdb. I am not sure how to get the args from gdb.
>
> Never mind. I'm afraid that EXWM is much too refined in its use of
> frame/window features as to make its parsing possible for anyone but
> its author.
>
> I hope to post a fix for Bug#34179 by the end of this week. If it
> doesn't work for you then we'll have to contact Chris Feng.
Sounds good. Thanks Martin. A side question, is there a way to get
notification on a specific bug in debbugs ?
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#34260: 27.0.50; Emacs randomly hangs during redisplay
2019-02-01 15:26 ` John Shahid
@ 2019-02-02 9:29 ` martin rudalics
2019-02-02 17:09 ` John Shahid
0 siblings, 1 reply; 11+ messages in thread
From: martin rudalics @ 2019-02-02 9:29 UTC (permalink / raw)
To: John Shahid; +Cc: 34260
>> I hope to post a fix for Bug#34179 by the end of this week. If it
>> doesn't work for you then we'll have to contact Chris Feng.
>
> Sounds good. Thanks Martin.
Please try now with latest master and report any anomalies you still
observe.
> A side question, is there a way to get
> notification on a specific bug in debbugs ?
Notification in which sense? The bug tracker should have confirmed
that you posted the bug and should inform you as soon as it is closed.
You will get any messages sent to the bug number if you are either
subscribed to bug-gnu-emacs or you're CC-ed in the message (the latter
being something most subscribers of bug-gnu-emacs do).
Thanks, martin
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#34260: 27.0.50; Emacs randomly hangs during redisplay
2019-02-02 9:29 ` martin rudalics
@ 2019-02-02 17:09 ` John Shahid
2019-02-11 22:02 ` John Shahid
0 siblings, 1 reply; 11+ messages in thread
From: John Shahid @ 2019-02-02 17:09 UTC (permalink / raw)
To: martin rudalics; +Cc: 34260
martin rudalics <rudalics@gmx.at> writes:
>>> I hope to post a fix for Bug#34179 by the end of this week. If it
>>> doesn't work for you then we'll have to contact Chris Feng.
>>
>> Sounds good. Thanks Martin.
>
> Please try now with latest master and report any anomalies you still
> observe.
Thank you. I compiled master and running it locally. I will let you
know as soon as I notice anything weird.
JS
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#34260: 27.0.50; Emacs randomly hangs during redisplay
2019-02-02 17:09 ` John Shahid
@ 2019-02-11 22:02 ` John Shahid
2019-02-19 8:36 ` martin rudalics
0 siblings, 1 reply; 11+ messages in thread
From: John Shahid @ 2019-02-11 22:02 UTC (permalink / raw)
To: martin rudalics; +Cc: 34260
I haven't noticed any hangs locally. I think this bug can be closed.
Thanks Martin!
Cheers,
JS
John Shahid <jvshahid@gmail.com> writes:
> martin rudalics <rudalics@gmx.at> writes:
>
>>>> I hope to post a fix for Bug#34179 by the end of this week. If it
>>>> doesn't work for you then we'll have to contact Chris Feng.
>>>
>>> Sounds good. Thanks Martin.
>>
>> Please try now with latest master and report any anomalies you still
>> observe.
>
> Thank you. I compiled master and running it locally. I will let you
> know as soon as I notice anything weird.
>
> JS
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2019-02-19 8:36 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-01-30 20:32 bug#34260: 27.0.50; Emacs randomly hangs during redisplay John Shahid
2019-01-30 21:46 ` Michael Heerdegen
2019-01-31 3:39 ` Eli Zaretskii
2019-01-31 8:32 ` martin rudalics
2019-01-31 14:07 ` John Shahid
2019-01-31 18:43 ` martin rudalics
2019-02-01 15:26 ` John Shahid
2019-02-02 9:29 ` martin rudalics
2019-02-02 17:09 ` John Shahid
2019-02-11 22:02 ` John Shahid
2019-02-19 8:36 ` martin rudalics
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.