GNU bug report logs - #36505
26.1; GDB stepping through code splits GUD windows

Previous Next

Package: emacs;

Reported by: Martin Sebor <msebor <at> gmail.com>

Date: Thu, 4 Jul 2019 20:06:01 UTC

Severity: normal

Tags: moreinfo

Found in version 26.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 36505 in the body.
You can then email your comments to 36505 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#36505; Package emacs. (Thu, 04 Jul 2019 20:06:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Martin Sebor <msebor <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 04 Jul 2019 20:06:02 GMT) Full text and rfc822 format available.

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

From: Martin Sebor <msebor <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 26.1; GDB stepping through code splits GUD windows
Date: Thu, 4 Jul 2019 13:55:50 -0600
Since the latest Fedora 29 update, while using the GUD many windows mode
and stepping in GDB into functions defined in other files than the
current one, Emacs will sometimes open the new file either by splitting
the current window, or sometimes in the input/output of gcc window.
Sometimes it seemingly abitrarily also resizes the windows and changes
the layout of the debugging session.  This makes debugging using GUD so
confusing that it's nearly unusable.  I end up using gdb-restore-windows
every few seconds to at least temporarily restore some sanity to the
layout.  Since the default layout isn't ideal for my use, I then have to
resize it to my preferred size only to have GUD screw it up again once I
step into a function in some other file.


In GNU Emacs 26.1 (build 1, x86_64-redhat-linux-gnu, GTK+ Version 3.23.2)
 of 2018-08-13 built on buildvm-13.phx2.fedoraproject.org
Windowing system distributor 'Fedora Project', version 11.0.12004000
Recent messages:
The program being debugged exited while in a function called from GDB.
Evaluation of the expression containing the function
(tree_class_check(tree_node*, tree_code_class, char const*, int, char 
const*)) will be abandoned.
Switched to thread 1
Switched to thread nil
Switched to thread 1
Mark set
Switched to thread nil
Switched to thread 1
Mark activated

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 --with-xwidgets --with-modules
 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 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions
 -fstack-protector-strong -grecord-gcc-switches
 -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
 LDFLAGS=-Wl,-z,relro
 PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'

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

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

Major mode: C++//l

Minor modes in effect:
  diff-auto-refine-mode: t
  gdb-many-windows: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  savehist-mode: t
  show-paren-mode: t
  display-time-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-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
  abbrev-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
format-spec rfc822 mml mml-sec password-cache epa derived epg epg-config
gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse
rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils misearch multi-isearch vc-git
diff-mode cc-mode cc-fonts easymenu cc-guess cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs cl-seq gdb-mi bindat json map seq
byte-opt bytecomp byte-compile cconv gud easy-mmode comint ansi-color
ring elec-pair undo-tree diff highlight-chars redspace-mode savehist-20+
desktop frameset paren time cus-start cus-load 50magit clang-format
cl-macs gv xml cl-loaddefs cl-lib time-date mule-util 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 dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting xwidget-internal move-toolbar gtk x-toolkit x
multi-tty make-network-process emacs)

