On Fri, 7 Mar 2003, Kris Kennaway wrote:

> I've been getting a few of these on 5.0 lately:
>
> Mar  7 21:31:07 <kern.crit> bento kernel: failed to set signal flags properly for 
> ast()
>
> Is there any additional debugging information I can provide to help
> track this down?

It wouldn't hurt to know the signal masks.  This patch has rotted a bit:

%%%
Index: subr_trap.c
===================================================================
RCS file: /home/ncvs/src/sys/kern/subr_trap.c,v
retrieving revision 1.239
diff -u -2 -r1.239 subr_trap.c
--- subr_trap.c 28 Dec 2002 01:23:07 -0000      1.239
+++ subr_trap.c 28 Dec 2002 05:32:51 -0000
@@ -73,7 +79,7 @@
        u_int oticks;
 {
-       struct proc *p = td->td_proc;
-       struct kse *ke = td->td_kse;
+       struct proc *p;

+       p = td->td_proc;
        CTR3(KTR_SYSC, "userret: thread %p (pid %d, %s)", td, p->p_pid,
             p->p_comm);
@@ -84,6 +90,16 @@
        mtx_lock_spin(&sched_lock);
        if (SIGPENDING(p) && ((p->p_sflag & PS_NEEDSIGCHK) == 0 ||
-           (td->td_kse->ke_flags & KEF_ASTPENDING) == 0))
+           (td->td_kse->ke_flags & KEF_ASTPENDING) == 0)) {
                printf("failed to set signal flags properly for ast()\n");
+               printf(
+"proc %s sig %#x %#x %#x %#x, mask %#x %#x %#x %#x, sigflag %d, astflag %d\n",
+                   p->p_comm,
+                   ((u_int *)&p->p_siglist)[0], ((u_int *)&p->p_siglist)[1],
+                   ((u_int *)&p->p_siglist)[2], ((u_int *)&p->p_siglist)[3],
+                   ((u_int *)&p->p_sigmask)[0], ((u_int *)&p->p_sigmask)[1],
+                   ((u_int *)&p->p_sigmask)[2], ((u_int *)&p->p_sigmask)[3],
+                   (p->p_sflag & PS_NEEDSIGCHK) != 0,
+                   (td->td_kse->ke_flags & KEF_ASTPENDING) != 0);
+       }
        mtx_unlock_spin(&sched_lock);
        PROC_UNLOCK(p);
%%%

We really need to determine what didn't set the signal masks, but that is
difficult to determine from here.

Bruce


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to