SIGPIPE in beostat_get_cpu_percent()
wade.hampton at nsc1.net
Tue Oct 22 10:32:45 PDT 2002
I have some simple code that makes C calls to the beostatus
library. It was sometimes crashing with a SIGPIPE (pipe
error). Running it in gdb resulted in trapping the error
and the traceback info below.
Basically, the code is periodically making beostat_get_cpu_percent
calls on a free node prior to scheduling on that node.
The traceback is something like the following:
__libc_write() () from /lib/i686/libc.so.6
__DTOR_END__ () from /usr/lib/libbeostat.so.0
The compter is a dual 2G XEON with Scyld 28CZ4.
The kernel is 2.4.17-0.18.18_Scyldsmp
Any help would be most appreciated.
1) I'm trapping SIGPIPE
2) I'm checking for -1 on return of all beostatus calls and repeating the
call up to 10 times -- and terminating with error at that point.
More information about the Beowulf