GNU bug report logs - #34179
27.0.50; message hangs when buffer with process visible

Previous Next

Package: emacs;

Reported by: Michael Heerdegen <michael_heerdegen <at> web.de>

Date: Wed, 23 Jan 2019 15:11:02 UTC

Severity: normal

Found in version 27.0.50

Fixed in version 27.1

Done: Noam Postavsky <npostavs <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #71 received at 34179 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: rudalics <at> gmx.at, 34179 <at> debbugs.gnu.org
Subject: Re: bug#34179: 27.0.50; message hangs when buffer with process visible
Date: Thu, 24 Jan 2019 21:21:48 +0200
> From: Michael Heerdegen <michael_heerdegen <at> web.de>
> Cc: Eli Zaretskii <eliz <at> gnu.org>,  34179 <at> debbugs.gnu.org
> Date: Thu, 24 Jan 2019 19:47:02 +0100
> 
> So, the recipe is: load the attached file, open a shell buffer (M-x
> shell), and C-x 5 2.  Also selecting a different frame works.
> 
> M-: (fracy-display-frame-list) seems to already suffice as recipe.

Thanks.  This is an infloop in redisplay_internal, because each time
we call run_window_change_functions, it causes
windows_or_buffers_changed to be set to a non-zero value, and we then
retry redisplay:

  if (!NILP (Vrun_hooks))
    {
      run_window_change_functions ();

      /* If windows or buffers changed or selected_window changed,
	 redisplay again.  */
      if ((windows_or_buffers_changed)
	  || (WINDOWP (selected_window)
	      && (w = XWINDOW (selected_window)) != sw))
	goto retry;
    }

Here's the Lisp backtrace:

  "select-window" (0x82a508)
  "window-max-chars-per-line" (0x82aae0)
  "window-adjust-process-window-size" (0x82b0a0)
  "window-adjust-process-window-size-smallest" (0x82b618)
  "window--adjust-process-windows" (0x82bbc0)
  "redisplay_internal (C function)" (0x0)
  "message" (0x82cdb0)
  "progn" (0x82cff8)
  "if" (0x82d198)
  "let*" (0x82d3c8)
  "catch" (0x82d608)
  "fracy-display-frame-list" (0x82d7c0)
  "if" (0x82dac8)
  "fracy-flash-window" (0x82dc80)
  "let" (0x82e018)
  "ad-Advice-handle-switch-frame" (0x82e4a0)
  "apply" (0x82e498)
  "handle-switch-frame" (0x82ebe0)
  "funcall-interactively" (0x82ebd8)
  "call-interactively" (0x82f030)
  "command-execute" (0x82f628)

The C portion of the backtrace below selec t-window is this:

  #0  redisplay_other_windows () at xdisp.c:597
  #1  0x010aa09e in select_window (window=XIL(0xa000000006919aa0),
      norecord=XIL(0x3d36a14), inhibit_point_swap=false) at window.c:540
  #2  0x010aa62a in Fselect_window (window=XIL(0xa000000006919aa0),
      norecord=XIL(0x3d36a14)) at window.c:628

Should we perhaps not "goto retry" there?




This bug report was last modified 6 years and 53 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.