RP/TUX 7.1/TUX 8.1/TUX 9.1 - Multi-threaded Multi-Context Client Comsumes Lots of CPU at tpgetrply. (Doc ID 776258.1)

Last updated on NOVEMBER 04, 2016

Applies to:

Oracle Tuxedo
Information in this document applies to any platform.
Information in this document applies to any platform

Goal

DESCRIPTION:
Sometimes Multi-threaded Multi-Context Clients comsume lots of CPU.
The stack looks like a loop at tpgetrply()repeating 

_e_net_rcvraw() at 0x900000000f9531c _e_net_recv() at 0x900000000f90eac _wsc_nw_msgrcv() at 0x900000000945628 _wsc_msgrcv() at 0x900000000945d90 _wsc_getrply() at 0x900000000947754 tpgetrply() at 0x900000000955640

and

_e_net_sndraw() at 0x900000000f94fa8
_e_net_send() at 0x900000000f92760
_wsc_nw_msgsnd() at 0x900000000945bdc
_wsc_msgsnd() at 0x900000000946ff0
_wsc_getrply() at 0x900000000947abc
tpgetrply() at 0x900000000955640


And at that time, WSH's also consume lots of CPU too.
The stack shows that it's sending something over the network like :

_e_net_sndraw() at 0x9000000006c7fa8
_e_net_send() at 0x9000000006c5760
_ws_nw_msgsnd() at 0x900000001beea2c
_ws_snd() at 0x900000001bef510
_wsh_ack() at 0x900000001be8a50
wsh_msgrcv() at 0x900000001bf7f10
pollin() at 0x9000000006be724
_e_net_handle_event() at 0x9000000006c1f5c
_wsh_run() at 0x900000001bfd014
wshinit.main() at 0x100001768

The truss output from WSH shows that
140 byte messages were coming in and out like :


1302628: 7491693: 0.0005: recv(11, 0x0000000110096468, 4000, 0) = 140
1302628: 7491693: 0.0006: send(11, 0x00000001100A08A8, 140, 0) = 140
1302628: 7491693: 0.0004: __msgrcv(632292052, 0x0000000110099E68, 7992, 536871423, 2048) Err#35 ENOMSG
1302628: 7491693: 0.0002: _select(65534, 0x0FFFFFFFFFFF43A0, 0x0FFFFFFFFFFF63A0, 0x0FFFFFFFFFFF83A0,
0x0FFFFFFFFFFF4390) = 2
1302628: 7491693: 0.0010: recv(11, 0x0000000110096468, 4000, 0) = 140
1302628: 7491693: 0.0009: send(11, 0x00000001100A08A8, 140, 0) = 140
1302628: 7491693: 0.0004: recv(12, 0x0000000110096468, 4000, 0) = 140
1302628: 7491693: 0.0009: send(12, 0x00000001100A08A8, 140, 0) = 140
1302628: 7491693: 0.0004: __msgrcv(632292052, 0x0000000110099E68, 7992, -536871423,2048) Err#35 ENOMSG

CONFIGURATION:
AIX 5.2
Multi-Threaded Multi-Context Client.

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