[Bug 230856] tail -f fails unexpectedly with EINTR if truss is run against it.

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Aug 27 16:11:40 UTC 2018


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

--- Comment #3 from John Baldwin <jhb at FreeBSD.org> ---
This is a known longstanding issue with ptrace() and not trivially fixable. 
(It's also documented in truss's manpage I think, or perhaps only in gcore's
manpage.)  I have been trying to work on a possible solution for several
months, but it won't be ready any time soon.  (In particular, the issue is that
ptrace() doesn't pass the signal to the debugger which then discards it until
after it has awakened the sleeping thread and forced it out to the user/kernel
boundary.  The fix I'm working on aims to keep the thread asleep while letting
the debugger intercept the signal and only interrupting the thread if the
debugger passes the signal.  The current WIP can be found here, but it's not
really tested at all yet and I think it still panics when trying to use
ptrace():
https://github.com/freebsd/freebsd/compare/master...bsdjhb:spurious_EINTR )

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


More information about the freebsd-bugs mailing list