Re: GDB BoF notes - GNU Cauldron 2023

John Baldwin
2023-10-06T21:35:45Z

On 9/29/23 5:57 AM, Pedro Alves wrote:
> On 2023-09-27 21:27, John Baldwin wrote:
>
>> +1 to both of these.  One caveat about the pagination case is that I
>> use custom commands that can sometimes generate a lot of output (e.g.
>> walking linked-lists in a kernel crash image outputting info about
>> each entry, or similar things for entries in descriptor rings).  If one
>> of these scripts has a bug that causes an infinite loop, the pager
>> seems to be the only way to stop the command.  In particular, Ctrl-C
>> doesn't work in my experience to cancel a user command stuck in an
>> infinite loop.  It might be nice to ensure that Ctrl-C can cancel both
>> user and builtin commands that are either stuck or generating reams of
>> output.
>>
>
> I'm surprised to hear this, as it's already supposed to be possible to
> Ctrl-C in those cases. But I won't be surprised if there's some bug
> swallowing Ctrl-C somewhere. I do recall that Kevin fixed a good number
> of them for the SIGTERM propagation patches. It may also be that it's the
> user command that is buggy -- e.g., if it's a python command and then the
> command swallows the keyboard interrupt exceptions.

My memory must be a bit fuzzy here, and perhaps this only applied to much
older versions of GDB. Most of my scripts date back to GDB 6 and thus
are not in python. I just tried some simple tests against gdb 13 locally
and was able to Ctrl-C custom commands with an infinite loop just fine.

So I'm still a +1 to both suggestions, and no longer have a caveat.

--
John Baldwin