Memory information:
((conses 16 307086 22928)
 (symbols 48 26756 2)
 (miscs 40 300 1086)
 (strings 32 56058 3214)
 (string-bytes 1 1680186)
 (vectors 16 25160)
 (vector-slots 8 1001757 74114)
 (floats 8 82 316)
 (intervals 56 26702 303)
 (buffers 992 29))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36505; Package emacs. (Fri, 05 Jul 2019 06:06:01 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Martin Sebor <msebor <at> gmail.com>
Cc: 36505 <at> debbugs.gnu.org
Subject: Re: bug#36505: 26.1; GDB stepping through code splits GUD windows
Date: Fri, 05 Jul 2019 09:05:11 +0300
> From: Martin Sebor <msebor <at> gmail.com>
> Date: Thu, 4 Jul 2019 13:55:50 -0600
> 
> Since the latest Fedora 29 update, while using the GUD many windows mode
> and stepping in GDB into functions defined in other files than the
> current one, Emacs will sometimes open the new file either by splitting
> the current window, or sometimes in the input/output of gcc window.
> Sometimes it seemingly abitrarily also resizes the windows and changes
> the layout of the debugging session.  This makes debugging using GUD so
> confusing that it's nearly unusable.  I end up using gdb-restore-windows
> every few seconds to at least temporarily restore some sanity to the
> layout.  Since the default layout isn't ideal for my use, I then have to
> resize it to my preferred size only to have GUD screw it up again once I
> step into a function in some other file.

Thanks, but could you please post a reproducible recipe starting from
"emacs -Q" to exhibit the problem?  That would make looking into and
fixing this problem much easier and more efficient.

I suspect the problem happens for certain frame and window dimensions,
perhaps only when the frame in which you use gdb-mi is maximized?  But
that's just a guess, and it would be good to have a recipe on which to
work.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36505; Package emacs. (Wed, 10 Jul 2019 15:57:02 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Martin Sebor <msebor <at> gmail.com>
Cc: 36505 <at> debbugs.gnu.org
Subject: Re: bug#36505: 26.1; GDB stepping through code splits GUD windows
Date: Wed, 10 Jul 2019 18:55:55 +0300
> From: Martin Sebor <msebor <at> gmail.com>
> Cc: 36505 <at> debbugs.gnu.org
> Date: Wed, 10 Jul 2019 09:13:53 -0600
> 
> I am trying to reproduce it in a small test case but I'm all of
> a sudden having trouble.  What's happening instead is that syntax
> highlighting and indentation don't work in in some regions of code
> but they work in others.  All the problems, including the window
> resizing and files popping open in dedicated windows feel like they
> have something to do with custom faces.  My setting is below.
> Changing the font seems to have an effect (I'm just not sure
> exactly what it is for which font).

That is very strange indeed.  What is the major mode in the buffers
where you see the problems with highlighting and indentation?  If
there are some minor modes turned on there, please also tell what are
they.

The only font-related customization in what you show is the one that
use DejaVu Sans Mono as your default font.  Is that the font that you
said makes a difference when you replace it with another?

Also, do you see the problems with highlighting and indentation during
debugging with only the settings of faces that you show, and nothing
else in your init files?  Or are there more settings in effect when
the problems happen?

> My GUD frame isn't maximized.  Its geometry is set to 164x94 in
> .Xresources.  My display is 3840x2160 in case that matters, and
> my window manager is Cinnamon.

OK.

> I'll keep trying to narrow it down to something more specific.

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36505; Package emacs. (Wed, 10 Jul 2019 17:08:02 GMT) Full text and rfc822 format available.

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

From: Martin Sebor <msebor <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 36505 <at> debbugs.gnu.org
Subject: Re: bug#36505: 26.1; GDB stepping through code splits GUD windows
Date: Wed, 10 Jul 2019 09:13:53 -0600
On 7/5/19 12:05 AM, Eli Zaretskii wrote:
>> From: Martin Sebor <msebor <at> gmail.com>
>> Date: Thu, 4 Jul 2019 13:55:50 -0600
>>
>> Since the latest Fedora 29 update, while using the GUD many windows mode
>> and stepping in GDB into functions defined in other files than the
>> current one, Emacs will sometimes open the new file either by splitting
>> the current window, or sometimes in the input/output of gcc window.
>> Sometimes it seemingly abitrarily also resizes the windows and changes
>> the layout of the debugging session.  This makes debugging using GUD so
>> confusing that it's nearly unusable.  I end up using gdb-restore-windows
>> every few seconds to at least temporarily restore some sanity to the
>> layout.  Since the default layout isn't ideal for my use, I then have to
>> resize it to my preferred size only to have GUD screw it up again once I
>> step into a function in some other file.
> 
> Thanks, but could you please post a reproducible recipe starting from
> "emacs -Q" to exhibit the problem?  That would make looking into and
> fixing this problem much easier and more efficient.
> 
> I suspect the problem happens for certain frame and window dimensions,
> perhaps only when the frame in which you use gdb-mi is maximized?  But
> that's just a guess, and it would be good to have a recipe on which to
> work.

I am trying to reproduce it in a small test case but I'm all of
a sudden having trouble.  What's happening instead is that syntax
highlighting and indentation don't work in in some regions of code
but they work in others.  All the problems, including the window
resizing and files popping open in dedicated windows feel like they
have something to do with custom faces.  My setting is below.
Changing the font seems to have an effect (I'm just not sure
exactly what it is for which font).

My GUD frame isn't maximized.  Its geometry is set to 164x94 in
.Xresources.  My display is 3840x2160 in case that matters, and
my window manager is Cinnamon.

I'll keep trying to narrow it down to something more specific.

(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(default ((t (:inherit nil :stipple nil :background "cornsilk" 
:foreground "black" :inverse-video nil :box nil :strike-through nil 
:overline nil :underline nil :slant normal :weight normal :height 143 
:width normal :foundry "PfEd" :family "DejaVu Sans Mono"))))
 '(font-lock-builtin-face ((((class color) (background light)) (:bold t 
:foreground "NavyBlue"))))
 '(font-lock-comment-face ((((class color) (background light)) 
(:foreground "SteelBlue"))))
 '(font-lock-constant-face ((((class color) (background light)) 
(:foreground "Black"))))
 '(font-lock-keyword-face ((((class color) (background light)) (:bold t 
:foreground "NavyBlue"))))
 '(font-lock-string-face ((((class color) (background light)) 
(:foreground "SeaGreen"))))
 '(font-lock-type-face ((((class color) (background light)) (:bold t 
:foreground "NavyBlue"))))
 '(font-lock-variable-name-face ((((class color) (background light)) 
(:bold nil :foreground "Black"))))
 '(region ((((class color) (background light)) (:background "lightcyan"))))
 '(scroll-bar ((t (:background "grey75")))))




Added tag(s) moreinfo. Request was from Noam Postavsky <npostavs <at> gmail.com> to control <at> debbugs.gnu.org. (Thu, 08 Aug 2019 20:27:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36505; Package emacs. (Wed, 25 Sep 2019 14:40:02 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 36505 <at> debbugs.gnu.org, Martin Sebor <msebor <at> gmail.com>
Subject: Re: bug#36505: 26.1; GDB stepping through code splits GUD windows
Date: Wed, 25 Sep 2019 16:39:06 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

>> I'll keep trying to narrow it down to something more specific.
>
> Thanks.

More information was requested, but no response was given within a few
months, so I'm closing this bug report.  If the problem still exists,
please reopen this bug report.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




bug closed, send any further explanations to 36505 <at> debbugs.gnu.org and Martin Sebor <msebor <at> gmail.com> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Wed, 25 Sep 2019 14:40:03 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 24 Oct 2019 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 183 days ago.

Previous Next


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