[prev in list] [next in list] [prev in thread] [next in thread]
List: freeipmi-users
Subject: [Freeipmi-users] libfreeipmi select() may exceed the max number of file descriptors in ipmi-openipmi
From: Ole Holm Nielsen via Freeipmi-users <freeipmi-users () gnu ! org>
Date: 2023-09-27 7:32:13
Message-ID: 88e60237-d754-8cc9-f3f3-a83005a47188 () fysik ! dtu ! dk
[Download RAW message or body]
Dear FreeIPMI developers,
In freeipmi-1.6.11 the driver libfreeipmi/driver/ipmi-openipmi-driver.c in
line 532 calls the select() function:
if ((n = select (ctx->device_fd + 1,
...
The Slurm Resource Manager batch queue system for Linux clusters has been
hit by crashes due to a bug which has been attributed to the
ipmi-openipmi-driver.c using select().
The issue is described in this bug report:
https://bugs.schedmd.com/show_bug.cgi?id=17639#c30
On a very busy Linux cluster it seems that ipmi-openipmi-driver.c may
sometimes exceed the number of file descriptors available (1024). The
select(2) man-page states:
> BUGS
> POSIX allows an implementation to define an upper limit, advertised via
> the constant FD_SETSIZE, on the range of file descriptors that can be
> specified in a file descriptor set. The Linux kernel imposes no fixed
> limit, but the glibc implementation makes fd_set a fixed-size type,
> with FD_SETSIZE defined as 1024, and the FD_*() macros operating
> according to that limit. To monitor file descriptors greater than
> 1023, use poll(2) instead.
Question: Would it be possible for you to replace the select() by poll()
in the FreeIPMI driver/ipmi-openipmi-driver.c code?
Thanks a lot,
Ole
--
Ole Holm Nielsen
PhD, Senior HPC Officer
Department of Physics, Technical University of Denmark
_______________________________________________
Freeipmi-users mailing list
Freeipmi-users@gnu.org
https://lists.gnu.org/mailman/listinfo/freeipmi-users
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic