From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by sourceware.org (Postfix) with ESMTPS id 592D83858031 for ; Sat, 26 Nov 2022 13:34:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 592D83858031 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 7E5F71F88F for ; Sat, 26 Nov 2022 13:34:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1669469684; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=T6lgCcekX8nD+TBDQTmgexaNziMsP6BsPaRfDFdXaxk=; b=DDZrFO0d7MN6HARSxLF8cJ1qvwHTSYxlqxmhM8+oF3HEN5bvUOUiScNW4dib+deNgwCpgb Lcqh4dlemqPmDfINIRHS3OU414CXRSBoN1ACTMnRan0J0m5hGVlAeIWxOZTAM32LsVp4/W M3IX2kz7d0Evz/IBXhtyfaidiQvhpIs= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1669469684; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=T6lgCcekX8nD+TBDQTmgexaNziMsP6BsPaRfDFdXaxk=; b=vpoFJYaEkATk9DXOB121bHoewcTDXmF5Q5fV22BcwRJ6cIeM77UoTllwJwqFhWUvnwt3MO V2okX4QECobG+9AQ== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 38F3113A8D for ; Sat, 26 Nov 2022 13:34:44 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id VFGNCPQVgmObEAAAMHmgww (envelope-from ) for ; Sat, 26 Nov 2022 13:34:44 +0000 Message-ID: <4b45797c-fe8b-bcf9-a37a-a5fd910f3cdf@suse.de> Date: Sat, 26 Nov 2022 14:34:42 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.2 Subject: [PING] [PATCH] [gdb/server] Emit warning for SIGINT failure Content-Language: en-US To: gdb-patches@sourceware.org References: <20221109203258.26431-1-tdevries@suse.de> From: Tom de Vries In-Reply-To: <20221109203258.26431-1-tdevries@suse.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 11/9/22 21:32, Tom de Vries via Gdb-patches wrote: > Consider the executable from test-case gdb.base/interrupt-daemon.exp. > > When starting it using gdbserver: > ... > $ ./build/gdbserver/gdbserver localhost:2345 \ > ./outputs/gdb.base/interrupt-daemon/interrupt-daemon > ... > and connecting to it using gdb: > ... > $ gdb -q -ex "target remote localhost:2345" \ > -ex "set follow-fork-mode child" \ > -ex "break daemon_main" -ex cont > ... > we are setup to do the same as in the test-case: interrupt a running inferior > using ^C. > > So let's try: > ... > (gdb) continue > Continuing. > ^C > ... > After pressing ^C, nothing happens. This a known problem, filed as > PR remote/18772. > > The problem is that in linux_process_target::request_interrupt, a kill is used > to send a SIGINT, but it fails. And it fails silently. > > Make the failure verbose by adding a warning, such that the gdbserver output > becomes more helpful: > ... > Process interrupt-daemon created; pid = 15068 > Listening on port 2345 > Remote debugging from host ::1, port 35148 > Detaching from process 15068 > Detaching from process 15085 > gdbserver: Sending SIGINT to process group of pid 15068 failed: \ > No such process > ... > > Note that the failure can easily be reproduced using the test-case and target > board native-gdbserver: > ... > (gdb) continue^M > Continuing.^M > PASS: gdb.base/interrupt-daemon.exp: fg: continue > ^CFAIL: gdb.base/interrupt-daemon.exp: fg: ctrl-c stops process (timeout) > ... > as reported in PR server/23382. > > Tested on x86_64-linux. Ping. Thanks, - Tom > --- > gdbserver/linux-low.cc | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/gdbserver/linux-low.cc b/gdbserver/linux-low.cc > index 0cbfeb99086..f4df02d3ac9 100644 > --- a/gdbserver/linux-low.cc > +++ b/gdbserver/linux-low.cc > @@ -5467,7 +5467,10 @@ linux_process_target::request_interrupt () > { > /* Send a SIGINT to the process group. This acts just like the user > typed a ^C on the controlling terminal. */ > - ::kill (-signal_pid, SIGINT); > + int res = ::kill (-signal_pid, SIGINT); > + if (res == -1) > + warning (_("Sending SIGINT to process group of pid %ld failed: %s"), > + signal_pid, safe_strerror (errno)); > } > > bool > > base-commit: 3abad2f6a637a0c56af70311d94ec66eea1b4852