This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: "The target is not responding to interrupt requests" after re-attach
- From: Pedro Alves <palves at redhat dot com>
- To: Dmitry Antipov <dantipov at nvidia dot com>
- Cc: GDB Development <gdb at sourceware dot org>
- Date: Thu, 19 Oct 2017 14:21:36 +0100
- Subject: Re: "The target is not responding to interrupt requests" after re-attach
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx08.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx08.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=palves at redhat dot com
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 182A8C13DA2B
- References: <6c9c532c-8094-9df5-1a8c-556ea92a9b5a@nvidia.com> <f4a517f3-41b2-efc7-e00c-c9f11d29d7f3@redhat.com> <fd91217d-4d53-1a9d-c957-1dec38a6a737@nvidia.com>
On 10/19/2017 12:57 PM, Dmitry Antipov wrote:
> On 10/19/2017 02:39 PM, Pedro Alves wrote:
>
>> No good reason. Sounds like you found a bug.
>
> Currently gdbserver installs SIGIO handler just once, in
> initialize_async_io ()
> called from captured_main (), and this handler is removed when remote_desc
> is closed in remote_close (). Next, when a new instance of remote_desc is
> fetched from accept () and has '\003' arrived, input_interrupt () is never
> called because it is not registered as SIGIO handler.
>
> Probably the fix is to (re)install SIGIO handler each time when a new
> async-served descriptor gets hooked into an event loop, for example,
> in enable_async_notification ().
Thanks much for tracking that down.
We could instead not uninstall the handler in remote_close, but
block the signal instead, putting us back in the original
state? Like:
@@ -403,10 +403,7 @@ remote_close (void)
{
delete_file_handler (remote_desc);
-#ifndef USE_WIN32API
- /* Remove SIGIO handler. */
- signal (SIGIO, SIG_IGN);
-#endif
+ disable_async_io ();
I wrote a gdb testsuite/gdb.server/ test exposing this, and
sent a patch to the patches list, after running that through
the testsuite:
https://sourceware.org/ml/gdb-patches/2017-10/msg00606.html
Thanks,
Pedro Alves