Knowledgebase: Advisories
Memory Leak in Workflow v4.9.9 when connected to FileCatalyst Server
Posted by Aly Essa, Last modified by Aly Essa on 10 May 2017 11:26 AM
Overview
FileCatalyst Workflow v4.9.9 introduced a new feature called Strict Security. This feature requires the use of the Administration account on the FileCatalyst Server to create and authenticate Virtual Users on the FileCatalyst Server. On Workflow deployments which have a large volume of activity the Server Remote Admin connections can multiply and remain open for long periods of time. These open connections hang and do not close properly. If you use Strict Security as part of your deployment the solution outlined in this article will be useful for you.

This article contains modifications that can be made to the Tomcat Web Server service. Please follow the steps in the resolution section to deploy the fix.

Environment
FileCatalyst Workflow v4.9.9 only.
FileCatalyst Server v3.7 only.
Apache Tomcat v7.0 and v8.0.

Resolution
The modification to the Tomcat Web service will require an addition of Java properties to the Java Additional properties section of the startup script. There are several ways to implement this change, we will cover our recommended method in this section.


  1. Shut down the Tomcat Web Server.
  2. Modifying the Java Additional properties:
    1. For Windows using our embedded Tomcat Installation. You can verify this in Services.msc, the service name will be listed as FileCatalyst Web Workflow or FileCatalyst Workflow.
      1. Using explorer navigate to the installation directory of FileCatalyst Workflow. Drill down into the bin directory inside the apache-tomcat folder. A sample path would be C:\FileCatalyst Web Workflow\apache-tomcat\bin
      2. Run the tomcat7fcwebw.exe application.
      3. Under the General tab make sure the Service Status is Stopped. If it is not hit the Stop button.
      4. Navigate to the Java tab.
      5. In the Java Options tab add the following on a new line:

        -Dunlimited.fc.server.api.globalFCAdminExpiry=1440

      6. Hit Apply to save your changes.

    2. In Windows using the standalone Tomcat Installation. You can verify this in Services.msc, the service name will be listed as Apache Tomcat 7.0 or Apache Tomcat 8.0.
      1. Using explorer navigate to the installation directory of Apache Tomcat. Drill down into the bin directory. A sample path would be C:\Tomcat 8.0\bin
        1. Run the tomcat7w.exe or tomcat8w.exe application.
        2. Under the General tab make sure the Service Status is Stopped. If it is not hit the Stop button.
        3. Navigate to the Java tab.
        4. In the Java Options tab add the following on a new line:

          -Dunlimited.fc.server.api.globalFCAdminExpiry=1440

        5. Hit Apply to save your changes.

    3. For all Linux based deployments, the Java Additional property needs to be added to the catalina.sh file.
      1. In a Terminal window, navigate to the Tomcat directory. Drill into the bin folder.
      2. Using vi or nano open the catalina.sh file.
      3. Locate the export JAVA_OPTS line and add the following property, if this line does not exist then you will need to add the full line:

        Property: 
        -Dunlimited.fc.server.api.globalFCAdminExpiry=1440
        Example:
        export JAVA_OPTS="-server -XX:MaxPermSize=256m -Xmx1200m -Xms1200m -Dfile.encoding=utf-8 -Dunlimited.fc.server.api.globalFCAdminExpiry=1440"

      4. Save your changes and close the file.

  3. Once the property is added, the Tomcat Web Server can be started.
  4. Log into Workflow using the Super Admin Account.
  5. Click on About FileCatalyst button on the top menu bar.
  6. Scroll down the page to Additional Java Info and in this subsection, you should be able to locate the parameter unlimited.fc.server.api.globalFCAdminExpiry if the modifications in step 2 were successful. You should see the following:


    FileCatalyst Workflow Settings


Comments (0)