On Jul 14, 2008, at 10:13 PM, matt wrote:

> And when I comment out these settings, things start working again (at
> least now during non-peak hours), so it seems these settings break cap
> (or net:ssh).  In the man page for sshd_config, it states that these
> settings are for ssh protocol v2 only - is net::ssh v2?  If it is,
> then maybe the async nature of the server polling back to the client
> is exposing a bug somewhere?

Net::SSH is v2, yeah. I suspect the absence of those settings just  
means that the connection remains open until the underlying connection  
times out, which is longer than the 60 seconds that you had originally  
set.

> Also, the net:ssh docs mention have this intriguing example for
> Net::SSH::Connection:Session::send_global_request
> ssh.send_global_request("[EMAIL PROTECTED]")
> If I can't get server side keep alives working, any tips on using this
> as a keep-alive mechanism on the client side?

I'd need to see your full deploy.rb to answer that one. Basically, at  
certain points during your local processing, you'd need to do  
something like:

   sessions.values.each do |session|
     session.send_global_request("[EMAIL PROTECTED]")
   end

That may not be possible, though, if your local processing involves  
something like waiting for a text editor to finish (which is where  
I've run into this in the past).

- Jamis

>
>
> Matt
>
>
> On Jul 14, 10:53 pm, matt <[EMAIL PROTECTED]> wrote:
>> Nope,
>>
>> ClientAliveInterval 15
>> ClientAliveCountMax 15
>>
>> gives the following stack trace every time in the same place (when it
>> tries to restart the 3rd of 3 app server instances)
>>
>> /Library/Ruby/Gems/1.8/gems/net-ssh-2.0.3/lib/net/ssh/buffered_io.rb:
>> 98:in `send': closed stream (IOError)
>>         from /Library/Ruby/Gems/1.8/gems/net-ssh-2.0.3/lib/net/ssh/
>> buffered_io.rb:98:in `send_pending'
>>         from /Library/Ruby/Gems/1.8/gems/net-ssh-2.0.3/lib/net/ssh/ 
>> connection/
>> session.rb:208:in `postprocess'
>>         from /Library/Ruby/Gems/1.8/gems/net-ssh-2.0.3/lib/net/ssh/ 
>> connection/
>> session.rb:207:in `each'
>>         from /Library/Ruby/Gems/1.8/gems/net-ssh-2.0.3/lib/net/ssh/ 
>> connection/
>> session.rb:207:in `postprocess'
>>         from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/lib/ 
>> capistrano/
>> processable.rb:31:in `process_iteration'
>>         from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/lib/ 
>> capistrano/
>> processable.rb:43:in `ensure_each_session'
>>         from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/lib/ 
>> capistrano/
>> processable.rb:41:in `each'
>>         from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/lib/ 
>> capistrano/
>> processable.rb:41:in `ensure_each_session'
>>          ... 75 levels...
>>         from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/lib/ 
>> capistrano/cli/
>> execute.rb:14:in `execute'
>>         from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/bin/cap:4
>>         from /usr/bin/cap:19:in `load'
>>         from /usr/bin/cap:19
>>
>> or sometimes this trace earlier in the process:
>>
>> /Library/Ruby/Gems/1.8/gems/net-ssh-2.0.3/lib/net/ssh/connection/
>> session.rb:523:in `channel_request': undefined method `do_request'  
>> for
>> nil:NilClass (NoMethodError)
>>         from /Library/Ruby/Gems/1.8/gems/net-ssh-2.0.3/lib/net/ssh/ 
>> connection/
>> session.rb:428:in `send'
>>         from /Library/Ruby/Gems/1.8/gems/net-ssh-2.0.3/lib/net/ssh/ 
>> connection/
>> session.rb:428:in `dispatch_incoming_packets'
>>         from /Library/Ruby/Gems/1.8/gems/net-ssh-2.0.3/lib/net/ssh/ 
>> connection/
>> session.rb:185:in `preprocess'
>>         from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/lib/ 
>> capistrano/
>> processable.rb:17:in `process_iteration'
>>         from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/lib/ 
>> capistrano/
>> processable.rb:43:in `ensure_each_session'
>>         from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/lib/ 
>> capistrano/
>> processable.rb:41:in `each'
>>         from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/lib/ 
>> capistrano/
>> processable.rb:41:in `ensure_each_session'
>>         from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/lib/ 
>> capistrano/
>> processable.rb:17:in `process_iteration'
>>          ... 74 levels...
>>         from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/lib/ 
>> capistrano/cli/
>> execute.rb:14:in `execute'
>>         from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/bin/cap:4
>>         from /usr/bin/cap:19:in `load'
>>         from /usr/bin/cap:19
>>
>> On Jul 14, 3:37 pm, Jamis Buck <[EMAIL PROTECTED]> wrote:
>>
>>> Try reducing the interval to 15 or 20 and see if that makes any
>>> difference. If it doesn't, try setting ClientAliveCountMax to 6 or
>>> higher.
>>
>>> - Jamis
>>
>>> On Jul 14, 2008, at 1:07 PM, matt wrote:
>>
>>>> Ok, I added "ClientAliveInterval 60", and now I'm getting a  
>>>> couple of
>>>> different errors, at the exact same point in the deploy process  
>>>> that I
>>>> was getting the ECONNRESET, pretty repeatable, and probably too
>>>> strange to be coincidence:
>>
>>>> /Library/Ruby/Gems/1.8/gems/net-ssh-2.0.3/lib/net/ssh/ 
>>>> buffered_io.rb:
>>>> 98:in `send': closed stream (IOError)
>>>>    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.0.3/lib/net/ssh/
>>>> buffered_io.rb:98:in `send_pending'
>>>>    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.0.3/lib/net/ssh/
>>>> connection/
>>>> session.rb:208:in `postprocess'
>>>>    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.0.3/lib/net/ssh/
>>>> connection/
>>>> session.rb:207:in `each'
>>>>    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.0.3/lib/net/ssh/
>>>> connection/
>>>> session.rb:207:in `postprocess'
>>>>    from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/lib/ 
>>>> capistrano/
>>>> processable.rb:31:in `process_iteration'
>>>>    from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/lib/ 
>>>> capistrano/
>>>> processable.rb:43:in `ensure_each_session'
>>>>    from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/lib/ 
>>>> capistrano/
>>>> processable.rb:41:in `each'
>>>>    from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/lib/ 
>>>> capistrano/
>>>> processable.rb:41:in `ensure_each_session'
>>>>     ... 75 levels...
>>>>    from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/lib/ 
>>>> capistrano/cli/
>>>> execute.rb:14:in `execute'
>>>>    from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/bin/cap:4
>>>>    from /usr/bin/cap:19:in `load'
>>>>    from /usr/bin/cap:19
>>
>>>> /Library/Ruby/Gems/1.8/gems/net-ssh-2.0.3/lib/net/ssh/connection/
>>>> session.rb:523:in `channel_request': undefined method  
>>>> `do_request' for
>>>> nil:NilClass (NoMethodError)
>>>>    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.0.3/lib/net/ssh/
>>>> connection/
>>>> session.rb:428:in `send'
>>>>    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.0.3/lib/net/ssh/
>>>> connection/
>>>> session.rb:428:in `dispatch_incoming_packets'
>>>>    from /Library/Ruby/Gems/1.8/gems/net-ssh-2.0.3/lib/net/ssh/
>>>> connection/
>>>> session.rb:185:in `preprocess'
>>>>    from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/lib/ 
>>>> capistrano/
>>>> processable.rb:17:in `process_iteration'
>>>>    from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/lib/ 
>>>> capistrano/
>>>> processable.rb:43:in `ensure_each_session'
>>>>    from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/lib/ 
>>>> capistrano/
>>>> processable.rb:41:in `each'
>>>>    from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/lib/ 
>>>> capistrano/
>>>> processable.rb:41:in `ensure_each_session'
>>>>    from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/lib/ 
>>>> capistrano/
>>>> processable.rb:17:in `process_iteration'
>>>>     ... 74 levels...
>>>>    from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/lib/ 
>>>> capistrano/cli/
>>>> execute.rb:14:in `execute'
>>>>    from /Library/Ruby/Gems/1.8/gems/capistrano-2.4.3/bin/cap:4
>>>>    from /usr/bin/cap:19:in `load'
>>>>    from /usr/bin/cap:19
>>
>>>> On Jul 8, 4:33 pm, matt <[EMAIL PROTECTED]> wrote:
>>>>> I have TCPKeepAlive turned on, but not ClientAliveInterval, I'll  
>>>>> try
>>>>> that.  Thanks,
> >


--~--~---------~--~----~------------~-------~--~----~
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/capistrano
-~----------~----~----~----~------~----~------~--~---

Reply via email to