[ 
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]

Reply via email to