select error: 22 (Invalid argument)

select error: 22 (Invalid argument)

book

Article ID: KB0088296

calendar_today

Updated On:

Products Versions
TIBCO Rendezvous -
Not Applicable -

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 &ltproblem application pid>” and “pfiles &ltpid> “ 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)