EBADF in paramiko during parallel selftest

Bug #656170 reported by Martin Pool on 2010-10-07
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Bazaar
High
John A Meinel

Bug Description

Traceback (most recent call last):
  File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.6/threading.py", line 484, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib/pymodules/python2.6/paramiko/sftp_file.py", line 453, in _prefetch_thread
    self.sftp._async_request(self, CMD_READ, self.handle, long(offset), int(length))
  File "/usr/lib/pymodules/python2.6/paramiko/sftp_client.py", line 649, in _async_request
    self._send_packet(t, str(msg))
  File "/usr/lib/pymodules/python2.6/paramiko/sftp.py", line 172, in _send_packet
    self._write_all(out)
  File "/usr/lib/pymodules/python2.6/paramiko/sftp.py", line 136, in _write_all
    n = self.sock.send(out)
  File "/home/mbp/bzr/work/bzrlib/transport/ssh.py", line 200, in send
    return self.__socket.send(data)
  File "/usr/lib/python2.6/socket.py", line 167, in _dummy
    raise error(EBADF, 'Bad file descriptor')
error: [Errno 9] Bad file descriptor

I suspect this indicates a bad timing dependency in tearing down the server. I have seen this a couple of times with parallel tests and never otherwise.

Related branches

Martin Pool (mbp) wrote :
Download full text (3.2 KiB)

For me, this consistently happens when I run parallel tests, and never otherwise.

But on pqm, which is not running parallel tests (afaik), it does occur:

Exception in thread Thread-3071:
Traceback (most recent call last):
 File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
   self.run()
 File "/usr/lib/python2.6/threading.py", line 484, in run
   self.__target(*self.__args, **self.__kwargs)
 File "/usr/lib/pymodules/python2.6/paramiko/sftp_file.py", line 453, in _prefetch_thread
   self.sftp._async_request(self, CMD_READ, self.handle, long(offset), int(length))
 File "/usr/lib/pymodules/python2.6/paramiko/sftp_client.py", line 649, in _async_request
   self._send_packet(t, str(msg))
 File "/usr/lib/pymodules/python2.6/paramiko/sftp.py", line 172, in _send_packet
   self._write_all(out)
 File "/usr/lib/pymodules/python2.6/paramiko/sftp.py", line 136, in _write_all
   n = self.sock.send(out)
 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/ssh.py", line 200, in send
   return self.__socket.send(data)
 File "/usr/lib/python2.6/socket.py", line 165, in _dummy
   raise error(EBADF, 'Bad file descriptor')
error: [Errno 9] Bad file descriptor

Exception in thread Thread-3077:
Traceback (most recent call last):
 File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
   self.run()
 File "/usr/lib/python2.6/threading.py", line 484, in run
   self.__target(*self.__args, **self.__kwargs)
 File "/usr/lib/pymodules/python2.6/paramiko/sftp_file.py", line 453, in _prefetch_thread
   self.sftp._async_request(self, CMD_READ, self.handle, long(offset), int(length))
 File "/usr/lib/pymodules/python2.6/paramiko/sftp_client.py", line 649, in _async_request
   self._send_packet(t, str(msg))
 File "/usr/lib/pymodules/python2.6/paramiko/sftp.py", line 172, in _send_packet
   self._write_all(out)
 File "/usr/lib/pymodules/python2.6/paramiko/sftp.py", line 136, in _write_all
   n = self.sock.send(out)
 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/ssh.py", line 200, in send
   return self.__socket.send(data)
 File "/usr/lib/python2.6/socket.py", line 165, in _dummy
   raise error(EBADF, 'Bad file descriptor')
error: [Errno 9] Bad file descriptor

Exception in thread Thread-3083:
Traceback (most recent call last):
 File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
   self.run()
 File "/usr/lib/python2.6/threading.py", line 484, in run
   self.__target(*self.__args, **self.__kwargs)
 File "/usr/lib/pymodules/python2.6/paramiko/sftp_file.py", line 453, in _prefetch_thread
   self.sftp._async_request(self, CMD_READ, self.handle, long(offset), int(length))
 File "/usr/lib/pymodules/python2.6/paramiko/sftp_client.py", line 649, in _async_request
   self._send_packet(t, str(msg))
 File "/usr/lib/pymodules/python2.6/paramiko/sftp.py", line 172, in _send_packet
   self._write_all(out)
 File "/usr/lib/pymodules/python2.6/paramiko/sftp.py", line 136, in _write_all
   n = self.sock.send(out)
 File "/home/pqm/bzr-pqm-workdir/home/+trunk/bzrlib/transport/ssh.py", line 200, in send
   return self.__socket.send(data)
 File "/usr/lib/python2.6/socket.py", line 165, in _dummy
   raise error(EBADF, 'Ba...

Read more...

John A Meinel (jameinel) on 2011-04-21
Changed in bzr:
assignee: nobody → John A Meinel (jameinel)
status: Confirmed → In Progress
Martin Packman (gz) on 2011-05-09
Changed in bzr:
milestone: none → 2.4b3
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers