Preparing for the next release: call for testing
Mike Frysinger
vapier at gentoo.org
Fri Feb 27 04:31:59 UTC 2015
On 27 Feb 2015 05:30, Dmitry V. Levin wrote:
> On Thu, Feb 26, 2015 at 05:56:43PM -0500, Mike Frysinger wrote:
> > detach-stopped.test.tmp contains just this:
> > Process 1267 attached
> > restart_syscall(<... resuming interrupted call ...>
>
> That is, either "kill -STOP" failed to stop "sleep" or PTRACE_EVENT_STOP
> hasn't been delivered to strace. How could it be?
tl;dr: sent you a patch
doing it by hand shows the same behavior:
$ ./set_ptracer_any sleep 100000 &
$ kill -STOP $!
$ ../strace -p $!
Process 21534 attached
restart_syscall(<... resuming interrupted call ...>^CProcess 21534 detached
<detached ...>
if i use previous versions, it works:
$ strace -V
strace -- version 4.6
$ strace -p $!
Process 21534 attached - interrupt to quit
--- {si_signo=SIGSTOP, si_code=SI_USER, si_value={int=4294303860, ptr=0xfff5e074}} (Stopped (signal)) ---
--- Stopped (signal) by SIGSTOP ---
restart_syscall(<... resuming interrupted call ...>^C <unfinished ...>
Process 21534 detached
$ strace -V
strace -- version 4.9
$ strace -p $!
Process 21534 attached
--- stopped by SIGSTOP ---
^CProcess 21534 detached
bisecting shows fadf379b8e3618585cecad447867af27930ac5e3. which looks a little
odd, but seems pretty reliable on my end. reverting defs.h & strace.c in that
patch gets me a working version. diving further, this gets me a working
version with ToT:
--- a/strace.c
+++ b/strace.c
@@ -45,6 +45,9 @@
#include "ptrace.h"
+#undef PTRACE_EVENT_STOP
+#define PTRACE_EVENT_STOP 128
+
/* In some libc, these aren't declared. Do it ourself: */
extern char **environ;
extern int optind;
this is because the linux-headers i have come from linux-3.3 and do:
/usr/include/linux/ptrace.h:#define PTRACE_EVENT_STOP 7
looking at the kernel history, this value was broken in linux 3.1, 3.2, and 3.3.
it was fixed here for 3.4:
commit 5cdf389aee90109e2e3d88085dea4dd5508a3be7
Author: Denys Vlasenko <vda.linux at googlemail.com>
Date: Fri Mar 23 15:02:42 2012 -0700
ptrace: renumber PTRACE_EVENT_STOP so that future new options and events can match
i guess my decision to try and keep a variety of toolchain/kernel versions has
paid off :).
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20150226/f5765715/attachment.bin>
More information about the Strace-devel
mailing list