Instant Messaging 8: Watchdog Process Is Not Closing Unused File Descriptors (Doc ID 1393581.1)

Last updated on JANUARY 11, 2017

Applies to:

Oracle Communications Instant Messaging Server - Version 8.0 and later
Information in this document applies to any platform.

Symptoms

On Instant Messaging 8, the Instant Messaging watchdog process is generating a number of S_IFIFO descriptors which build up until they are garbage collected by the JVM.

This can result in the S_IFIFO count building up (in one case it increased to 1980) and possibly contributing to a high overall process size:

PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
19693 inetuser 1093M 402M sleep 59 0 1:38:48 0.0% java/61
19875 inetuser 285M 279M sleep 59 0 3:48:07 0.0% java/150

PID 19693 is the Instant Messaging Watchdog process and PID 19875 is the Instant Messaging server process.

The problem can be seen by using truss on the Watchdog process:

bash-3.00$ truss -d -t pipe,close,fork1 -p 19693
Base time stamp: 1295397887.8849 [ Wed Jan 19 11:44:47 EST 2011 ]
/2: 26.0671 close(28) = 0
/2: 26.0714 close(28) = 0
/2: 26.0747 close(28) = 0
/2: 26.0754 pipe() = 28 [2083]
/2: 26.0755 pipe() = 2085 [2086]
/2: 26.0757 pipe() = 2087 [2088]
/2: 26.0759 pipe() = 2089 [2090]
/2: 26.1448 fork1() = 28706
/2: 26.1522 close(2090) = 0
/2: 26.2089 close(28) = 0
/2: 26.2093 close(2086) = 0
/2: 26.2095 close(2088) = 0
/2: 26.2097 close(2089) = 0
/2: 27.5900 close(28) = 0

NOTE: the 4 pipe() call produces 8 FD's but only 5 are closed immediately. The above pattern occurs each time the Watchdog process checks "imadmin status <service>" output.

Cause

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