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

From: Eli Zaretskii <[email-masked]>
Date: Thu, 21 Jun 2018 17:27:02 +0300

> 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

I tried to reproduce this, but couldn't.  Please tell what is your GDB
version.  Also, can you provide a complete recipe, including a program
to debug, and all the steps needed to reproduce the issue, preferably
starting from "emacs -Q"?

(The additional commands are commands injected by gdb-mi.el to allow
Emacs display of various information: call-stack, thread information,
etc.  But they shouldn't appear in the commands you specified for your
breakpoints, so this is still some kind of problem.  I cannot
reproduce it, though.)

Thanks.