Crowd stop script was unable to stop tomcat in the first attempt

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Low
    • None
    • Affects Version/s: 5.0.1, 5.1.0, 5.0.2
    • Component/s: Applications
    • 8
    • Severity 3 - Minor
    • 2

      Problem

      When trying to stop Crowd via ./stop_crowd.sh, apache tomcat was unable to stop properly. We have run the script twice to kill the tomcat.

      Environment

      • AdoptOpenJdk 1.8.0_202
      • Crowd 5.0.1

      Steps to Reproduce

      1. Install Crowd 5.0.1
      2. Startup Crowd with the script ./start_crowd.sh or system service
      3. Once startup finished successfully, stop the Crowd ./stop_crowd.sh
      4. The first attempt will fail with the below error message
        root@ip-10-9-31-134:/opt/atlassian/crowd/atlassian-crowd-5.0.1# ./stop_crowd.sh
        Using CATALINA_BASE:   /opt/atlassian/crowd/atlassian-crowd-5.0.1/apache-tomcat
        Using CATALINA_HOME:   /opt/atlassian/crowd/atlassian-crowd-5.0.1/apache-tomcat
        Using CATALINA_TMPDIR: /opt/atlassian/crowd/atlassian-crowd-5.0.1/apache-tomcat/temp
        Using JRE_HOME:        /opt/jdk8u202-b08/jre
        Using CLASSPATH:       /opt/atlassian/crowd/atlassian-crowd-5.0.1/apache-tomcat/bin/bootstrap.jar:/opt/atlassian/crowd/atlassian-crowd-5.0.1/apache-tomcat/bin/tomcat-juli.jar
        Using CATALINA_OPTS:
        Using CATALINA_PID:    /opt/atlassian/crowd/atlassian-crowd-5.0.1/apache-tomcat/work/catalina.pid
        Tomcat did not stop in time.
        PID file was not removed.
        To aid diagnostics a thread dump has been written to standard out.
        
      5. The second attempt will successfully stop the tomcat however, you will see the below error message
        root@ip-10-9-31-134:/opt/atlassian/crowd/atlassian-crowd-5.0.1# ./stop_crowd.sh
        Using CATALINA_BASE:   /opt/atlassian/crowd/atlassian-crowd-5.0.1/apache-tomcat
        Using CATALINA_HOME:   /opt/atlassian/crowd/atlassian-crowd-5.0.1/apache-tomcat
        Using CATALINA_TMPDIR: /opt/atlassian/crowd/atlassian-crowd-5.0.1/apache-tomcat/temp
        Using JRE_HOME:        /opt/jdk8u202-b08/jre
        Using CLASSPATH:       /opt/atlassian/crowd/atlassian-crowd-5.0.1/apache-tomcat/bin/bootstrap.jar:/opt/atlassian/crowd/atlassian-crowd-5.0.1/apache-tomcat/bin/tomcat-juli.jar
        Using CATALINA_OPTS:
        Using CATALINA_PID:    /opt/atlassian/crowd/atlassian-crowd-5.0.1/apache-tomcat/work/catalina.pid
        Jul 26, 2022 2:28:45 AM org.apache.catalina.startup.Catalina stopServer
        SEVERE: Could not contact [localhost:8020] (base port [8020] and offset [0]). Tomcat may not be running.
        Jul 26, 2022 2:28:45 AM org.apache.catalina.startup.Catalina stopServer
        SEVERE: Error stopping Catalina
        java.net.ConnectException: Connection refused (Connection refused)
        	at java.net.PlainSocketImpl.socketConnect(Native Method)
        	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
        	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
        	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
        	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        	at java.net.Socket.connect(Socket.java:589)
        	at java.net.Socket.connect(Socket.java:538)
        	at java.net.Socket.<init>(Socket.java:434)
        	at java.net.Socket.<init>(Socket.java:211)
        	at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:511)
        	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        	at java.lang.reflect.Method.invoke(Method.java:498)
        	at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:391)
        	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:481)
        
        The stop command failed. Attempting to signal the process to stop through OS signal.
        Tomcat stopped.
        

      Expected Results

      Crowd should be able to stop properly

      Actual Results

      See the above error messages from steps 4 and 5

      Workaround

      Adding a -force header helps to shut down the Crowd. But there is no way to gracefully shut it down.

      stop-crowd.sh -force
      

      Notes

      • Issue cannot be reproduced in Crowd 4.4

            Assignee:
            Unassigned
            Reporter:
            Lei Wang
            Votes:
            8 Vote for this issue
            Watchers:
            13 Start watching this issue

              Created:
              Updated: