When the original parent of a process *is* its debugger there's no need to reparent the child upon exit. Diff below prevents a double status report.
It is the same diff I already sent without the bad typo. ok? Index: kern/kern_exit.c =================================================================== RCS file: /cvs/src/sys/kern/kern_exit.c,v retrieving revision 1.184 diff -u -p -r1.184 kern_exit.c --- kern/kern_exit.c 28 Feb 2020 17:03:05 -0000 1.184 +++ kern/kern_exit.c 28 Feb 2020 17:04:18 -0000 @@ -584,7 +584,8 @@ proc_finish_wait(struct proc *waiter, st * we need to give it back to the old parent. */ pr = p->p_p; - if (pr->ps_oppid && (tr = prfind(pr->ps_oppid))) { + if (pr->ps_oppid != 0 && (pr->ps_oppid != pr->ps_pptr->ps_pid) && + (tr = prfind(pr->ps_oppid))) { atomic_clearbits_int(&pr->ps_flags, PS_TRACED); pr->ps_oppid = 0; proc_reparent(pr, tr);