OpenLink Universal Data Access (UDA) Wiki
Documentation and guidance on installing, configuring and trouble-shooting UDA
Advanced Search
Help?
Location: / Dashboard / UdaWikiWeb / UDATroubleshootingResources / UDAErrorMessages / ErrorMessagesI / BadFileDescriptorError

Error Messages (I)

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

Internal RPC call failed (Bad file descriptor)

"Bad file descriptor" errors were fairly rare errors, which were exclusively associated with Sybase and SQL Server database agents. "RPC: Timed Out" variants of the file descriptor error appeared, when OpenLink was trying to obtain a socket, which it could not obtain. They were also permissions related. And, there was little that users could do to configure around this problem.

Today's Bad File Descriptor errors are significantly different in nature. They are intermittent errors that frequently appear suddenly, after long periods of stability. If user's encounter this type of error, they need to examine what changes have been made to the machine that hosts OpenLink's server components. More than likely, Anti-Virus Software, Windows Updates, or SQL Server patches have affected hostname resolution or TCP port usage on the affected machine.

If you experience "Bad File Descriptors," take the following action:

1. Insure that you use OpenLink's 5.x TDS-based database agents. These agents are named sql_mv or sql_sv. The older DB-LIB and CT-LIB agents can not bypass this problem.

2. Use a text editor to open the oplrqb.ini file, that you find in the /bin sub-directory of your OpenLink server components installation.

3. Locate the [generic_sql] section.

4. Uncomment the ConnectOptions = parameter.

5. Pass the following value to ConnectOptions:

-S SQL Server hostname/IP address
-P instance port number
-V TDSVersion == 4.2, 4.6, 5.0, 7.0, 8.0

For example:

ConnectOptions = -S mysqlserver.company.com -P 1433 -V 8.0


6. Save your changes and exit the file.

7. Restart the Request Broker Service.

8. Test.

If the problem persists, take the following action:

1. Obtain the database agent version string.

2. Note the mapscode.c line on which the error occurs. This will be helpful for development. For example:

12:11:21 ERROR (f:\devel\openlink\binsrc\oplrqb\mapscode.c:594): internal rpc call failed (Bad file descriptor): RPC: Timed out 


3. Get the precise version of the operating system on which the failure occurs.

4. Ascertain whom the user is logged in as. Perhaps Administrative access may alleviate the problem.

5. Insure that unnecessary processes are terminated on the server that is associated with this problem. This alleviates resource use, which may contribute to the problem.

6. Attempt a 3-Tier connection to another SQL Server DBMS.

7. Attempt a Single-Tier connection.

Powered By Virtuoso