From 3ca2cbcfbd2fd606ca9d2cb232610df04a5594a3 Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Sat, 22 Nov 2025 07:31:05 -0600 Subject: [PATCH 1/4] In case of too many args on command line be more clear about what was provided We have a case where in Mission Portal the Run Agent button causes a Too many arguments error from Windows agents. This change seeks to understand why. Ticket: ENT-13530 Changelog: none (cherry picked from commit 71c2600fb72343fc51449d48c6ecfac42bc931a2) --- libpromises/generic_agent.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/libpromises/generic_agent.c b/libpromises/generic_agent.c index 1995536703..bd185ae77e 100644 --- a/libpromises/generic_agent.c +++ b/libpromises/generic_agent.c @@ -2464,6 +2464,17 @@ bool GenericAgentConfigParseArguments(GenericAgentConfig *config, int argc, char if (argc > 1) { +Log(LOG_LEVEL_ERR, "Special 1-arg expected, got %d arguments instead. See debug output for details.", argc); +for (int i=0; i Date: Sat, 22 Nov 2025 14:32:04 -0600 Subject: [PATCH 2/4] more debug --- cf-serverd/server_common.c | 4 ++-- libpromises/generic_agent.c | 11 ++++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/cf-serverd/server_common.c b/cf-serverd/server_common.c index 916bbdffcc..817e6dc989 100644 --- a/cf-serverd/server_common.c +++ b/cf-serverd/server_common.c @@ -1761,10 +1761,10 @@ bool DoExec2(const EvalContext *ctx, /* STEP 5: RUN CFRUNCOMMAND. */ snprintf(sendbuf, sendbuf_size, - "cf-serverd executing cfruncommand: %s\n", + "cf-serverd executing cfruncommand: '%s'\n", cmdbuf); SendTransaction(conn->conn_info, sendbuf, 0, CF_DONE); - Log(LOG_LEVEL_INFO, "%s", sendbuf); + Log(LOG_LEVEL_INFO, "'%s'", sendbuf); FILE *pp = cf_popen(cmdbuf, "r", true); if (pp == NULL) diff --git a/libpromises/generic_agent.c b/libpromises/generic_agent.c index bd185ae77e..d5c869c36e 100644 --- a/libpromises/generic_agent.c +++ b/libpromises/generic_agent.c @@ -2466,11 +2466,12 @@ bool GenericAgentConfigParseArguments(GenericAgentConfig *config, int argc, char { Log(LOG_LEVEL_ERR, "Special 1-arg expected, got %d arguments instead. See debug output for details.", argc); for (int i=0; i Date: Sun, 23 Nov 2025 11:21:36 -0600 Subject: [PATCH 3/4] debug-next --- libpromises/generic_agent.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libpromises/generic_agent.c b/libpromises/generic_agent.c index d5c869c36e..51a6eb788b 100644 --- a/libpromises/generic_agent.c +++ b/libpromises/generic_agent.c @@ -2457,6 +2457,7 @@ pid_t ReadPID(char *filename) bool GenericAgentConfigParseArguments(GenericAgentConfig *config, int argc, char **argv) { +printf("CRAIG ParseArg()\n"); if (argc == 0) { return true; From f95fe81bcfa5551e17b5024ee09fcef0141754c5 Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Sun, 23 Nov 2025 17:44:00 -0600 Subject: [PATCH 4/4] Add debug of argc and argv as received by cf-agent --- cf-agent/cf-agent.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cf-agent/cf-agent.c b/cf-agent/cf-agent.c index a5b7e73da1..e3054b27ef 100644 --- a/cf-agent/cf-agent.c +++ b/cf-agent/cf-agent.c @@ -273,6 +273,10 @@ static PromiseResult DefaultVarPromiseWrapper(EvalContext *ctx, const Promise *p int main(int argc, char *argv[]) { +printf("CRAIG: cf-agent argc=%d\n", argc); +for(int i=0; i