TIP - ClearCase Bridge 'hangs' when Launched from Visual Studio?
We recently tried to set up the CCBridge feature in an environment that depends on MS Visual Studio for the IDE. The bridge feature went in easily - there are a number of guides online, but when we tried to access the functionality from the Visual Studio IDE, it would appear to hang.
The 'hang' was actually a Java crash caused by an out of memory condition - the Java core dump files appear in the RTC directory. Neither RTC's eclipse.ini file or ClearTeam Explorer's ctexplorer.ini (just a renamed eclipse.ini) affected the memory use.
3 answers
Answer from Dan:
THE TIP: There is a third .ini file that the integration uses to launch things from Visual Studio. That file's default location is here: C:\Program Files\IBM\RationalSDLC\ClearCase\RemoteClient\WANPackage\ccvsrtcintegration.ini. (Adjust for your installation path as needed). It is a standard eclipse.ini format, but is pretty obscure. Google searches did not help us find it.
THE TIP: There is a third .ini file that the integration uses to launch things from Visual Studio. That file's default location is here: C:\Program Files\IBM\RationalSDLC\ClearCase\RemoteClient\WANPackage\ccvsrtcintegration.ini. (Adjust for your installation path as needed). It is a standard eclipse.ini format, but is pretty obscure. Google searches did not help us find it.
THE FIX: The file is a pretty bare-bones launcher and it uses the JVM.DLL launch style for the JRE. That is OK, but there are some potential problems documented in this technote: http://www-01.ibm.com/support/docview.wss?uid=swg1PM52774
For our purposes, we had to change the file to use the JAVAW.EXE launch style and then tweak our heap sizes. For example:
-vm C:\Program Files\IBM\RationalSDLC\common\JAVA5.0\jre\bin\javaw.exe -vmargs
-Xms256m
-Xmx512m
-Xmnx128m
-Xgcpolicy:gencon
-Xscmx96m
The full story of how we spent our time finding it and the specific versions of pieces we were using is available here: http://avnetservicesdevops.wordpress.com/2014/02/28/microsoft-visual-studio-and-the-rational-team-concert-clearcase-bridge/
Updating my own answer a bit...
Based on some operational experience, we discovered some additional tuning that helped with this.
Switching the JVM call helped to get things working, but we soon found out that it did not seem to be respecting the tuning parameters in the .ini file the way we expected it to.
After some investigation and help from IBM support, the root cause turned out to be an override being pushed by the launch command.
Fortunately, there is an override for the override...
Adding this line to the .ini file - BEFORE the -vmargs line - will cause it to respect the .ini parameters in the way one would expect.:
--launcher.appendVmargs(Executable)
So, the finished .ini file will look like this:
-vm
C:\Program
Files\IBM\RationalSDLC\common\JAVA5.0\jre\bin\javaw.exe
--launcher.appendVmargs(Executable)
-vmargs
-Xms256m
-Xmx512m
-Xmnx128m
-Xgcpolicy:gencon
-Xscmx96m
You may also integrate your ClearCase activities with RTC Work items and Visual Studio using a popular VS extension. This way you can see the correlation between code lines to work items so you get full traceability. Check this: http://bit.ly/1VCmUc9