[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160923140724.GA29476@redhat.com>
Date: Fri, 23 Sep 2016 16:07:24 +0200
From: Oleg Nesterov <oleg@...hat.com>
To: Michal Hocko <mhocko@...nel.org>
Cc: LKML <linux-kernel@...r.kernel.org>,
strace-devel@...ts.sourceforge.net,
Mike Galbraith <umgwanakikbuti@...il.com>,
Aleksa Sarai <asarai@...e.com>
Subject: Re: strace lockup when tracing exec in go
On 09/23, Michal Hocko wrote:
>
> On Fri 23-09-16 15:21:02, Oleg Nesterov wrote:
> >
> > This change is simply wrong no matter what.
>
> I've just tried to extend the existing
>
> /*
> * Tracers may want to know about even ignored signals.
> */
> return !t->ptrace;
>
> but I probably just do not understand what that actually means. I
> thought that the tracer is _really_ interested in hearing about the
> signal.
Yes, the tracer is really interested to know that a signal was sent to
the _tracee_, not the tracer ;)
>
> > We could change do_notify_parent()
> > to call signal_wake_up() if tsk->ptrace, but see above, this won't help.
>
> So does this mean WONTFIX? Can we at least document this behavior? It
> surely is unexpected.
No, no, no. Of course this must be fixed. The only problem is that I still
do not know what should we do. I'll try to return to this problem next week.
I'm afraid we will need to change de_thread() to wait until all other sub-
threads have passed exit_notify() or even exit_signals(), but ooh I don't
like this. Plus in this case we will need to finally define what
PTRACE_EVENT_EXIT should actually do.
Oleg.
Powered by blists - more mailing lists