After upgrading to AutoSys 24.1.01 and EEM 12.7.2, both the as_server (Application Server) and igateway (Eiam) processes crash. The as_server log (or standard out) displays the following error: istring::buildmatch: error [nothing to repeat] offset [0] compiling pattern
Product: AutoSys Workload Automation
Environment:
AutoSys 24.1.01
Eiam (EEM) 12.7.2
This crash occurs due to EEM policies that contain invalid or inconsistent resource definitions when the "treat resource as regular expression" option is enabled.
Legacy Behavior: Earlier versions of EEM utilized the pcre-8.45 library, which was more permissive regarding syntax errors in regular expressions.
Current Behavior: EEM 12.7.x has been upgraded to use pcre2-10.44, which enforces much stricter syntax rules.
Example: A resource defined as *.ABC with regex enabled will fail in pcre2 because the * quantifier has no preceding character to repeat, leading to the [nothing to repeat] error.
You must identify and correct the invalid regex patterns within your EEM policies. A Python script, validate_regex.py, can be used to scan an export of your policies for these errors.
Export Policies: Export your EEM policies to an XML/text file (e.g., EEM_AutoSys_Export.out).
Run Validation Script: Use the following command to parse the export and identify invalid patterns:
python validate_regex.py "<policy file>" "<outputfile>"
Example Execution:
python validate_regex.py "EEM_AutoSys_Export.out" "output2.txt"
Example Output:
Parsing XML file: EEM_AutoSys_Export.out
Validating regex patterns...
Found 3 invalid regex patterns.
Results written to: output2.txt
Sample Results File:
The output file will list the specific policies and the invalid regex strings:
| Policy Name | ResourceClassName | Invalid Regex |
| Example-securityprofile | as-securityprofile | *admin* |
| Example-connectionprofile | as-connectionprofile | *enduser* |
| Example-appl | as-appl | *.PAYROLL |
Correct the Policies: Log into the EEM UI, locate the identified policies, and either:
Correct the regex syntax (e.g., change *admin* to .*admin.*).
Uncheck the "treat resource as regular expression" box if a literal match or standard wildcard is intended.
Additional Information:
Please consult the EEM 12.7.0 release notes for further details on the transition to pcre2.
Next Steps:
Ensure the validate_regex.py script is made available to the relevant administrators.
After correcting the policies in EEM, restart the igateway and as_server services to verify stability.