| Summary | This article clarifies the reason for negative PID numbers in the output of Orbix 3.3 psit command |
|---|---|
| Environment |
Orbix 3.3 All Supported Operating Systems |
| Question/Problem Description | Why does the psit command in Orbix 3.3 show a negative PID? |
| Clarifying Information |
The psit command line utility is used to display information about all of the running servers that a particular Orbix 3.3 daemon knows about. |
| Error Message | |
| Defect/Enhancement Number | |
| Cause |
In Orbix 3.3 if the servers (C or Java) are launched through the Orbix daemon (orbixd) then the PID of the server process can be figured out, so the PIDs will be properly shown in the psit output. If the Java servers are launched persistently (i.e. manually) the Orbix Java ORB runtime cannot figure out in a platform independent way how to get its own process’s PID as it needs this to register with the orbixd process, so it generates a large or negative (random) PID. |
| Resolution |
The following configuration parameters need to be added to orbixweb3.cfg from Orbix Java Edition 3.3.1 and onwards: IT_USE_TRUE_PROCESS_PID This flag should be set to true, so as to get the real process pid of the Persistent Java Server via a custom library. When the value is false, a pseudo pid is generated by 1. This Config variable is to be set to "true" to enable the fix for Bug 52799, 57514 and 55681. 2. If the Persistent Java Server is launched using -Xbootclasspath switch then: On Solaris 2.7/ Solaris 2.8 libact.so should be copied to $JAVAHOME/jre/lib/sparc As an alternative, use java -Dsun.boot.library.path=$JAVAHOME/jre/lib<platform>:$IONA_ROOT/lib... |
| Workaround | As another alternative to the resolution provided, register the Java servers to be launched automatically by the Orbix daemon. |
| Notes | orbix 3.3.1 release note, page 11 on "Known Problems, Workarounds, and Tips"/"Orbix Java Configuration" section. |
| Attachment |
#Orbix
#KnowledgeDocs