[
https://issues.apache.org/jira/browse/SSHD-1085?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
min yun law updated SSHD-1085:
------------------------------
Description:
Trying to run linux command "reboot" by mina sshd to remote node, the node is
in reboot, but the ClientChannel object still keep open, not in closed status,
Here is the logic code in my project:
{code:java}
String command = "reboot";
ChannelExec channel = clientSession.createExecChannel(command);
if(!channel.isClosed())
{
ByteArrayOutputStream out = new ByteArrayOutputStream(); ByteArrayOutputStream
err = new ByteArrayOutputStream(); channel.setOut(out);
channel.setErr(err);
channel.open().await(); //this passed //follow call will cause stuck
Collection<ClientChannelEvent> waitMask =
channel.waitFor(REMOTE_COMMAND_WAIT_EVENTS, 0L);
String outputStr = new String(out.toByteArray(), StandardCharsets.UTF_8);
//some case this will throw runtime exception
int exitStatus = channel.getExitStatus();
}
{code}
So why the ChannelExec cannot get the correct channel status when remote node
is rebooting?
was:
Trying to run linux command "reboot" by mina sshd to remote node, the node is
in reboot, but the ClientChannel object still keep open, not in closed status,
Here is the logic code in my project:
String command = "reboot";
ChannelExec channel = clientSession.createExecChannel(command);
if(!channel.isClosed())
{
ByteArrayOutputStream out = new ByteArrayOutputStream();
ByteArrayOutputStream err = new ByteArrayOutputStream();
channel.setOut(out);
channel.setErr(err);
channel.open().await(); //this passed
//follow call will cause stuck
Collection<ClientChannelEvent>
waitMask = channel.waitFor(REMOTE_COMMAND_WAIT_EVENTS, 0L);
String outputStr =
new String(out.toByteArray(), StandardCharsets.UTF_8);
//some case this will throw runtime exception
int exitStatus = channel.getExitStatus();
}
So why the ChannelExec cannot get the correct channel status when remote node
is rebooting?
> channel.waitFor() get stuck when run reboot command
> ---------------------------------------------------
>
> Key: SSHD-1085
> URL: https://issues.apache.org/jira/browse/SSHD-1085
> Project: MINA SSHD
> Issue Type: Bug
> Affects Versions: 2.5.1
> Environment: linux
> Reporter: min yun law
> Priority: Major
>
> Trying to run linux command "reboot" by mina sshd to remote node, the node is
> in reboot, but the ClientChannel object still keep open, not in closed
> status, Here is the logic code in my project:
>
> {code:java}
> String command = "reboot";
> ChannelExec channel = clientSession.createExecChannel(command);
> if(!channel.isClosed())
> {
> ByteArrayOutputStream out = new ByteArrayOutputStream();
> ByteArrayOutputStream err = new ByteArrayOutputStream(); channel.setOut(out);
> channel.setErr(err);
> channel.open().await(); //this passed //follow call will cause stuck
> Collection<ClientChannelEvent> waitMask =
> channel.waitFor(REMOTE_COMMAND_WAIT_EVENTS, 0L);
> String outputStr = new String(out.toByteArray(), StandardCharsets.UTF_8);
> //some case this will throw runtime exception
> int exitStatus = channel.getExitStatus();
> }
>
> {code}
>
> So why the ChannelExec cannot get the correct channel status when remote node
> is rebooting?
>
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]