Bug 23260 - SystemTap usage appears to adversely affect GDB breakpoint functionality
Summary: SystemTap usage appears to adversely affect GDB breakpoint functionality
Status: RESOLVED MOVED
Alias: None
Product: systemtap
Classification: Unclassified
Component: kprobes (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Unassigned
URL:
Keywords:
Depends on:
Blocks: 25580
  Show dependency treegraph
 
Reported: 2018-06-05 18:05 UTC by Andrew W
Modified: 2020-07-09 18:34 UTC (History)
3 users (show)

See Also:
Host:
Target:
Build:
Last reconfirmed: 2018-07-25 00:00:00


Attachments
'stap-report' script output (44.42 KB, text/plain)
2018-06-05 18:05 UTC, Andrew W
Details
hello-world Go binary (514.39 KB, application/octet-stream)
2018-06-05 18:08 UTC, Andrew W
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew W 2018-06-05 18:05:57 UTC
Created attachment 11053 [details]
'stap-report' script output

I've experienced several issues with GDB being unable to successfully resume execution from a breakpoint after running a SystemTap script that sets the target PID to the PID of the process being debugged.  I wouldn't think that SystemTap should have any affect on user-space processes, so this behavior seems unusual.

I'm using the strace.stp script from: https://sourceware.org/systemtap/examples/process/strace.stp

The first issue is that it causes a SegFault in the debugged process, and then makes GDB hang when trying to quit.  Steps to reproduce:

$ cat hello-world.go 
package main
import "fmt"
func main() {
    fmt.Println("hello world")
}
$ GOOS=linux GOARCH=386 go build hello-world.go
$ gdb ./hello-world 
GNU gdb (Ubuntu 8.0.1-0ubuntu1) 8.0.1
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
...
(gdb) info files
Symbols from "/home/zelda/hello-world".
Local exec file:
	`/home/zelda/hello-world', file type elf32-i386.
	Entry point: 0x808ccd0
	0x08049000 - 0x080b2693 is .text
	0x080b3000 - 0x080dc5bf is .rodata
	0x080dc6e0 - 0x080dd170 is .typelink
	0x080dd170 - 0x080dd18c is .itablink
	0x080dd18c - 0x080dd18c is .gosymtab
	0x080dd1a0 - 0x08115c38 is .gopclntab
	0x08116000 - 0x08117ea8 is .noptrdata
	0x08117ec0 - 0x08118d48 is .data
	0x08118d60 - 0x08128c90 is .bss
	0x08128ca0 - 0x0812c740 is .noptrbss
	0x08048fc8 - 0x08049000 is .note.go.buildid
(gdb) break *0x808ccd0
Breakpoint 1 at 0x808ccd0: file /usr/lib/go-1.8/src/runtime/rt0_linux_386.s, line 7.
(gdb) run
Starting program: /home/zelda/hello-world 

Breakpoint 1, _rt0_386_linux () at /usr/lib/go-1.8/src/runtime/rt0_linux_386.s:7
7	TEXT _rt0_386_linux(SB),NOSPLIT,$8
(gdb) 


[ in another terminal ]

$ ps auwx | grep hello-world
zelda     50724  0.3  2.6  77000 26240 pts/0    S+   10:40   0:00 gdb ./hello-world
zelda     50726  0.0  0.0   1068    28 pts/0    t    10:40   0:00 /home/zelda/hello-world
$ sudo ./strace.stp -x 50726 -v
[sudo] password for zelda: 
Pass 1: parsed user script and 465 library scripts using 119608virt/48680res/6564shr/42420data kb, in 100usr/70sys/284real ms.
Pass 2: analyzed script: 1116 probes, 207 functions, 104 embeds, 108 globals using 311240virt/239868res/6128shr/234052data kb, in 21520usr/1620sys/24523real ms.
Pass 3: using cached /home/zelda/.systemtap/cache/d8/stap_d818fbd70c3715a1fd7b14bb09462536_1079724.c
Pass 4: using cached /home/zelda/.systemtap/cache/d8/stap_d818fbd70c3715a1fd7b14bb09462536_1079724.ko
Pass 5: starting run.
>Tue Jun  5 17:43:26 2018.716248 set_thread_area({entry_number=4294967295, base_addr=135369916, limit=1048575, seg_32bit=1, contents=0, read_exec_only=0, limit_in_pages=1, seg_not_present=0, useable=1, lm=0}) = 0
>Tue Jun  5 17:43:26 2018.717161 sched_getaffinity(0, 8192, 0xffffb184) = 16
>Tue Jun  5 17:43:26 2018.717193 mmap2(0x8200000, 807411712, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x8200000
>Tue Jun  5 17:43:26 2018.717225 mmap2(0x0, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7fb9000
>Tue Jun  5 17:43:26 2018.717256 mmap2(0x18400000, 1048576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x18400000
>Tue Jun  5 17:43:26 2018.717270 mmap2(0x16bb0000, 25493504, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x16bb0000
>Tue Jun  5 17:43:26 2018.717277 mmap2(0x8200000, 200704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x8200000
>Tue Jun  5 17:43:26 2018.717284 mmap2(0x0, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7fa9000
>Tue Jun  5 17:43:26 2018.717299 clock_gettime(CLOCK_MONOTONIC, 0xffffcf0c) = 0
>Tue Jun  5 17:43:26 2018.717312 mmap2(0x0, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7f99000
>Tue Jun  5 17:43:26 2018.717332 clock_gettime(CLOCK_MONOTONIC, 0xffffd10c) = 0
>Tue Jun  5 17:43:26 2018.717336 clock_gettime(CLOCK_MONOTONIC, 0xffffd10c) = 0
>Tue Jun  5 17:43:26 2018.717340 clock_gettime(CLOCK_MONOTONIC, 0xffffd10c) = 0
>Tue Jun  5 17:43:26 2018.717344 clock_gettime(CLOCK_MONOTONIC, 0xffffd10c) = 0
>Tue Jun  5 17:43:26 2018.717348 clock_gettime(CLOCK_MONOTONIC, 0xffffd10c) = 0
>Tue Jun  5 17:43:26 2018.717351 clock_gettime(CLOCK_MONOTONIC, 0xffffd10c) = 0
>Tue Jun  5 17:43:26 2018.717355 clock_gettime(CLOCK_MONOTONIC, 0xffffd10c) = 0
>Tue Jun  5 17:43:26 2018.717358 clock_gettime(CLOCK_MONOTONIC, 0xffffd10c) = 0
>Tue Jun  5 17:43:26 2018.717362 clock_gettime(CLOCK_MONOTONIC, 0xffffd10c) = 0
>Tue Jun  5 17:43:26 2018.717366 clock_gettime(CLOCK_MONOTONIC, 0xffffd10c) = 0
>Tue Jun  5 17:43:26 2018.717369 clock_gettime(CLOCK_MONOTONIC, 0xffffd10c) = 0
>Tue Jun  5 17:43:26 2018.717373 clock_gettime(CLOCK_MONOTONIC, 0xffffd10c) = 0
>Tue Jun  5 17:43:26 2018.717686 rt_sigprocmask(SIG_SETMASK, NULL, 0x81194b0, 8) = 0
>Tue Jun  5 17:43:26 2018.717730 clock_gettime(CLOCK_MONOTONIC, 0xffffd158) = 0
>Tue Jun  5 17:43:26 2018.717737 clock_gettime(CLOCK_MONOTONIC, 0xffffd0fc) = 0
>Tue Jun  5 17:43:26 2018.717771 sigaltstack(0x0, 0xffffd15c) = 0
>Tue Jun  5 17:43:26 2018.717779 sigaltstack({ss_sp=0x18402000, ss_flags=0x0, ss_size=32720}, 0x0) = 0
>Tue Jun  5 17:43:26 2018.717786 rt_sigprocmask(SIG_SETMASK, [EMPTY], 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.717791 gettid() = 50726
>Tue Jun  5 17:43:26 2018.717799 rt_sigaction(SIGHUP, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.717818 rt_sigaction(SIGHUP, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.717824 rt_sigaction(SIGINT, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.717839 rt_sigaction(SIGINT, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.717845 rt_sigaction(SIGQUIT, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.717860 rt_sigaction(SIGQUIT, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.717865 rt_sigaction(SIGILL, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.717880 rt_sigaction(SIGILL, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.717885 rt_sigaction(SIGTRAP, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.717900 rt_sigaction(SIGTRAP, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.717905 rt_sigaction(SIGABRT, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.717920 rt_sigaction(SIGABRT, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.717925 rt_sigaction(SIGBUS, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.717940 rt_sigaction(SIGBUS, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.717945 rt_sigaction(SIGFPE, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.717960 rt_sigaction(SIGFPE, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.717965 rt_sigaction(SIGUSR1, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.717980 rt_sigaction(SIGUSR1, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.717985 rt_sigaction(SIGSEGV, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718000 rt_sigaction(SIGSEGV, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718005 rt_sigaction(SIGUSR2, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718020 rt_sigaction(SIGUSR2, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718026 rt_sigaction(SIGPIPE, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718040 rt_sigaction(SIGPIPE, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718046 rt_sigaction(SIGALRM, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718060 rt_sigaction(SIGALRM, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718066 rt_sigaction(SIGTERM, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718080 rt_sigaction(SIGTERM, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718086 rt_sigaction(0x10, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718101 rt_sigaction(0x10, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718106 rt_sigaction(SIGCHLD, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718121 rt_sigaction(SIGCHLD, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718126 rt_sigaction(SIGURG, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718141 rt_sigaction(SIGURG, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718146 rt_sigaction(SIGXCPU, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718161 rt_sigaction(SIGXCPU, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718166 rt_sigaction(SIGXFSZ, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718181 rt_sigaction(SIGXFSZ, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718187 rt_sigaction(SIGVTALRM, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718202 rt_sigaction(SIGVTALRM, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718207 rt_sigaction(SIGPROF, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718222 rt_sigaction(SIGPROF, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718227 rt_sigaction(SIGWINCH, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718242 rt_sigaction(SIGWINCH, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718248 rt_sigaction(SIGIO/SIGPOLL, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718262 rt_sigaction(SIGIO/SIGPOLL, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718268 rt_sigaction(SIGPWR, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718283 rt_sigaction(SIGPWR, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718288 rt_sigaction(SIGSYS, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718303 rt_sigaction(SIGSYS, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718308 rt_sigaction(0x20, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718312 rt_sigaction(0x21, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718316 rt_sigaction(0x22, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718342 rt_sigaction(0x22, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718347 rt_sigaction(0x23, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718359 rt_sigaction(0x23, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718364 rt_sigaction(0x24, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718376 rt_sigaction(0x24, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718380 rt_sigaction(0x25, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718392 rt_sigaction(0x25, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718396 rt_sigaction(0x26, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718409 rt_sigaction(0x26, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718413 rt_sigaction(0x27, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718425 rt_sigaction(0x27, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718446 rt_sigaction(0x28, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718459 rt_sigaction(0x28, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718463 rt_sigaction(0x29, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718475 rt_sigaction(0x29, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718480 rt_sigaction(0x2a, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718492 rt_sigaction(0x2a, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718496 rt_sigaction(0x2b, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718508 rt_sigaction(0x2b, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718513 rt_sigaction(0x2c, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718525 rt_sigaction(0x2c, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718529 rt_sigaction(0x2d, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718541 rt_sigaction(0x2d, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718546 rt_sigaction(0x2e, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718558 rt_sigaction(0x2e, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718562 rt_sigaction(0x2f, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718574 rt_sigaction(0x2f, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718579 rt_sigaction(0x30, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718591 rt_sigaction(0x30, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718596 rt_sigaction(0x31, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718608 rt_sigaction(0x31, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718612 rt_sigaction(0x32, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718624 rt_sigaction(0x32, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718629 rt_sigaction(0x33, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718641 rt_sigaction(0x33, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718645 rt_sigaction(0x34, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718657 rt_sigaction(0x34, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718662 rt_sigaction(0x35, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718674 rt_sigaction(0x35, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718678 rt_sigaction(0x36, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718691 rt_sigaction(0x36, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718695 rt_sigaction(0x37, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718707 rt_sigaction(0x37, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718711 rt_sigaction(0x38, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718724 rt_sigaction(0x38, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718728 rt_sigaction(0x39, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718740 rt_sigaction(0x39, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718744 rt_sigaction(0x3a, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718757 rt_sigaction(0x3a, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718761 rt_sigaction(0x3b, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718773 rt_sigaction(0x3b, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718777 rt_sigaction(0x3c, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718790 rt_sigaction(0x3c, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718794 rt_sigaction(0x3d, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718806 rt_sigaction(0x3d, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718810 rt_sigaction(0x3e, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718822 rt_sigaction(0x3e, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718827 rt_sigaction(0x3f, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718839 rt_sigaction(0x3f, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718843 rt_sigaction(0x40, {NULL}, 0xffffd144, 8) = 0
>Tue Jun  5 17:43:26 2018.718856 rt_sigaction(0x40, {0x808cfa0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x808d000, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
>Tue Jun  5 17:43:26 2018.718862 clock_gettime(CLOCK_MONOTONIC, 0x184247ac) = 0
>Tue Jun  5 17:43:26 2018.718892 rt_sigprocmask(SIG_SETMASK, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS], 0xffffd130, 8) = 0
>Tue Jun  5 17:43:26 2018.718901 clone(CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD, 0x18437ff0, 0x0, 0x0) = 50742


[ In the original terminal ]

(gdb) c
Continuing.

Breakpoint 1, _rt0_386_linux () at /usr/lib/go-1.8/src/runtime/rt0_linux_386.s:7
7	TEXT _rt0_386_linux(SB),NOSPLIT,$8
(gdb) c
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0x080687db in runtime.sysargs (argc=134645408, argv=0xffffd110) at /usr/lib/go-1.8/src/runtime/os_linux.go:199
199		for argv_index(argv, n) != nil {
(gdb) quit
A debugging session is active.

	Inferior 1 [process 50726] will be killed.

Quit anyway? (y or n) y
Killed


It's interesting that once stap starts up you see activity from the process, since it's execution is haulted by the debugger.


The second issue is likely related but I haven't been able to reproduce it with a simple binary.  In that scenario, I Ctrl+C to break at some point in a program, load up strace.stp as shown above, and then get the following error in GDB when trying to continue:

...
[Switching to LWP 44322]
[Switching to LWP 44328]
[Switching to LWP 44322]
[Switching to LWP 44328]
[Switching to LWP 44322]
^C
Thread 1 "d08615d6c29ea77" received signal SIGINT, Interrupt.
0x08092e9f in ?? ()
(gdb)

[ Start up strace.stp in another terminal ]

(gdb) c
Continuing.
Warning:
Cannot insert breakpoint 2.
Cannot access memory at address 0x821e371
Cannot insert breakpoint 3.
Cannot access memory at address 0x821e546
Cannot insert breakpoint 1.
Cannot access memory at address 0x821e68d

Command aborted.
(gdb) 

Breakpoints 1, 2, and 3 are ones that I set via a .gdbinit script to modify the program state at certain points (without returning back to the gdb shell).  I can share that program, .gdbinit, and steps to reproduce, but unfortunately the program is linux malware and I don't want it to be publicly available from this ticket.
Comment 1 Andrew W 2018-06-05 18:08:41 UTC
Created attachment 11054 [details]
hello-world Go binary
Comment 2 Frank Ch. Eigler 2018-06-06 17:58:35 UTC
It doesn't make sense.  I wonder if the gdb case tickles some kernel problems, or maybe violates expectations of the golang runtime -- maybe only pausing a few threads rather them all?  I wonder if a perf-probe set attached to the same probe points can demonstrate the problem (vs. systemtap).  See scripts/stap2perf and/or stap -DALIBI.
Comment 3 Andrew W 2018-06-08 22:01:47 UTC
I wasn't able to get the stap2perf working correctly with the strace.stp script, but I did run "sudo perf record -e 'syscalls:sys_enter_*' -p <hello-world pid>" while gdb was stopped at the breakpoint, and running 'continue' afterward, the hello-world program finished successfully.  Also, I confirmed that running stap with -DALIBI did not prevent the issue from occurring.

I did some more debugging with https://sourceware.org/systemtap/examples/process/sigmon.stp (with the if condition removed) and also found a way to reproduce the second issue described above (using a 64-bit build of the hello-world program this time):

$ gdb ./hello-world
GNU gdb (Ubuntu 8.0.1-0ubuntu1) 8.0.1
[ ... ]
(gdb) info files
Symbols from "/home/zelda/Desktop/hello-world".
Local exec file:
	`/home/zelda/Desktop/hello-world', file type elf64-x86-64.
	Entry point: 0x44e370
	0x0000000000401000 - 0x000000000047b8ab is .text
	0x000000000047c000 - 0x00000000004afd75 is .rodata
	0x00000000004afea0 - 0x00000000004b09dc is .typelink
	0x00000000004b09e0 - 0x00000000004b0a18 is .itablink
	0x00000000004b0a18 - 0x00000000004b0a18 is .gosymtab
	0x00000000004b0a20 - 0x00000000004f53b3 is .gopclntab
	0x00000000004f6000 - 0x00000000004f84c8 is .noptrdata
	0x00000000004f84e0 - 0x00000000004fa1f0 is .data
	0x00000000004fa200 - 0x0000000000514b08 is .bss
	0x0000000000514b20 - 0x00000000005191c0 is .noptrbss
	0x0000000000400fc8 - 0x0000000000401000 is .note.go.buildid
(gdb) break *0x44e370
Breakpoint 1 at 0x44e370: file /usr/lib/go-1.8/src/runtime/rt0_linux_amd64.s, line 8.
(gdb) run
Starting program: /home/zelda/Desktop/hello-world 

Breakpoint 1, _rt0_amd64_linux ()
    at /usr/lib/go-1.8/src/runtime/rt0_linux_amd64.s:8
8		LEAQ	8(SP), SI // argv
(gdb)


[ In a second terminal: ]

$ ps -eL -o pid,ppid,lwp,stat,nlwp,cmd | awk 'NR==1 || /\/home\/zelda\/Desktop\/hello-world/'
   PID   PPID    LWP STAT NLWP CMD
 49663  49118  49663 t       1 /home/zelda/Desktop/hello-world


[ In a third terminal: ]

$ sudo stap --suppress-handler-errors --skip-badvars strace.stp -x 49663 -v
Pass 1: parsed user script and 465 library scripts using 119616virt/48792res/6676shr/42428data kb, in 100usr/50sys/181real ms.
Pass 2: analyzed script: 1116 probes, 207 functions, 104 embeds, 108 globals using 311348virt/241716res/7876shr/234160data kb, in 23180usr/850sys/25056real ms.
Pass 3: using cached /home/zelda/.systemtap/cache/02/stap_027e862ab47a5cdf6a07ae0b1c596ae7_1079724.c
Pass 4: using cached /home/zelda/.systemtap/cache/02/stap_027e862ab47a5cdf6a07ae0b1c596ae7_1079724.ko
Pass 5: starting run.
Fri Jun  8 20:59:17 2018.167252 arch_prctl(ARCH_SET_FS, 5222056) = 0
Fri Jun  8 20:59:17 2018.168042 sched_getaffinity(0, 8192, 0x7fffffffc078) = 16
Fri Jun  8 20:59:17 2018.168409 mmap2(0xc000000000, 65536, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xc000000000
Fri Jun  8 20:59:17 2018.168421 munmap(0xc000000000, 65536) = 0
Fri Jun  8 20:59:17 2018.168445 mmap2(0x0, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff7fba000
Fri Jun  8 20:59:17 2018.168604 mmap2(0xc420000000, 1048576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xc420000000
Fri Jun  8 20:59:17 2018.168613 mmap2(0xc41fff8000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xc41fff8000
Fri Jun  8 20:59:17 2018.168618 mmap2(0xc000000000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xc000000000
Fri Jun  8 20:59:17 2018.168622 mmap2(0x0, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff7faa000
Fri Jun  8 20:59:17 2018.168642 mmap2(0x0, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffff7f9a000
Fri Jun  8 20:59:17 2018.168923 rt_sigprocmask(SIG_SETMASK, NULL, 0x4fae98, 8) = 0
Fri Jun  8 20:59:17 2018.169039 sigaltstack(0x0, 0x7fffffffe010) = 0
Fri Jun  8 20:59:17 2018.169046 sigaltstack({ss_sp=0xc420002000, ss_flags=0x0, ss_size=32672}, 0x0) = 0
Fri Jun  8 20:59:17 2018.169052 rt_sigprocmask(SIG_SETMASK, [EMPTY], 0x0, 8) = 0
Fri Jun  8 20:59:17 2018.169056 gettid() = 49663
Fri Jun  8 20:59:17 2018.169063 rt_sigaction(SIGHUP, {NULL}, 0x7fffffffdfe8, 8) = 0
Fri Jun  8 20:59:17 2018.169081 rt_sigaction(SIGHUP, {0x44e6f0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x44e820, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
[ ... ]
Fri Jun  8 20:59:17 2018.169864 rt_sigaction(0x40, {NULL}, 0x7fffffffdfe8, 8) = 0
Fri Jun  8 20:59:17 2018.169874 rt_sigaction(0x40, {0x44e6f0, SA_ONSTACK|SA_RESTART|SA_SIGINFO|SA_RESTORER, 0x44e820, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS]}, 0x0, 8) = 0
Fri Jun  8 20:59:17 2018.169897 rt_sigprocmask(SIG_SETMASK, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS], 0x7fffffffdfb8, 8) = 0


[ Printed by sigmon.stp when strace.stp starts: ]

SPID     SNAME            RPID  RNAME            SIGNUM SIGNAME         
...
49663    hello-world      49118 gdb              17     SIGCHLD         
49663    hello-world      49118 gdb              17     SIGCHLD         


[ In the second terminal, notice the new LWP: ]

$ ps -eL -o pid,ppid,lwp,stat,nlwp,cmd | awk 'NR==1 || /\/home\/zelda\/Desktop\/hello-world/'
   PID   PPID    LWP STAT NLWP CMD
 49663  49118  49663 tl      2 /home/zelda/Desktop/hello-world
 49663  49118  49672 tl      2 /home/zelda/Desktop/hello-world


[ In the third terminal, Control-C the running stap and rerun: ]

$ sudo stap --suppress-handler-errors --skip-badvars strace.stp -x 49663 -v
Pass 1: parsed user script and 465 library scripts using 119616virt/48708res/6588shr/42428data kb, in 90usr/50sys/180real ms.
Pass 2: analyzed script: 1116 probes, 207 functions, 104 embeds, 108 globals using 311348virt/241568res/7720shr/234160data kb, in 21960usr/880sys/24094real ms.
Pass 3: using cached /home/zelda/.systemtap/cache/02/stap_027e862ab47a5cdf6a07ae0b1c596ae7_1079724.c
Pass 4: using cached /home/zelda/.systemtap/cache/02/stap_027e862ab47a5cdf6a07ae0b1c596ae7_1079724.ko
Pass 5: starting run.
Fri Jun  8 21:01:52 2018.772129 rt_sigprocmask(SIG_SETMASK, [EMPTY], 0x0, 8) = 0
Fri Jun  8 21:01:52 2018.773622 rt_sigprocmask(SIG_SETMASK, [SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGPIPE|SIGUSR2|SIGALRM|SIGTERM|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO/SIGPOLL|SIGPWR|SIGSYS], 0x7fffffffdee8, 8) = 0


[ Printed again by sigmon.stp: ]

SPID     SNAME            RPID  RNAME            SIGNUM SIGNAME         
...
49663    hello-world      49118 gdb              17     SIGCHLD         
49663    hello-world      49118 gdb              17     SIGCHLD       


[ In the second terminal, notice the new LWP: ]

$ ps -eL -o pid,ppid,lwp,stat,nlwp,cmd | awk 'NR==1 || /\/home\/zelda\/Desktop\/hello-world/'
   PID   PPID    LWP STAT NLWP CMD
 49663  49118  49663 tl      3 /home/zelda/Desktop/hello-world
 49663  49118  49672 tl      3 /home/zelda/Desktop/hello-world
 49663  49118  49691 tl      3 /home/zelda/Desktop/hello-world


[ In the third terminal, Control-C the running stap and rerun: ]

zelda@hyrule:~/Desktop$ sudo stap --suppress-handler-errors --skip-badvars strace.stp -x 49663 -v
Pass 1: parsed user script and 465 library scripts using 119612virt/48624res/6504shr/42424data kb, in 90usr/60sys/181real ms.
Pass 2: analyzed script: 1116 probes, 207 functions, 104 embeds, 108 globals using 311344virt/241252res/7408shr/234156data kb, in 22270usr/910sys/27506real ms.
Pass 3: using cached /home/zelda/.systemtap/cache/02/stap_027e862ab47a5cdf6a07ae0b1c596ae7_1079724.c
Pass 4: using cached /home/zelda/.systemtap/cache/02/stap_027e862ab47a5cdf6a07ae0b1c596ae7_1079724.ko
Pass 5: starting run.
Fri Jun  8 21:04:54 2018.291180 rt_sigprocmask(SIG_SETMASK, [EMPTY], 0x0, 8) = 0


[ sigmon.stp indicates that no signals were sent to GDB ]


[ In the second terminal, notice the STAT change to the first process: ]

$ ps -eL -o pid,ppid,lwp,stat,nlwp,cmd | awk 'NR==1 || /\/home\/zelda\/Desktop\/hello-world/'
   PID   PPID    LWP STAT NLWP CMD
 49663  49118  49663 Sl      3 /home/zelda/Desktop/hello-world
 49663  49118  49672 tl      3 /home/zelda/Desktop/hello-world
 49663  49118  49691 tl      3 /home/zelda/Desktop/hello-world


[ In the original terminal running gdb: ]

(gdb) c
Continuing.
Warning:
Cannot insert breakpoint 1.
Cannot access memory at address 0x44e370

Command aborted.
(gdb) 



One other thing worth mentioning is that I ran strace.stp against the gdb process itself as well, and when stopped at the breakpoint and strace.stp runs for the first time against the child process, the following output is observed:

Fri Jun  8 19:22:23 2018.502985 rt_sigreturn() = -4 (EINTR)
Fri Jun  8 19:22:23 2018.502995 rt_sigreturn() = -4 (EINTR)
Fri Jun  8 19:22:23 2018.503581 read(5, 0x7fff65f9e207, 1) = -11 (EAGAIN)
Fri Jun  8 19:22:23 2018.503781 poll(0x56433c570cb0, 4, 0) = 0
Fri Jun  8 19:22:23 2018.503793 poll(0x56433c570cb0, 4, -1) = 1

This seems odd, since the rt_sigreturn man page indicates that the function doesn't return.
Comment 4 Andrew W 2018-07-19 15:59:48 UTC
Just to follow-up on this, the issue also affects C binaries as well, but in a different way.  For the program below:

int main()
{
    return 1;
}

$ gcc main.c

$ gdb ./a.out
GNU gdb (Ubuntu 8.0.1-0ubuntu1) 8.0.1
...
This GDB was configured as "x86_64-linux-gnu".
...
Reading symbols from ./a.out...(no debugging symbols found)...done.
(gdb) break _start
Breakpoint 1 at 0x4f0
(gdb) run
Starting program: /home/zelda/Desktop/a.out 

Breakpoint 1, 0x00005555555544f0 in _start ()
(gdb) 

[In a second terminal]

$ ps -eL -o pid,ppid,lwp,stat,nlwp,cmd | awk 'NR==1 || /\/home\/zelda\/Desktop\/a.out/'
   PID   PPID    LWP STAT NLWP CMD
 56346  56342  56346 t       1 /home/zelda/Desktop/a.out

$ sudo stap --suppress-handler-errors --skip-badvars strace.stp -x 56346 -v
Pass 1: parsed user script and 465 library scripts using 119616virt/48552res/6432shr/42428data kb, in 90usr/90sys/286real ms.
Pass 2: analyzed script: 1116 probes, 207 functions, 104 embeds, 108 globals using 311348virt/239224res/5376shr/234160data kb, in 22240usr/1320sys/26099real ms.
Pass 3: using cached /home/zelda/.systemtap/cache/02/stap_027e862ab47a5cdf6a07ae0b1c596ae7_1079724.c
Pass 4: using cached /home/zelda/.systemtap/cache/02/stap_027e862ab47a5cdf6a07ae0b1c596ae7_1079724.ko
Pass 5: starting run.
Thu Jul 19 15:47:35 2018.405124 exit_group(1) = 

[ In a third terminal, you can see the process is no longer running ]

$ ps -eL -o pid,ppid,lwp,stat,nlwp,cmd | awk 'NR==1 || /\/home\/zelda\/Desktop\/a.out/'
   PID   PPID    LWP STAT NLWP CMD
$

[ In the first terminal ]

(gdb) c
Continuing.
Warning:
Cannot insert breakpoint 1.
Cannot access memory at address 0x5555555544f0
Cannot insert breakpoint -2.
Temporarily disabling shared library breakpoints:
breakpoint #-2
breakpoint #-5
breakpoint #-7
Comment 5 Frank Ch. Eigler 2018-07-25 20:50:33 UTC
Was able to reproduce a close variant of this here on fedora27 x86-64 (stap 3.3, kernel 4.16.13).  What may be going on here is that when systemtap runs with a designated target process, it may stop & resume it briefly, to make sure it can emplace any relevant uprobes and properly enumerate all its threads.  It could be that this logic fails to interoperate properly with a process already stuck in a ptrace stop (T state).
Comment 6 Aaron Merey 2020-07-09 18:34:15 UTC
I was able to reproduce this issue using perf and uprobes so it seems that this issue isn't due to systemtap itself. I'm closing this bug but I've opened a similar one here: https://bugzilla.redhat.com/show_bug.cgi?id=1855390