It's all about the answers!

Ask a question

Linux machine goes for a hang upon running the lscm command while extracting the component


manobhiram juvvadi (1518) | asked Apr 26 '16, 3:28 a.m.
- Scenario
 I have the machine (12 GB ram), allocated 4GB heap for RTC.
when i start the extraction of workspace, i see that my 12 GB of free memory started getting used up, and at the end of source code extraction, i was left with almost 5GB only.
 When i checked the
ps -eaf | grep -i java | grep -i rtc
i saw that RTC java is running
root     31180 31179  0 Apr25 ?        00:00:19 /usr/build/RTC502/jazz/scmtools/eclipse//../../client/eclipse/jdk/jre/bin/java -Xmx4096m -Xshareclasses:nonfatal -Xquickstart -Dosgi.requiredJavaVersion=1.6 -Xdump:system:events=systhrow,filter=java/lang/OutOfMemoryError,request=exclusive+prepwalk -jar /usr/build/RTC502/jazz/scmtools/eclipse//plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar -os linux -ws gtk -arch x86_64 -showsplash -launcher /usr/build/RTC502/jazz/scmtools/eclipse/scm -name Scm --launcher.library /usr/build/RTC502/jazz/scmtools/eclipse//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.2.R36x_v20101019_1345/eclipse_1310.so -startup /usr/build/RTC502/jazz/scmtools/eclipse//plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar -exitdata 190032 -data @noDefault --config /root/.jazz-scm daemon start --connection-timeout 120000 --inactive-timeout 7200000 -vm /usr/build/RTC502/jazz/scmtools/eclipse//../../client/eclipse/jdk/jre/bin/java -vmargs -Xmx4096m -Xshareclasses:nonfatal -Xquickstart -Dosgi.requiredJavaVersion=1.6 -Xdump:system:events=systhrow,filter=java/lang/OutOfMemoryError,request=exclusive+prepwalk -jar /usr/build/RTC502/jazz/scmtools/eclipse//plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar

when i have seen the  ps -eaf | grep -i java | grep -i rtc | wc -l
24

i see 24 rtc java processes are running.

When i started the source drop again, i have seen that i was left with only 100 Mb of memory and this time i have seen 48 java rtc process running.
eventually when i start again, i see the machine will go to hang state and will never respond, only option i see is to reboot the system.

My question here is why are the java processes not getting killed here after successful completion of source extraction, and what is the solution to this problem to resolve this hang issue

I am using Red Hat Enterprise Linux Server release 6.7 (Santiago)  x86_64 (64 bit machine)

i am using the below script
lscm login -r https://isljazzrtc.in.ibm.com:9550/ccm/ -n localwork -u ${1} -P ${2}
rm -rf /source_drop/s810/$3
mkdir /source_drop/s810/$3
cd /source_drop/s810/$3
pres=`pwd`

while read line
do
        mkdir $line
        cd $line
        date
        lscm load ${3} $line -r localwork
if [ $? -eq 0 ]
        then
                echo "READY extraction is success"
                date
        else
                echo " READY extraction failed"
                exit 1
        fi
#mv src $line
        cd $pres
done < /usr/scripts/s810comlist // s810comlist is the component name list


 


Accepted answer


permanent link
Donald Nong (14.5k614) | answered Apr 26 '16, 6:31 a.m.
Something is very wrong here. Since you are using lscm, it runs as a daemon, and will not quit unless you ask it to do so. But there should be only one lscm daemon running. For a quick check, simply change the "lscm" command to "scm" in your script. The "scm" process should quit once it finishes.
manobhiram juvvadi selected this answer as the correct answer

Comments
manobhiram juvvadi commented Apr 26 '16, 2:01 p.m. | edited Apr 26 '16, 2:06 p.m.

Thanks Donald, looks like it is working fine for me now

- I have few clarifications here for my better understanding .
1. What is the difference between lscm and scm, When to use what (i feel lscm is faster the scm while extracting the code? Is it correct)
2. Is it that everytime i run lscm command, it is creating new daemon?
3. How do i quit lscm, is there any command to do so,except kill command?

Thanks before hand



Donald Nong commented Apr 26 '16, 8:25 p.m.

You should get all the answers by reading the manuals carefully.
1. The main difference is lscm will start a daemon automatically. See the second "Note" in the below document.
https://jazz.net/help-dev/clm/topic/com.ibm.team.scm.doc/topics/c_scm_cli.html
2. If you just run it from the command line, it shouldn't do something like that. It may have something to so with your script - it is the parent process of the lscm process, and since lscm does not quit, the script does not quit as well. Can you verify that?
3. You use the command "scm daemon stop" to stop the daemon.
https://jazz.net/help-dev/clm/topic/com.ibm.team.scm.doc/topics/daemon_stop_ex.html

One other answer



permanent link
Max Lillo (11) | answered Jun 20 '16, 1:25 p.m.

We had issues with too many daemons being created. For us it was because we were using a nfs mount. We had to change the config directory of the lscm command to a temp directory.

i.e. lscm --config /tmp/rtcconfig$USER

By doing this the daemon can correctly create the lock file it needs.

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.