You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Dominik Stadler (JIRA)" <ji...@apache.org> on 2012/12/09 18:59:22 UTC
[jira] [Created] (EXEC-71) Changes for EXEC-34 (Race condition
prevent watchdog working using ExecuteStreamHandler) hang endlessly if the
command cannot be found
Dominik Stadler created EXEC-71:
-----------------------------------
Summary: Changes for EXEC-34 (Race condition prevent watchdog working using ExecuteStreamHandler) hang endlessly if the command cannot be found
Key: EXEC-71
URL: https://issues.apache.org/jira/browse/EXEC-71
Project: Commons Exec
Issue Type: Bug
Affects Versions: 1.1
Reporter: Dominik Stadler
The following test hangs endlessly for me because the ExecuteWatchdog will never get "processStarted = true" because starting an non-existing process will never lead to the started flag.
{code}
@Test
public void testCommonsExecHang() throws Exception {
CommandLine command = new CommandLine("someunexistingcommand");
DefaultExecutor executor = new DefaultExecutor();
ExecuteWatchdog watchdog = new ExecuteWatchdog(ExecuteWatchdog.INFINITE_TIMEOUT);
executor.setWatchdog(watchdog);
DefaultExecuteResultHandler resultHandler = new DefaultExecuteResultHandler() {
@Override
public void onProcessFailed(ExecuteException e) {
System.out.println("Process did not stop gracefully, had exception '" + e.getMessage() + "' while executing process");
super.onProcessFailed(e);
}
};
executor.execute(command, null, resultHandler);
// this hangs!!
watchdog.isWatching();
watchdog.destroyProcess();
}
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira