[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/52117: ptrace(2) PTRACE_FORK fails on some platforms
The following reply was made to PR kern/52117; it has been noted by GNATS.
From: "Kamil Rytarowski" <n54%gmx.com@localhost>
Subject: Re: kern/52117: ptrace(2) PTRACE_FORK fails on some platforms
Date: Tue, 28 Mar 2017 14:56:53 +0200
Example taken from evbarm:
Test case: kernel/t_ptrace_wait4/fork1
Duration: 0.030507 seconds
FAILED: /usr/src/tests/kernel/t_ptrace_wait.h:295: Reported exited process
Standard output stream
Before forking process PID=12298
Parent process PID=12298, child's PID=19554
Before calling PT_TRACE_ME from child 19554
Before calling wait4() for the child
Before raising Stopped (signal) from child
Enable PTRACE_FORK in EVENT_MASK for the child 19554
Before resuming the child process where it left off and without signal to be sent
Before calling wait4() for the child 19554
Reported PTRACE_FORK event with forkee 11702
Before calling wait4() for the forkee 11702 of the child 19554
It means that fork(2) must generate two SIGTAP events:
- first for child (traced parent) with TRAP_CHLD, pe_report_event=PTRACE_FORK, pe_other_pid=child2
- second for child2 (traced child of child) with TRAP_CHLD, pe_report_event=PTRACE_FORK, pe_other_pid=child
The test waits infinitely for the second SIGRAP.
There is a hand-shake for forking.
Debuggers calls wait*(2) twice, one after another, without operation of resuming
its traced processes between the wait*(2) calls.
Main Index |
Thread Index |