delve/pkg/proc/native
Alessandro Arzilli e69d536e81
proc/native: fix flakyness of TestStepConcurrentDirect on linux/386 (#2179)
TestStepConcurrentDirect will occasionally fail (7% of the time on my
setup) by either causing the target processs to execute an invalid
instruction or (more infrequently) by switching to the wrong thread.

Both of those are caused by receiving SIGTRAPs for threads hitting a
breakpoint after it has been removed (the thread hits the breakpoint,
we stop everything and remove the breakpoint and only after we receive
the signal).

Change native.(*nativeProcess).stop to handle SIGTRAPs that can't be
attributed to a breakpoint, a hardcoded breakpoint in the program's
text, or manual stops (and therefore are likely caused by phantom
breakpoint hits).

Co-authored-by: a <a@kra>
2020-11-03 10:28:37 -08:00
..
exc_user_darwin.c proc/native,Makefile: allow compiling on macOS without native backend 2018-10-02 10:46:09 -07:00
exc.h proc: refactoring: split backends to separate packages 2017-04-21 14:00:04 -07:00
exec_darwin.c proc/native,Makefile: allow compiling on macOS without native backend 2018-10-02 10:46:09 -07:00
exec_darwin.h proc/native,Makefile: allow compiling on macOS without native backend 2018-10-02 10:46:09 -07:00
mach_exc_user_darwin.c proc/native,Makefile: allow compiling on macOS without native backend 2018-10-02 10:46:09 -07:00
mach_exc.h proc: refactoring: split backends to separate packages 2017-04-21 14:00:04 -07:00
nonative_darwin.go proc/native: fix flakyness of TestStepConcurrentDirect on linux/386 (#2179) 2020-11-03 10:28:37 -08:00
proc_darwin.c proc/native,Makefile: allow compiling on macOS without native backend 2018-10-02 10:46:09 -07:00
proc_darwin.go proc/native: fix flakyness of TestStepConcurrentDirect on linux/386 (#2179) 2020-11-03 10:28:37 -08:00
proc_darwin.h proc/native,Makefile: allow compiling on macOS without native backend 2018-10-02 10:46:09 -07:00
proc_freebsd.c *: FreeBSD initial support (#1480) 2019-07-12 18:28:04 -07:00
proc_freebsd.go proc/native: fix flakyness of TestStepConcurrentDirect on linux/386 (#2179) 2020-11-03 10:28:37 -08:00
proc_freebsd.h *: FreeBSD initial support (#1480) 2019-07-12 18:28:04 -07:00
proc_linux.go proc/native: fix flakyness of TestStepConcurrentDirect on linux/386 (#2179) 2020-11-03 10:28:37 -08:00
proc_unix.go *: Add --tty flag for debug / exec 2020-04-10 09:53:13 -07:00
proc_windows.go proc/native: fix flakyness of TestStepConcurrentDirect on linux/386 (#2179) 2020-11-03 10:28:37 -08:00
proc.go proc/native: fix flakyness of TestStepConcurrentDirect on linux/386 (#2179) 2020-11-03 10:28:37 -08:00
ptrace_darwin.go *: un-export unnecessarily public symbols 2020-03-31 14:47:29 -07:00
ptrace_freebsd_amd64.c *: FreeBSD initial support (#1480) 2019-07-12 18:28:04 -07:00
ptrace_freebsd_amd64.h *: FreeBSD initial support (#1480) 2019-07-12 18:28:04 -07:00
ptrace_freebsd.go *: un-export unnecessarily public symbols 2020-03-31 14:47:29 -07:00
ptrace_linux_64bit.go *: un-export unnecessarily public symbols 2020-03-31 14:47:29 -07:00
ptrace_linux_386.go *: un-export unnecessarily public symbols 2020-03-31 14:47:29 -07:00
ptrace_linux_amd64.go *: un-export unnecessarily public symbols 2020-03-31 14:47:29 -07:00
ptrace_linux.go *: un-export unnecessarily public symbols 2020-03-31 14:47:29 -07:00
register_linux_386.go proc/*: only load floating point registers when needed (#1981) 2020-05-13 11:56:50 -07:00
registers_darwin_amd64.go proc/*: only load floating point registers when needed (#1981) 2020-05-13 11:56:50 -07:00
registers_freebsd_amd64.go pkg/proc/native: increase max size of XSTATE area to support newer CPUs (#2220) 2020-11-03 07:19:09 -08:00
registers_linux_amd64.go pkg/proc/native: increase max size of XSTATE area to support newer CPUs (#2220) 2020-11-03 07:19:09 -08:00
registers_linux_arm64.go proc/*: only load floating point registers when needed (#1981) 2020-05-13 11:56:50 -07:00
registers_windows_amd64.go proc/*: only load floating point registers when needed (#1981) 2020-05-13 11:56:50 -07:00
support_sentinel.go pkg/proc,service: support linux/386 (#1884) 2020-03-10 09:34:40 -07:00
syscall_windows_amd64.go proc: move windows register handling code to winutil package 2018-11-21 12:17:16 -08:00
syscall_windows.go *: Update import name to github.com/go-delve/delve 2019-01-04 19:43:13 +01:00
threads_darwin.c proc/native,Makefile: allow compiling on macOS without native backend 2018-10-02 10:46:09 -07:00
threads_darwin.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
threads_darwin.h proc/native,Makefile: allow compiling on macOS without native backend 2018-10-02 10:46:09 -07:00
threads_freebsd.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
threads_linux_386.go *: un-export unnecessarily public symbols 2020-03-31 14:47:29 -07:00
threads_linux_amd64.go *: un-export unnecessarily public symbols 2020-03-31 14:47:29 -07:00
threads_linux_arm64.go *: un-export unnecessarily public symbols 2020-03-31 14:47:29 -07:00
threads_linux.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
threads_windows.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
threads.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
zsyscall_windows.go proc: refactoring: split backends to separate packages 2017-04-21 14:00:04 -07:00