Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <pedro@palves.net>
To: Konstantin Kharlamov <hi-angel@yandex.ru>,
	gdb-patches@sourceware.org, Eli Zaretskii <eliz@gnu.org>
Subject: Re: [PATCH v2 00/16] Interrupting programs that block/ignore SIGINT
Date: Thu, 24 Jun 2021 19:55:25 +0100	[thread overview]
Message-ID: <bcfdd950-14fd-6cb4-cf30-77276a14b9f6@palves.net> (raw)
In-Reply-To: <1c54ccee2e4a2980b0a0e5b7e50818970662afc2.camel@yandex.ru>

On 2021-06-24 7:12 p.m., Konstantin Kharlamov wrote:
> Hello! I was referred to your patchset from #gdb IRC channel. Presumably,
> someone asked for real world usecases, but I haven't found that question. So I'm
> replying to the top message.

Hi!

> 
> I was recently fixing some bug in Pipewire. To be exact, I was working on
> `pipewire-media-session` (one of daemons that Pipewire is comprised of). Process
> of debugging basically included setting breakpoints somewhere, then hopefully
> triggering the breakpoint, then inspecting the state. Nothing unusual.
> 
> So, the thing that was slowing me down and annoying is that I couldn't just
> pause the debuggee through the usual means of ^C, then add a breakpoint.
> Pressing ^C was causing the process to exit!
> 
> Pipewire project seems to have a number of various daemons, and all of them set
> SIGINT handlers (judging by git-grepping for SIGINT). So basically, it is hard
> to debug Pipewire with GDB due to GDB not being able to interactively pause the
> process.
> 
> Now, I tested the patchset, and I confirm it solves the problem! GDB built from
> the palves' branch pauses pipewire-media-session correctly on ^C!

Awesome!

> With that said, I'm not sure if you need/use that in GDB project, but in any
> case, the series is:
> 
> 	Tested-by: Konstantin Kharlamov <hi-angel@yandex.ru>

We don't typically use it, but it doesn't hurt either!

> FYI, Tom Tromey mentioned¹ that the problem arises when debuggee uses either
> sigwait and signalfd. With git-grep I haven't found matches for sigwait in
> Pipewire, but I found ones for signalfd. I see your top message does not mention
> that your patchset also fixes situation for signalfd usage — but it seems it
> does. So, just for your interest, your patchset might fix even more problems
> than you expected ☺

Ahah, yeah.  Thanks, I didn't remember signalfd.  :-)

  reply	other threads:[~2021-06-24 18:56 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-14 21:23 Pedro Alves
2021-06-14 21:23 ` [PATCH v2 01/16] Test interrupting programs that block SIGINT [gdb/9425, gdb/14559] Pedro Alves
2021-06-14 21:23 ` [PATCH v2 02/16] prefork_hook: Remove 'args' parameter Pedro Alves
2021-06-14 21:23 ` [PATCH v2 03/16] Make gdb.base/long-inferior-output.exp fail fast Pedro Alves
2021-06-14 21:23 ` [PATCH v2 04/16] Fix gdb.multi/multi-term-settings.exp race Pedro Alves
2021-06-14 21:23 ` [PATCH v2 05/16] Don't check parent pid in gdb.threads/{ia64-sigill, siginfo-threads, watchthreads-reorder}.c Pedro Alves
2021-06-14 21:24 ` [PATCH v2 06/16] Special-case "set inferior-tty /dev/tty" Pedro Alves
2021-06-14 21:24 ` [PATCH v2 07/16] Make inferior/GDB share terminal in tests expecting output after detach Pedro Alves
2021-06-14 21:24 ` [PATCH v2 08/16] Make inferior/GDB share terminal in tests that exercise GDB/inferior reading same input Pedro Alves
2021-06-14 21:24 ` [PATCH v2 09/16] gdb.mi/mi-logging.exp, don't send input to GDB while the inferior is running Pedro Alves
2021-06-14 21:24 ` [PATCH v2 10/16] target_terminal::ours_for_output before printing signal received Pedro Alves
2021-06-14 21:24 ` [PATCH v2 11/16] Move scoped_ignore_sigttou to gdbsupport/ Pedro Alves
2021-06-17 21:49   ` Pedro Alves
2021-06-14 21:24 ` [PATCH v2 12/16] Always put inferiors in their own terminal/session [gdb/9425, gdb/14559] Pedro Alves
2021-06-14 21:24 ` [PATCH v2 13/16] exists_non_stop_target: Avoid flushing frames Pedro Alves
2021-06-14 21:24 ` [PATCH v2 14/16] convert previous_inferior_ptid to strong reference to thread_info Pedro Alves
2021-06-14 21:24 ` [PATCH v2 15/16] GNU/Linux: Interrupt/Ctrl-C with SIGSTOP instead of SIGINT [PR gdb/9425, PR gdb/14559] Pedro Alves
2021-07-08 23:05   ` Maciej W. Rozycki
2021-07-13 15:26     ` Pedro Alves
2021-06-14 21:24 ` [PATCH v2 16/16] Document pseudo-terminal and interrupting changes Pedro Alves
2021-06-15 12:56   ` Eli Zaretskii via Gdb-patches
2021-06-16  9:31     ` Pedro Alves
2021-06-16 12:29       ` Eli Zaretskii via Gdb-patches
2021-06-16 10:15     ` Pedro Alves
2021-06-16 12:15       ` Eli Zaretskii via Gdb-patches
2021-06-16 12:26         ` Pedro Alves
2021-06-16 13:05           ` Eli Zaretskii via Gdb-patches
2021-06-15 12:34 ` [PATCH v2 00/16] Interrupting programs that block/ignore SIGINT Eli Zaretskii via Gdb-patches
2021-06-16 11:27   ` Pedro Alves
2021-06-16 12:45     ` Eli Zaretskii via Gdb-patches
2021-06-18 10:12 ` Andrew Burgess
2021-06-24 18:12 ` Konstantin Kharlamov via Gdb-patches
2021-06-24 18:55   ` Pedro Alves [this message]
2021-06-29  1:15     ` Eldar Abusalimov via Gdb-patches

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bcfdd950-14fd-6cb4-cf30-77276a14b9f6@palves.net \
    --to=pedro@palves.net \
    --cc=eliz@gnu.org \
    --cc=gdb-patches@sourceware.org \
    --cc=hi-angel@yandex.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox