Subject: bug#31918: 25.3; gud inserts invalid gdb commands

From: Moritz Wilhelmy <[email-masked]>
Date: Wed, 20 Jun 2018 21:34:44 +0200

I'm experiencing problems attaching commands to breakpoints with
gdb/gud. I reproduced this using emacs -q. I also tried to reproduce the
same behaviour with gdb running inside the terminal, but it did not
occur, therefore I blame Emacs. ;)

After M-x gdb, I wrote approximately this (unimportant parts elided):

(gdb) br phy_device.c:579
Breakpoint 2 at 0xc029c468: file drivers/net/phy/phy_device.c, line 579.
(gdb) commands
Type commands for breakpoint(s) 2, one per line.
End with a line saying just "end".
info args
>>>>>info locals
>p/x phy_id
>p bus->id
>if addr < 31
 >cont
 >end
>end
(gdb) i br
2       breakpoint     keep y   0xc029c468 in get_phy_device at drivers/net/phy/phy_device.c:579
	breakpoint already hit 1 time
        info args
        41-stack-info-frame --thread 2
        42-thread-info --thread 2
        43-break-list
        info locals
        p/x phy_id
        p bus->id
        if addr < 31
          cont
        end
(gdb) 

What's the deal with these three lines?

        41-stack-info-frame --thread 2
        42-thread-info --thread 2
        43-break-list

Best,

Moritz

In GNU Emacs 25.3.1 (x86_64-suse-linux-gnu, GTK+ Version 3.22.30)
 of 2018-06-10 built on lamb03
Windowing system distributor 'The X.Org Foundation', version 11.0.11906000
System Description:	openSUSE Tumbleweed

Configured using:
 'configure --with-pop --without-hesiod --with-kerberos --with-kerberos5
 --with-xim --with-wide-int --with-file-notification=inotify
 --with-modules --enable-autodepend --prefix=/usr
 --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share
 --localstatedir=/var --sharedstatedir=/var/lib --libexecdir=/usr/lib
 --enable-locallisppath=/usr/share/emacs/25.3/site-lisp:/usr/share/emacs/site-lisp
 --with-x --with-sound --with-xpm --with-jpeg --with-tiff --with-gif
 --with-png --with-rsvg --with-dbus --with-xft --without-gpm
 --with-x-toolkit=gtk3 --with-xwidgets --with-toolkit-scroll-bars
 --x-includes=/usr/include --x-libraries=/usr/lib64 --with-libotf
 --with-m17n-flt --build=x86_64-suse-linux 'CFLAGS=-fmessage-length=0
 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2
 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables
 -fstack-clash-protection -g -D_GNU_SOURCE
 -DGDK_DISABLE_DEPRECATION_WARNINGS -DGLIB_DISABLE_DEPRECATION_WARNINGS
 -pipe -Wno-pointer-sign -Wno-unused-variable -Wno-unused-label
 -Wno-unprototyped-calls -fno-optimize-sibling-calls -fno-PIE
 -DSYSTEM_PURESIZE_EXTRA=55000 -DSITELOAD_PURESIZE_EXTRA=10000 '
 LDFLAGS=-Wl,-O2'

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 MODULES XWIDGETS

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

Major mode: Debugger

Minor modes in effect:
  diff-auto-refine-mode: t
  show-paren-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-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
  line-number-mode: t
  transient-mark-mode: (only . t)

Recent messages:
Checking 24 files in /usr/share/emacs/25.3/lisp/cedet...
Checking 57 files in /usr/share/emacs/25.3/lisp/calendar...
Checking 87 files in /usr/share/emacs/25.3/lisp/calc...
Checking 120 files in /usr/share/emacs/25.3/lisp/obsolete...
Checking for load-path shadows...done
scroll-down-command: Beginning of buffer
scroll-up-command: End of buffer
scroll-down-command: Beginning of buffer
next-line: End of buffer [21 times]
Auto-saving...done
previous-line: Beginning of buffer [3 times]

Load-path shadows:
None found.

Features:
(pp shadow sort mail-extr emacsbug message dired format-spec rfc822 mml
mml-sec password-cache epg epg-config gnus-util mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils help-fns kmacro
thingatpt etags xref project eieio eieio-core cl-macs vc-git diff-mode
cc-mode cc-fonts 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 gv bytecomp
byte-compile cl-extra help-mode cconv cl-loaddefs pcase cl-lib gud
easy-mmode comint ansi-color ring misearch multi-isearch jka-compr info
easymenu paren ispell time-date mule-util delsel lpr 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 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
xwidget-internal move-toolbar gtk x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 223680 21443)
 (symbols 48 25962 0)
 (miscs 40 351 417)
 (strings 32 47786 8262)
 (string-bytes 1 2193690)
 (vectors 16 22020)
 (vector-slots 8 572010 11995)
 (floats 8 275 338)
 (intervals 56 13253 173)
 (buffers 976 37))