Diagnosing Performance issues with the Cross-Platform Client
Here is a procedure that can be used to get Java Virtual Machine (Java VM) dumps any time the Cross-Platform Client (CPC) appears hung. If any users experience unexplained hangs, repainting problems, or degraded performance with the CPC, please have them perform the appropriate procedure below and send the corresponding stack traces to Borland Support. In addition, please be sure to include:
- what version of the CPC they are using
- what type and version of Operating System they are using
- anything special about the environment (low on memory, left running overnight, VPN recently hiccupped, etc.)
On Unix platforms, run the CPC script (typically StarTeamCP.stjava) from a terminal window synchronously i.e., without the trailing "&". Any time the CPC appears hung, switch to the terminal window and press "Ctrl-" (control-backslash). This should cause the Java runtime to generate a stack trace of all CPC threads as well as perform a thread deadlock analysis.
Copy-and-paste the stack trace output to a text file. Alternatively, the StarTeamCP script"s stdout can be redirected to a text file when it is launched.
On Windows, there are two ways to get the stack trace. Both techniques are simply alternatives for getting the Java VM to run in a console window, in which you can enter "Ctrl-Break", which is the dump key for Windows.
In the directory where the CPC is installed, modify the file "StarTeamCP.stjava" to include the line "Test=1" in the [StJava] section. When the CPC is launched (e.g., via its normal shortcut or by double-clicking the StarTeamCP.stjava file), the launcher app (StJava.exe) will display a window containing the full CPC launch string.
Although read-only, the command string can be selected. Copy the full command string and paste it into a batch file, and modify "javaw.exe" to be "java.exe". Use the batch file thereafter to launch the CPC. Each time it is run, it will open a DOS window from which the CPC will be launched. Perform Ctrl-Break in the DOS window any time the CPC appears to be hung and copy-and-paste the dump output to a text file. (Alternatively, modify the .bat file to redirect stdout to a text file.)
Create a batch file that runs "StJava.exe", which resides in the SDK"s "bin" directory, passing it the full path name of the CPC"s "StarTeamCP.stjava" file, which resides in the CPC"s install directory. Example:
"C:\Program Files\Borland\StarTeam SDK 2005 R2\StJava.exe" "C:\Program Files\Borland\StarTeam Cross-Platform Client 2005 R2\StarTeamCP.stjava"
When the batch file is run, it will execute in a DOS window. Perform Ctrl-Break in the DOS window any time the CPC appears to be hung and copy-and-paste the dump output to a text file. (Alternatively, modify the .bat file to redirect stdout to a text file.)