What causes "SIG: sigpending lied" messages (kernel/signal.c w/ 2

Neulinger, Nathan R. (nneul@umr.edu)
Thu, 4 Feb 1999 15:58:10 -0600


(Please CC responses to me directly, as I'm not subscribed to the list.)

I'm running/working on arla (free AFS client) and have run into a problem
where arla is causing the kernel to spit out "SIG: sigpending lied" messages
quite often. In some cases, it floods thousands of lines of it to
syslogs/console. The reference in the kernel source to it is in
kernel/signal.c in dequeue_signal.

What can cause this?

The only code in arla that appears to use signal_pending or sigpending or do
anything with kernel level signals is:

One of arla's authors has never seen this problem, so it's possible it's a
quirk of my machine or installation/compile/etc. I only saw one reference to
this message in the list archive, and that was about SMP and never got any
answers that I saw.

(from arla-0.21, some #ifdef's stripped out for clarity)
--------------------------
spin_lock_irq(&current->sigmask_lock);
oldblocked = current->blocked;
siginitsetinv(&current->blocked,
sigmask(SIGINT) | sigmask(SIGTERM) | sigmask(SIGSTOP) |
sigmask(SIGKILL));
recalc_sigpending(current);
spin_unlock_irq(&current->sigmask_lock);

interruptible_sleep_on(&this_process->wait_queue);

if (signal_pending(current)) {
XFSDEB(XDEBMSG, ("caught signal\n"));
this_process->error_or_size = -EINTR;
}

spin_lock_irq(&current->sigmask_lock);
current->blocked = oldblocked;
recalc_sigpending(current);
spin_unlock_irq(&current->sigmask_lock);
--------------------------

Any ideas?

-- Nathan

------------------------------------------------------------
Nathan Neulinger EMail: nneul@umr.edu
University of Missouri - Rolla Phone: (573) 341-4841
Computing Services Fax: (573) 341-4216

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/