SIGPIPE in beostat_get_cpu_percent()

Wade Hampton wade.hampton at
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/
    __DTOR_END__ ()  from /usr/lib/
    beostat_get ()

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.

For now:

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.

Wade Hampton

More information about the Beowulf mailing list