invoke.exceptions.ThreadException:
Saw 1 exceptions within threads (OSError):
Thread args: {'kwargs': {'buffer_': ['[sudo] password: '],
'hide': False,
'output': <_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'>},
'target': <bound method Runner.handle_stderr of <fabric.runners.Remote object at 0x7f066e63a9e8>>}
Traceback (most recent call last):
File "/home/amezin/test/.venv/lib/python3.6/site-packages/invoke/util.py", line 233, in run
super(ExceptionHandlingThread, self).run()
File "/usr/lib/python3.6/threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
File "/home/amezin/test/.venv/lib/python3.6/site-packages/invoke/runners.py", line 750, in handle_stderr
buffer_, hide, output, reader=self.read_proc_stderr
File "/home/amezin/test/.venv/lib/python3.6/site-packages/invoke/runners.py", line 717, in _handle_output
self.respond(buffer_)
File "/home/amezin/test/.venv/lib/python3.6/site-packages/invoke/runners.py", line 884, in respond
self.write_proc_stdin(response)
File "/home/amezin/test/.venv/lib/python3.6/site-packages/invoke/runners.py", line 960, in write_proc_stdin
self._write_proc_stdin(data.encode(self.encoding))
File "/home/amezin/test/.venv/lib/python3.6/site-packages/fabric/runners.py", line 67, in _write_proc_stdin
return self.channel.sendall(data)
File "/home/amezin/test/.venv/lib/python3.6/site-packages/paramiko/channel.py", line 846, in sendall
sent = self.send(s)
File "/home/amezin/test/.venv/lib/python3.6/site-packages/paramiko/channel.py", line 801, in send
return self._send(s, m)
File "/home/amezin/test/.venv/lib/python3.6/site-packages/paramiko/channel.py", line 1198, in _send
raise socket.error("Socket is closed")
OSError: Socket is closed
Saya pikir apa yang mungkin Anda lihat adalah kesalahan yang berbeda: Saya tidak berpikir itu sampai ke fase auth Sudo. Saya melihat ini di Python 2.7 tetapi hanya ketika stdin dialihkan dari /dev/null. Mungkin coba lagi dengan pty=True
?
@matt-hayden Setelah berjam-jam debugging Anda baru saja menyelamatkan saya dari gangguan mental. Saya juga ingin menambahkan bahwa saya hanya mendapatkan kesalahan ini saat menggunakan multiprocessing.Process meskipun hanya satu proses.
@ matt-hayden Saya telah melihat masalah ini pada python 3.6, ssh'ing ke wadah Ubuntu 18.04 lokal (dengan openssh sshd berjalan di dalamnya). Perintah 'Sudo' yang sama dalam konfigurasi yang sama persis bekerja dengan benar 99% dari waktu (meningkatkan AuthFailure) dan meningkatkan OSError di 1% sisanya.
Saya tidak ingat apakah pty disetel ke True.
Bagaimanapun, saya tidak menggunakan kain sekarang, dan saya tidak punya waktu untuk memverifikasi bahwa masalah ini masih ada. Jadi saya kira saya harus menutup masalah ini
Kesalahan terjadi, lagi dan ya saya juga menggunakan wadah buruh pelabuhan
@luke-goddard , jika itu terjadi di dalam paramiko (seperti traceback di atas) maka mungkin ini lebih tepat sebagai masalah dalam proyek paramiko.
Komentar yang paling membantu
@matt-hayden Setelah berjam-jam debugging Anda baru saja menyelamatkan saya dari gangguan mental. Saya juga ingin menambahkan bahwa saya hanya mendapatkan kesalahan ini saat menggunakan multiprocessing.Process meskipun hanya satu proses.