Subject: Re: bug#61973: M-x gdb ends up with infinite prompts before starting the process

From: Eli Zaretskii <[email-masked]>
Date: Sun, 05 Mar 2023 17:19:13 +0200

> Date: Sun, 5 Mar 2023 15:18:48 +0200
> Cc: [email-masked]
> From: Dmitry Gutov <[email-masked]>
> 
> > Next, can you enable gdb-enable-debug minor mode, and post the
> > contents of gdb-debug-log (formatted with pp, please) after these
> > questions are asked and you answer them?
> 
> Seems to be pretty-printed already (note that I only pressed 'y' twice):
> 
> ((recv . "~\"Please answer y or [n].\\n\"
> ~\"\\nThis GDB supports auto-downloading debuginfo from the following 
> URLs:\\nhttps://debuginfod.ubuntu.com \\nEnable debuginfod for this 
> session? (y or [n]) \"
> ")
>   (mi-send .
> 	  #("-interpreter-exec console \"y\"
> " 27 28
> (fontified t)))
>   (recv . "~\"Please answer y or [n].\\n\"
> ~\"\\nThis GDB supports auto-downloading debuginfo from the following 
> URLs:\\nhttps://debuginfod.ubuntu.com \\nEnable debuginfod for this 
> session? (y or [n]) \"
> ")
>   (mi-send .
> 	  #("-interpreter-exec console \"y\"
> " 27 28
> (fontified t)))

Thanks.  This confirms my suspicion: we don't recognize the situation
where GDB waits for a response, and interpret your "y" response as a
GDB command.  So we send it as a command: that's what the
"-interpreter-exec console" thing is about.  So GDB waits for "y" or
"n", but gets "-interpreter-exec console \"y\"".

We need to teach gdb-mi.el to recognize these prompts.  Will look into
that.

> > Finally, if you add the following line to your ~/.gdbinit, does the
> > problem go away?
> > 
> >    set debuginfod enabled on
> 
> That helps. 'set debuginfod enabled off' also works.

Yes, anything other than "ask" (which is the default).

This will serve as a workaround until the solution is found and
installed.