ACC Check Definitions that don't explicitly state the Exec Mode, could default to the wrong one, and fail to run (e.g. "Grab agent config (acc.yml)" fails)DescriptionACC-F 2.9 added a Exec Mode [exec_mode] field on sn_agent_check_def and sn_agent_check. Values are "execv" function / "shell" command. No value is treated as shell mode.2.9 dictionary record had default="execv", 2.10 and later then changed that to "shell", but those instances that had 2.9 can remain with "execv" as the default in the dictionary.Some out-of-box sn_agent_check_def records in the app distribution package don't actually have a value explicitly setting this field, if they predate 2.9. This means reverting to out-of-box or repairing the whole app does not correct this value to "shell".That can lead to checks [sn_agent_check] getting set to the wrong "execv" mode while ACC-V version is 2.9, and they fail to run properly in the agent. Or vice versa.Steps to Reproduce This affects installs on version 2.10.0. This example has been seen in a customer an internal demo instance:Click "Grab agent config (acc.yml)" on an Agent record, you see "Attaching acc.yml. Refresh the form in a few seconds to see the attached file.", and then nothing happens.That UI action uses Check Definition "config file reader", which requires "shell" exec mode to work. On an instance that has had ACC-V 2.9 in the past, even if it is on the latest version now, may end up with that check set to "execv".Inspect the ecc_queue input:"output" : "Check failed to run: wrong number of arguments (given 1, expected 0), [\"/usr/share/servicenow/agent-client-collector/embedded/lib/ruby/gems/2.7.0/gems/sensu-sn-readfile-1.1.3/bin/read-file.rb:36:in `to_s'\", \"/usr/share/servicenow/agent-client-collector/embedded/lib/ruby/gems/2.7.0/gems/sensu-sn-readfile-1.1.3/bin/read-file.rb:36:in `run'\", \"/usr/share/servicenow/agent-client-collector/embedded/lib/ruby/gems/2.7.0/gems/sensu-plugin-1.4.7/lib/sensu-plugin/cli.rb:58:in `block in <class:CLI>'\"]\n""exec_mode" : "execv"That is also misleading because of a syntax error in read-file.rb:36. (see PRB1632860), and what it means to say is:"output" : "SensuSnReadFile WARNING: %ProgramData%\\ServiceNow\\agent-client-collector\\config\\acc.yml file not found\r\n"The error is because we can't substitute the environment variable, to get the proper path, because we don't run in Shell mode.WorkaroundAfter carefully considering the severity and frequency of the issue, and the cost and risk of attempting a fix, it has been decided to not address this issue in any current or near future releases. We do not make this decision lightly, and we apologise for any inconvenience. The workaround is to upgrade the installs to 3.0 or later. Only 2.10.0 installs have the problem. To allow the self-upgrade to work for these agents, temporarily set the sn_agent_check_def records for these checks to Exec Mode = Shell Agent Upgrade - DEBAgent Upgrade - RPMAgent Upgrade - MSI Reverting to Out-of-box, or repairing the app won't solve this, as this field value is not defined in XML file for this record the app's package. Once agents are upgraded, the check definitions can be reverted back to out-of-box, which do now use execv, and will work in 3.0 or later installs.Related Problem: PRB1632856