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(¤t->sigmask_lock);
oldblocked = current->blocked;
siginitsetinv(¤t->blocked,
sigmask(SIGINT) | sigmask(SIGTERM) | sigmask(SIGSTOP) |
sigmask(SIGKILL));
recalc_sigpending(current);
spin_unlock_irq(¤t->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(¤t->sigmask_lock);
current->blocked = oldblocked;
recalc_sigpending(current);
spin_unlock_irq(¤t->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/