Hello Misha,
On Fri, Aug 18, 2006 at 07:37:50PM -0700, Misha Sushchik wrote:
> I am writing to you because I found a post by you in a newsgroup that
> described improper error reporting by select(), reporting error 514.
So if you don't mind, I'm taking this to linux-kernel, please answer to
the list and Cc to me.
> We recently tried to upgrade our server from RedHat 7 to RHEL 4, with
> kernel version 2.6.9. Our CORBA-based communication now is halted now
> and then due to "unknown error 514" in select().
include/linux/errno.h says user space should never see this error code,
so this is a bug in your kernel. core_sys_select returns this code if a
signal is pending for the current process. You have the following
options:
* Test with the latest kernel. 2.6.9 is almost two years old.
* Ask RedHat to fix the problem in 2.6.9.
* Fix the problem yourself.
You may try applying something like the following to your current kernel
in order to understand how to reproduce the problem (untested):
diff -Naurp linux-2.6.orig/fs/select.c linux-2.6/fs/select.c
--- linux-2.6.orig/fs/select.c 2006-08-19 11:57:53.000000000 +0200
+++ linux-2.6/fs/select.c 2006-08-19 11:57:43.000000000 +0200
@@ -430,6 +430,8 @@ asmlinkage long sys_select(int n, fd_set
}
}
+ if (ret == -ERESTARTNOHAND)
+ BUG();
return ret;
}
IIUC, this should print a backtrace every time the problem occurs.
With kind regards,
Baurzhan.