Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conch/SSH Crash on CHANNEL_REQUEST #42

Open
irskep opened this issue Sep 29, 2011 · 2 comments
Open

Conch/SSH Crash on CHANNEL_REQUEST #42

irskep opened this issue Sep 29, 2011 · 2 comments

Comments

@irskep
Copy link
Contributor

irskep commented Sep 29, 2011

Unhandled Error
Traceback (most recent call last):
 File "/usr/lib/python2.6/dist-packages/twisted/internet/selectreactor.py", line 146, in _doReadOrWrite
   why = getattr(selectable, method)()
 File "/usr/lib/python2.6/dist-packages/twisted/internet/tcp.py", line 460, in doRead
   return self.protocol.dataReceived(data)
 File "/usr/lib/python2.6/dist-packages/twisted/conch/ssh/transport.py", line 313, in dataReceived
   self.dispatchMessage(messageNum, packet[1:])
 File "/usr/lib/python2.6/dist-packages/twisted/conch/ssh/transport.py", line 335, in dispatchMessage
   messageNum, payload)
---  ---
 File "/usr/lib/python2.6/dist-packages/twisted/python/log.py", line 84, in callWithLogger
   return callWithContext({"system": lp}, func, *args, **kw)
 File "/usr/lib/python2.6/dist-packages/twisted/python/log.py", line 69, in callWithContext
   return context.call({ILogContext: newCtx}, func, *args, **kw)
 File "/usr/lib/python2.6/dist-packages/twisted/python/context.py", line 59, in callWithContext
   return self.currentContext().callWithContext(ctx, func, *args, **kw)
 File "/usr/lib/python2.6/dist-packages/twisted/python/context.py", line 37, in callWithContext
   return func(*args,**kw)
 File "/usr/lib/python2.6/dist-packages/twisted/conch/ssh/service.py", line 44, in packetReceived
   return f(packet)
 File "/usr/lib/python2.6/dist-packages/twisted/conch/ssh/connection.py", line 294, in ssh_CHANNEL_REQUEST
   channel = self.channels[localChannel]
exceptions.KeyError: 0
@dnephin
Copy link
Contributor

dnephin commented Feb 15, 2013

The real problem may be an issue with tron.ssh.ExecChannel re-sending a close message, but this should at least handle the exceptions.

@dnephin dnephin reopened this Feb 25, 2013
@dnephin
Copy link
Contributor

dnephin commented Feb 26, 2013

This happens when the SSH server sends a channel request back to trond, but trond has already closed the channel and forgotten about it. The only request type I see coming from the ssh server is exit-status. Something is causing the local (trond) side to close the channel before the server has closed it's end.

Adding logging around this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

2 participants