Date: Mon, 27 Aug 2018 16:11:38 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 230856] tail -f fails unexpectedly with EINTR if truss is run against it. Message-ID: <bug-230856-227-bYtF2cWPbo@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-230856-227@https.bugs.freebsd.org/bugzilla/> References: <bug-230856-227@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D230856 --- Comment #3 from John Baldwin <jhb@FreeBSD.org> --- This is a known longstanding issue with ptrace() and not trivially fixable.= =20 (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 unt= il after it has awakened the sleeping thread and forced it out to the user/ker= nel boundary. The fix I'm working on aims to keep the thread asleep while lett= ing 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 ) --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-230856-227-bYtF2cWPbo>