diff --git a/changes/bug5099 b/changes/bug5099 new file mode 100644 index 0000000000..4c46a396a2 --- /dev/null +++ b/changes/bug5099 @@ -0,0 +1,3 @@ + o Minor bugfixes: + - Improve log message issued when a managed proxy fails to + launch. Fixes bug 5099; bugfix on 0.2.3.6-alpha. diff --git a/src/or/transports.c b/src/or/transports.c index 1522756a52..e43ec6c480 100644 --- a/src/or/transports.c +++ b/src/or/transports.c @@ -697,7 +697,19 @@ handle_proxy_line(const char *line, managed_proxy_t *mp) return; } else if (!strcmpstart(line, SPAWN_ERROR_MESSAGE)) { - log_warn(LD_GENERAL, "Could not launch managed proxy executable!"); + /* managed proxy launch failed: parse error message to learn why. */ + int retval, child_state, saved_errno; + retval = tor_sscanf(line, SPAWN_ERROR_MESSAGE "%x/%x", + &child_state, &saved_errno); + if (retval == 2) { + log_warn(LD_GENERAL, + "Could not launch managed proxy executable at '%s' ('%s').", + mp->argv[0], strerror(saved_errno)); + } else { /* failed to parse error message */ + log_warn(LD_GENERAL,"Could not launch managed proxy executable at '%s'.", + mp->argv[0]); + } + mp->conf_state = PT_PROTO_FAILED_LAUNCH; return; }