Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 May 2025 09:27:15 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 287050] Change in PTRACE_CONTINUE causing valgrind/vgdb to no longer be able to interrupt debuggee
Message-ID:  <bug-287050-227-8Mmu4okyyo@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-287050-227@https.bugs.freebsd.org/bugzilla/>

index | next in thread | previous in thread | raw e-mail

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=287050

--- Comment #7 from Paul Floyd <pjfloyd@wanadoo.fr> ---
For the reproducer, compile both parts

clang -g -o ptrace ptrace.c -std=c23
clang -g -o sleeper sleeper.c -std=c23

Run 'sleeper'

Then run 'ptrace' with 2 arguments, first the pid of 'sleeper' and second the
address that 'sleeper' printed.

On 14.2 I get

sleeper:
DEBUG: main invoke address is 0x201850

ptrace:
./ptrace 73282 0x201850
attach to 'main' pid 73282
attach main pid PT_ATTACH pid 73282
waitstopped attach main pid before waitpid signal_expected 17
after waitpid pid 73282 p 73282 status 0x117f WIFSTOPPED 17 
calling getregs
getregs call succeeded
push bad_return return address ptrace_write_memory
calling setregs
setregs succeeded
PT_CONTINUE to invoke
waitstopped waitpid status after PTRACE_CONTINUE to invoke before waitpid
signal_expected 17
after waitpid pid 73282 p 73282 status 0x0 WIFEXITED 0 
(command prompt)

sleeper again:
 DEBUG: invoker called

On 15.0 I get

sleeper:
DEBUG: main invoke address is 0x2017c0

ptrace:
./ptrace 1244 0x2017c0
attach to 'main' pid 1244
attach main pid PT_ATTACH pid 1244
waitstopped attach main pid before waitpid signal_expected 17
after waitpid pid 1244 p 1244 status 0x117f WIFSTOPPED 17 
calling getregs
getregs call succeeded
push bad_return return address ptrace_write_memory
calling setregs
setregs succeeded
PT_CONTINUE to invoke
waitstopped waitpid status after PTRACE_CONTINUE to invoke before waitpid
signal_expected 17

There is no "after waitpid" message for ptrace and no return to the prompt.
Also no invoker message from sleeper.

-- 
You are receiving this mail because:
You are the assignee for the bug.

home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-287050-227-8Mmu4okyyo>