On 12/29/2009 03:55 AM, Paul Michael Reilly wrote:
> On 12/28/2009 12:12 AM, matsuda wrote:
>> Hi,
>>
>> I have a trouble using (SSH)Exec problem.
>> It is that "channel object" sometimes fails to detect the close signal.
>> Can anyone help me?
>>
>> While program does polling a remote SSH server by "ls" command,
>> "if(channel.isClosed())" sometimes doesn't change true forever!
>>
>> According to my experience, it occurs after running some nights or
>> more than 1000 times loop.
>>
>> For debug, I add below test message, then it appears.
>> It shows exit status code changed( from -1 to 0 ),
>> but channel hasn't closed.
>>     if( !channel.isClosed()&&   channel.getExitStatus() == 0 ){
>>       System.out.println("before close exit-status changed!" );
>>     }
>>
>>
>> Q1. Is is a known problem?
>>
>> Q2. How should I write program to recover this problem?
>
> These are very good questions.  I have encountered both recently myself.
>    I also can attest that disconnects I know to exist were not reported
> by my running application, so either I misunderstand the semantics of
> Channel.isClosed() and/or Channel.isConnected() or in fact there is a
> bug in this part of the JSch library.

I still do not have a good feel whether there is a bug in the 
Channel/Session classes wrt disconnect and closing not being detected 
and reported properly.  I think there is but would be hard pressed to 
clearly state what it is.

The new application code I have written to work around this very real 
problem tries to force the issue by opening a short lived ChannelExec 
connection and executing a simple (date) command.  The theory being that 
if the Session has died (been closed or disconnected but still reports a 
connected status) then the death will be revealed for sure in the 
attempt to transfer bytes.  Once the workaround can be shown to be 
working I will attempt to find the real problem with the library while 
still having a useful application.  I expect it will take much effort 
and considerable time.

-pmr

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
JSch-users mailing list
JSch-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jsch-users

Reply via email to