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