Skip to main content
ExLibris
ExLibris Dev

dps_stop command does not work

Scenario

It is not possible to stop Rosetta using the dps_stop command which returns the error message 'Rosetta has already been shutdown'.

 

The ver command shows that Rosetta is DOWN even though it is still running, and it is possible to use the UI.

eg.

>>ver | grep Status

Rosetta Server Status : DOWN

Explanation

When Tomcat is started the PID (Operating System Process ID) of the parent wrapper process is recorded in the file tomcat.pid:

$dps_dev/system.dir/thirdparty/wrapper/bin/tomcat.pid

 

This error occurs when the PID recorded in the tomcat.pid file is not the same as the process that is actually running. This problem can easily be fixed by replacing the value in the file.

Step 1 - Identify the Correct PID

At the terminal type:

ps -ef | grep java

 

example:

>>ps -ef | grep java

dps      20409 20356  0 09:04 pts/2    00:00:00 grep --color=auto java

dps      23079     1  0 Nov29 ?        00:18:17 /exlibris/dps/d4_1/system.dir/thirdparty/wrapper/bin/../../../../product/local/wrapper/bin/wrapper /exlibris/dps/d4_1/system.dir/thirdparty/wrapper/bin/../conf/wrapper.conf wrapper.syslog.ident=tomcat wrapper.pidfile=/exlibris/dps/d4_1/system.dir/thirdparty/wrapper/bin/./tomcat.pid wrapper.name=tomcat wrapper.displayname=Tomcat Application Server wrapper.daemonize=TRUE wrapper.statusfile=/exlibris/dps/d4_1/system.dir/thirdparty/wrapper/bin/./tomcat.status wrapper.java.statusfile=/exlibris/dps/d4_1/system.dir/thirdparty/wrapper/bin/./tomcat.java.status

dps      23082 23079  0 Nov29 ?        01:31:17 /exlibris/product/jdk1.8.0_92.x86_64/bin/java -Dprogram.name=run.sh -server -d64 -XX:MaxPermSize=512m -XX:PermSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/exlibris/dps/d4_1/profile/operational_shared//logs/il-dtldev08c.corp.exlibrisgroup.com -Xloggc:/exlibris/dps/d4_1/profile/operational_shared//logs/il-dtldev08c.corp.exlibrisgroup.com/gc.log -XX:+PrintTenuringDistribution -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Dfile.encoding=utf8 -XX:+UseParallelOldGC -Dexec.strategy=wrapper -Djava.awt.headless=true -Ddigitool.home=/exlibris/dps/d4_1/system.dir/bin/.. -Djmagick.systemclassloader=No -DAPP_ROLE=DEP,REP,DEL,PER,IDX -Djava.endorsed.dirs=/exlibris/dps/d4_1/system.dir/bin/../thirdparty/tomcat/endorsed -Dorg.tanukisoftware.wrapper.WrapperStartStopApp.maxStartMainWait=300 -Dorg.tanukisoftware.wrapper.WrapperManager.mbean=false -Djboss.server.log.dir=/exlibris/dps/d4_1/profile/operational_shared//logs/il-dtldev08c.corp.exlibrisgroup.com -Dsolr.solr.home=/exlibris/dps/d4_1/system.dir/bin/../conf/solr -Dcatalina.base=/exlibris/dps/d4_1/system.dir/bin/../thirdparty/tomcat -Dcatalina.home=/exlibris/dps/d4_1/product/local/tomcat -Djava.io.tmpdir=/exlibris/dps/d4_1/system.dir/bin/../thirdparty/tomcat/temp -Xms3000m -Xmx4000m -Djava.library.path=/exlibris/dps/d4_1/product/local/wrapper/lib:/exlibris/dps/d4_1/product/local/im/lib:/exlibris/dps/d4_1/product/local/jpeg2000/sdk/linux-x86-64/lib -classpath /exlibris/dps/d4_1/product/local/wrapper/lib/wrapper.jar:/exlibris/dps/d4_1/system.dir/bin/../conf:/exlibris/dps/d4_1/product/local/tomcat/bin/bootstrap.jar:/exlibris/dps/d4_1/product/local/tomcat/bin/tomcat-juli.jar:/exlibris/dps/d4_1/product/local/java/lib/tools.jar -Dwrapper.key=Bpv8gDIR_l8mGHYwZ8r3_JArWUMOJVsx -Dwrapper.port=32001 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -Dwrapper.disable_console_input=TRUE -Dwrapper.pid=23079 -Dwrapper.version=3.5.17-pro -Dwrapper.native_library=wrapper -Dwrapper.arch=x86 -Dwrapper.service=TRUE -Dwrapper.cpu.timeout=10 -Dwrapper.jvmid=1 -Dwrapper.lang.domain=wrapper org.tanukisoftware.wrapper.WrapperStartStopApp org.apache.catalina.startup.Bootstrap 1 start org.apache.catalina.startup.Bootstrap TRUE 1 stop

 

In the example the correct PID which shoul appear in tomcat.pid is as outlined above. It is the parent process of the running instance of Tomcat.

Step 2 - Replace the value in the tomcat.pid file

In our example we shall replace the value with 23079.

 

At the terminal:

>>echo 23079 > $dps_dev/system.dir/thirdparty/wrapper/bin/tomcat.pid

Step 3 - Stop Rosetta

Once the PID in the tomcat.pid file is aligned with the correct value we can verify that the configuration now works by using the ver command

>>ver | grep Status

Rosetta Server Status : UP

 

It should now be possible to run the dps_stop command as normal.

//doorbell.io feedback widged