Purpose

This page will help you solve problems when running Run Dynamic Link Manager.

Run Dynamic Link Manager is a feature of CAST AIP to validate or ignore dynamic links found in the source code. This operation is done by using the configuration defined by the user. 

Dynamic Links

The dynamic links can be generated by the analyzers or by a Reference Finder. To find out if a dynamic link has been generated by an analyzer ot by a Reference Finder, navigate to SQL Queries - CAST Knowledge Base - Queries on Links - How to get the name of the project and the type of the project for a given link.

  1. If you face an issue on links generated by a Reference Finder, navigate to Reference Pattern Dependencies.

  2. If you face an issue on links generated by the analyzers, navigate to Run Analyzer

For more information, refer to:

Observed in CAST AIP
Release
Yes/No
8.3.x(tick)
8.2.x (tick) 
8.1.x (tick) 
8.0.x (tick)
7.3.x(tick)
7.2.x(tick)
7.0.x(error)
Observed on RDBMS
RDBMS
Yes/No
Oracle Server(tick)
Microsoft SQL Server(tick)
CSS3(tick)
CSS2(tick)
CSS1(error)
Action Plan*
  1. If the Run Dynamic link rules has failed, open the DynamicLinkManager.log file that is located in Run Dynamic Link Manager Log.
  2. If the dynamic links has failed with an error message :
    1. Open the DynamicLinkManager.log file that is located in Run Dynamic Link Manager Log 
    2. Go to the end of the log file
    3. Check the error message. Check if it is a fatal error having a stack trace just below the error message. like in the example shown below :
    4. Navigate to the below pages :
  3. If the DynamicLinkManager.log file does not exist, that means it has not been created :
    1. Check that in your Dynamic link log file folder that you have the required write permission as described in the page Install AIP Core in section Windows login privileges
       
    2. If you have the required rights, go to your CAST installation folder and check the size of the file Dynamiclinks.cli.exe is not 0.
    3. If the size is 0, your CAST Installation folder has been corrupted. Install the CAST product again.
    4. If the size is not 0 :
      1. Open a command prompt and go to your CAST Installation folder.
      2. Run Dynamiclinks.cli.exe without any parameters.
      3. If it raises an "Invalid command line" error message as below screenshot, then the file Dynamiclinks.cli.exe is not corrupted :
        1. Run the Dynamiclinks.cli.exe with the relevant parameters as indicated in the page CMS - Dynamic Link Manager filter rules
      4. If it raises the message This app can't run on your PC, then the file Dynamiclinks.cli.exe is corrupted:
        1. Install the CAST product again.
  4. After running the Dynamic Links Rules, if links have not been ignored or validated (How to check that links have been ignored / validated) :
    You can run the below query in your local to identify whether the link is a dynamic link (invalid link, created based on string) and has been reviewed but not ignored:

    SELECT kPro.keynam AS PROJECT_NAME,
          t.typnam    AS PROJECT_TYPE, a.*
    FROM  KEYS kPro
          JOIN TYP t
          ON    t.idtyp = kPro.objtyp
          JOIN ACC a
          ON    a.idpro = kPro.idkey
    WHERE  a.idclr        =<caller_object>
    AND    a.idCle        =<callee_object>;

    If property is 32769, then its a dynamic link which has been reviewed but not ignored.

    1. Check that the links to be ignored / validated are in the scope of the Dynamic Link rules :
      1. Open the rules file that is defined in CAST MS, in production tab.
      2. As it is described in CMS - Dynamic Link Manager filter rules, check if the rules scope is at the Application level, Analysis Unit level or Technology level.
        1. If the scope is at Technology level, is the callee object of the link the same technology than the technology of the scope ? If no, then it is expected that the link has not been ignored / validated.
        2. If the scope is at Analysis Unit level, is the caller object of the link belongs to the Analysis Unit ?
    2. Check if the links to be ignored / validated are taken into account by the filter of the Dynamic Link rules :
      1. As it is described in CMS - Dynamic Link Manager filter rules, check if the callee objects fulfill the conditions of the filters. Note that if the filter is for RawString, it is applicable only on the line that is hitted by the Regular Expression. The Carriage Return (\n) is not taken into account.
    3. If the callertype and calleetype are defined in the rule, check that the callerType and calleeType name are defined in the databases (CB, KB, Mngt), in the table Typ. The field is typnam. If it is not there, then it is expected that the link is ignored.
  5. If you do not find the information you are looking for or solution for your problem, in this page, contact CAST Technical Support and provide with the Relevant Input in order to Reproduce the Issue.

To reproduce the issue

  1. Restore the local database and the management database.
  2. Create a connection profile with CAST Management Studio with a specific name.
  3. In the Sherlock output, look at the dlm rule file (extension is *.dlm.xml). It is in the configuration file. Copy this file in one of your folder.
  4. Open a command prompt line and run the command line to execute the DLM as described in the documentation : End User Guides > End-user application documentation > CMS - CAST Management Studio > CMS - CAST Management Studio > How To > CMS - Dynamic Link Manager filter rules

Relevant Input

  • CAST Support Tool (CST) - alias Sherlock. Option to select :
    • Export Database Backup (Management database and Local database)
    • Export logs
    • If you are using the DLM Rules xxxStringFromCode regexp Export source code as below screenshot :

    • Export configuration file.
  • Screenshot describing the error/warning.
  • Example of a specific case which the rule should have properly filtered. 
Notes/comments


Related Pages