Opened at 2022-01-21T19:09:42Z
Last modified at 2022-01-28T18:02:00Z
#3863 new defect
builtins.AttributeError: 'FileTransferServer' object has no attribute '_ebClose'
Reported by: | exarkun | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | undecided |
Component: | unknown | Version: | n/a |
Keywords: | Cc: | ||
Launchpad Bug: |
Description
2022-01-21T14:09:01-0500 [SSHChannel session (0) on SSHService b'ssh-connection' on SSHServerTransport,0,127.0.0.1] Unhandled Error Traceback (most recent call last): File "/nix/store/crqq2kycnbjmfdwy7yp2fp1qiwps7xsd-python3.9-twisted-20.3.0/lib/python3.9/site-packages/twisted/python/context.py", line 122, in callWithContext return self.currentContext().callWithContext(ctx, func, *args, **kw) File "/nix/store/crqq2kycnbjmfdwy7yp2fp1qiwps7xsd-python3.9-twisted-20.3.0/lib/python3.9/site-packages/twisted/python/context.py", line 85, in callWithContext return func(*args,**kw) File "/nix/store/crqq2kycnbjmfdwy7yp2fp1qiwps7xsd-python3.9-twisted-20.3.0/lib/python3.9/site-packages/twisted/conch/ssh/session.py", line 112, in dataReceived self.client.transport.write(data) File "/nix/store/crqq2kycnbjmfdwy7yp2fp1qiwps7xsd-python3.9-twisted-20.3.0/lib/python3.9/site-packages/twisted/conch/ssh/session.py", line 163, in write self.proto.dataReceived(data) --- <exception caught here> --- File "/nix/store/crqq2kycnbjmfdwy7yp2fp1qiwps7xsd-python3.9-twisted-20.3.0/lib/python3.9/site-packages/twisted/conch/ssh/filetransfer.py", line 59, in dataReceived f(data) File "/nix/store/crqq2kycnbjmfdwy7yp2fp1qiwps7xsd-python3.9-twisted-20.3.0/lib/python3.9/site-packages/twisted/conch/ssh/filetransfer.py", line 190, in packet_CLOSE self._ebClose(failure.Failure(KeyError()), requestId) builtins.AttributeError: 'FileTransferServer' object has no attribute '_ebClose'
Change History (3)
comment:1 Changed at 2022-01-21T19:33:11Z by exarkun
comment:3 Changed at 2022-01-24T14:23:37Z by exarkun
comment:4 Changed at 2022-01-28T18:02:00Z by exarkun
The Twisted change is merged and almost released - https://mail.python.org/archives/list/twisted@python.org/thread/LJU54CY4S5GIOE46B7XCBVXONRV4BHBX/
I suppose Tahoe can bump its dependency on Twisted when that release is finalized and then call this resolved.
Note: See
TracTickets for help on using
tickets.
This looks a lot like a bug in Twisted Conch. This self._ebClose call was added with the first commit of filetransfer.py in 2003. There was no _ebClose method in that commit nor has one ever been added since.
However, this codepath also seems to be some kind of error path in the sftp server implementation. This is what happens if a client tries to close a handle that is neither a file nor a directory?
I'm not quite sure what the client is trying to do in this case (it's quite easily reproducible though).