utrace known bugs
Alexey Dobriyan
adobriyan at sw.ru
Thu Aug 2 14:31:43 UTC 2007
On Thu, Aug 02, 2007 at 06:50:35PM +0530, Ananth N Mavinakayanahalli wrote:
> On Thu, Aug 02, 2007 at 04:31:12PM +0400, Alexey Dobriyan wrote:
> > On Wed, Aug 01, 2007 at 10:55:39PM -0700, Roland McGrath wrote:
> > > Here are outstanding problems (aside from TODO items) I know of off hand.
> > > These range from bug reports I haven't looked into, to subtle old XXX
> > > comments for which I'll have to dredge up memories of the details.
> > > I hope someone likes to wikify or otherwise organize this list somewhere.
> > >
> > > * detach vs report race
> > > Alexey Dobriyan <adobriyan at sw.ru> identified a race viz
> > > dead_engine_ops vs engine->flags
> > > Race explanation makes sense, but so far never been reproduced.
> > > Needs a little thought.
> > >
> > > * https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=243534
> > > Unknown wedge, maybe stale report
> > >
> > > * https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=248532
> > > "tkill(SIGCONT) is not reported by waitpid()"
> > > Unexamined
> > >
> > > * ia64 RBS scheme
> > > This is tortured IA64-specific issue that was known from the start but
> > > never properly handled. The original contributors of the IA64 port
> > > dropped the ball on this part of the implementation. It needs someone
> > > with coherent understanding of the ia64 RBS hardware and how the kernel
> > > uses it, to consult.
> > >
> > > * https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=207002
> > > crash, needs investigation
> > >
> > > * utrace_inject_signal ENOSYS for non-utrace_get_signal case
> > > Needs implementation with careful synchronization.
> > > Probably interface details change for "engine interaction" TODO item,
> > > making implementation story here different.
> > >
> > > * ptrace race conditions
> > > See XXX in kernel/ptrace.c; need to rethink synchronization/life-cycle
> > > for ptrace_state.
> >
> > * unbounded utrace_engine_cache growth
> > started from 31a9ef5cfcdbae804e3e180c158bf2352728765a,
> > nobody knows why
> > testcase: at the end of http://marc.info/?l=linux-kernel&m=117128445312243&w=2
> >
> > * _pointer_ to struct utrace, which I personally count as design bug.
> >
> > Rationale to fold struct utrace into task_struct is that lifetime
> > rules of task_struct are well established, well tested and so on. As
> > was demonstrated it also removes much complexity from attaching logic.
> >
> > There is one more quick crash in rh bugzilla, but I'll post patch here very soon.
>
> Have you tested this with the latest utrace bits?
struct utrace double free? I can't because of "unbounded utrace_engine_cache growth".
"while (1) ptrace(PTRACE_ATTACH," crash -- yes it was tested with latest utrace.
> AFAICS this specific
> issue was fixed in June, with this one-liner:
>
> --- a/include/linux/tracehook.h
> +++ b/include/linux/tracehook.h
> @@ -584,7 +584,7 @@ static inline void tracehook_report_deat
> {
> smp_mb();
> if (tsk_utrace_flags(tsk) & (UTRACE_EVENT(DEATH)
> - | UTRACE_ACTION_QUIESCE))
> + | UTRACE_EVENT(QUIESCE)))
> utrace_report_death(tsk, death_cookie);
> }
More information about the utrace-devel
mailing list