book
Article ID: KB0088296
calendar_today
Updated On:
Description
Resolution:
Description:
============
1). The select function signature is as follows:
int select(int nfds,
fd_set *restrict readfds, fd_set *restrict writefds,
fd_set *restrict errorfds,
struct timeval *restrict timeout);
On Solaris, by default, if the first parameter nfds is larger than the default value for FD_SETSIZE (currently 1024) for 32-bit applications, your will see the “select error: 22 (Invalid argument)”
2). For an RV application, the application has to call tibrv_Open() for RV initialization, this function will call select().
3). Depending on when the application calls tibrv_Open(), if the application has already opened a lot of files and the fd number is larger than 1024, and you call tibrv_Open(), the you will see this error.
Trouble Shooting:
= = = = = = = = =
Run “ pstack <problem application pid>” and “pfiles <pid> “ and submit the results for review. This information should help narrow down which thread calls select and why so many file descriptors are used.
Environment:
===========
Solaris
Issue/Introduction
select error: 22 (Invalid argument)