bzr asked me to send you a bug report

Richard Kettlewell rjk at greenend.org.uk
Sat Aug 4 13:10:21 BST 2007


Martin Pool writes:
> On 7/28/07, Richard Kettlewell <rjk at greenend.org.uk> wrote:
> > bzr: ERROR: exceptions.AssertionError:
> 
> Hi Richard,
> 
> I believe this is caused by a bug in Paramiko where it raises
> AssertionError if it gets a short response back over sftp.  The root
> cause may be that your connection was dropped by the server.  (Is it
> reproducible?)

Yes, it happens every time.  It works OK with the versions from Debian
etch.

The last activity seen by the SFTP server is an SSH_FXP_CLOSE:

  request:
     0  04 00 00 00 38 00 00 00 08 00 00 00 00 00 00 00  ....8...........
    10  0a                                               .
  response:
     0  65 00 00 00 38 00 00 00 00 00 00 00 02 4f 4b 00  e...8........OK.
    10  00 00 02 65 6e                                   ...en

You can also see this in strace of the server (with lots of calls to
futex removed):

  2672  <... read resumed> "\0\0\0\21", 4) = 4
The length word of the SSH_FXP_CLOSE
  2672  read(0, "\4\0\0\0008\0\0\0\10\0\0\0\0\0\0\0\n", 17) = 17
The SSH_FXP_CLOSE itself
  2672  read(0,  <unfinished ...>
  2673  close(3)                          = 0
Act on the SSH_FXP_CLOSE
  2673  write(1, "\0\0\0\25e\0\0\0008\0\0\0\0\0\0\0\2OK\0\0\0\2en", 25) = 25
Send the SSH_FXP_STATUS OK (NB, \25 octal = 21 decimal)
  2672  <... read resumed> "", 4)         = 0
Client has closed connection
  2675  _exit(0)                          = ?
  2674  _exit(0)                          = ?
  2676  _exit(0)                          = ?
  2673  brk(0x8086000)                    = 0x8086000
  2673  _exit(0)                          = ?
  2672  exit_group(0)                     = ?

The SFTP server is not the OpenSSH SFTP server, though the SSH server
used for transport is the OpenSSH server as found in Debian etch.
Obviously a bug in the SFTP server is one possibility but I haven't
yet found any evidence of it doing anything wrong.

stracing the client seems to show it chattering away with the SSH
server even after the point where it raises the error.

> We have asked that Paramiko raise a more specific error rather than
> asserting; upgrading python-paramiko may help with that or at least
> give a better indication of what happened.

I'll see if I can find some time to try a later Paramiko.

ttfn/rjk



More information about the bazaar mailing list