delve/pkg/proc
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
..
core proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
fbsdutil proc: correct minor typos (#2148) 2020-08-24 10:19:50 -07:00
gdbserial proc/*: add launch option to disable ASLR (#2202) 2020-10-21 12:50:52 -07:00
linutil proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
native proc/native: fix flakyness of TestStepConcurrentDirect on linux/386 (#2179) 2020-11-03 10:28:37 -08:00
test Go 1.15 support (#2011) 2020-07-28 09:19:51 -07:00
winutil proc: correct minor typos (#2148) 2020-08-24 10:19:50 -07:00
amd64_arch.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
amd64_disasm.go proc: convert Arch into a struct (#1972) 2020-03-30 11:03:29 -07:00
arch.go proc/native: fix flakyness of TestStepConcurrentDirect on linux/386 (#2179) 2020-11-03 10:28:37 -08:00
arm64_arch.go proc: support reading deferred calls' arguments on linux/arm64 (#2210) 2020-10-22 08:26:19 -07:00
arm64_disasm.go Go 1.15 support (#2011) 2020-07-28 09:19:51 -07:00
bininfo.go proc: resolve symlinks when searching for split debug_info if path is /proc/pid/exe (#2170) 2020-09-15 14:49:30 -07:00
breakpoints.go proc: prevent internal breakpoint conditions from failing 2020-09-01 15:01:39 +02:00
disasm.go proc: Remove (*Arch).Prologues method (#2192) 2020-10-12 15:05:28 -07:00
doc.go Move top-level packages into pkg 2017-02-08 12:17:19 -08:00
dwarf_export_test.go proc: keep track of nesting depth while reading compile units 2020-07-16 15:34:00 +02:00
dwarf_expr_test.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
eval.go proc: use argument position for addr only when injecting function calls (#2181) 2020-09-24 08:05:24 -07:00
fncall.go proc: use argument position for addr only when injecting function calls (#2181) 2020-09-24 08:05:24 -07:00
goroutine_cache.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
i386_arch.go proc/native: fix flakyness of TestStepConcurrentDirect on linux/386 (#2179) 2020-11-03 10:28:37 -08:00
i386_disasm.go proc: convert Arch into a struct (#1972) 2020-03-30 11:03:29 -07:00
interface.go proc/*: move Set/Clear Breakpoint methods to Target (#2064) 2020-06-03 11:14:14 -07:00
mem.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
moduledata.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
pe.go pkg/proc,service: support linux/386 (#1884) 2020-03-10 09:34:40 -07:00
proc_general_test.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
proc_linux_test.go proc/*: add launch option to disable ASLR (#2202) 2020-10-21 12:50:52 -07:00
proc_test.go proc: support reading deferred calls' arguments on linux/arm64 (#2210) 2020-10-22 08:26:19 -07:00
proc_unexported_test.go proc: allow calls to optimized functions (#1684) 2019-09-25 10:23:02 -07:00
proc_unix_test.go pkg/proc: Move proc exec funcs to Target methods 2020-03-25 17:45:12 +01:00
registers.go proc/*: only load floating point registers when needed (#1981) 2020-05-13 11:56:50 -07:00
scope_test.go pkg/proc: Move proc exec funcs to Target methods 2020-03-25 17:45:12 +01:00
stack.go proc: support reading deferred calls' arguments on linux/arm64 (#2210) 2020-10-22 08:26:19 -07:00
target_exec.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
target.go proc/*: add launch option to disable ASLR (#2202) 2020-10-21 12:50:52 -07:00
threads.go proc/*: only load floating point registers when needed (#1981) 2020-05-13 11:56:50 -07:00
types.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
variable_test.go pkg/proc: Move proc exec funcs to Target methods 2020-03-25 17:45:12 +01:00
variables.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
x86_disasm.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00