On Mon, 05 Oct 2009 04:32:08 +0200, Oleg Nesterov wrote:
[...]
> Firstly, I think we should un-revert edaba2c5334492f82d39ec35637c6dea5176a977.
> This unconditional wakeup is hopelessly wrong imho, and it is removed
> from utrace-ptrace code. But this breaks another test-case,
> attach-wait-on-stopped. I still think this test-case is wrong.
> We had a lengthy discussion about this.
>
> Now, this patch
>
> --- TTT_32/kernel/signal.c~PT_STOP 2009-10-04 04:08:36.000000000
> +0200
> +++ TTT_32/kernel/signal.c 2009-10-05 03:17:39.000000000 +0200
> @@ -1708,7 +1708,7 @@ static int do_signal_stop(int signr)
> */
> if (sig->group_stop_count) {
> if (!--sig->group_stop_count)
> - sig->flags = SIGNAL_STOP_STOPPED;
> + sig->flags = SIGNAL_STOP_STOPPED |
> SIGNAL_STOP_DEQUEUED;
> current->exit_code = sig->group_exit_code;
> __set_current_state(TASK_STOPPED);
> }
>
> fixes the tests above. Of course this change is not enough, I did
> it just to verify I really understand what happens.
>
> Except, stopped-attach-transparency prints
>
> Excessive waiting SIGSTOP after the second attach/detach
>
> afaics the test-case is not right here. attach_detach() leaves the
> traced threads in STOPPED state, why pid_notifying_sigstop() should
> fail?
Tried the patch above:
http://koji.fedoraproject.org/scratch/jkratoch/task_1730038/
but it does not break stopped-attach-transparency for me.
Should I also apply back edaba2c5334492f82d39ec35637c6dea5176a977?
Not sure which combination are you interested in, please provide a patchset or
a koji build if you have a suspection on buggy ptrace testcases.
Thanks,
Jan