Tuxedo 7.1: A /WS Client: tpgetrply() Returns TPEOS After The /WS Client Runs For Long Time (Getting Errors: LIBWSC_CAT:1426 and LIBWSC_CAT:1090 In The Ulog File )

(Doc ID 767324.1)

Last updated on NOVEMBER 04, 2016

Applies to:

Oracle Tuxedo - Version: 7.1 to 7.1
Information in this document applies to any platform.
Information in this document applies to any platform

Goal

In a multi-threaded workstation application, Tuxedo seems to lock up the client application after a certain amount of time.

This has been seen when a client application starts up 30 threads.

Each thread sends/receives messages looping on the following calls: tpchkunsol(), tpacall(), and tpgetrply().

If the call to tpchkunsol() is commented out, the problem does not seem to occur.

When the problem does occur, the following gets logged:


LIBWSC_CAT:1426: ERROR: Memory allocation failure
LIBWSC_CAT:1090: ERROR: Unable to allocate system buffer


A call to tpgetrply() returns with tperrno = TPEOS. The client application then halts.

On an Oracle Solaris box, the truss command shows that it hangs on the following system call:


lwp_sema_wait().


The chances of this problem being hit seem to increase dramatically with the WSRPLYMAX environment variable set low (we use 10000).

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms