FS#46571 - [pssh] 2.3.1-6 fails with "ValueError: the fd 4 must be in non-blocking mode"
Attached to Project:
Community Packages
Opened by gmtch (gmtch) - Monday, 05 October 2015, 20:32 GMT
Last edited by Jaroslav Lichtblau (Dragonlord) - Monday, 18 January 2016, 17:45 GMT
Opened by gmtch (gmtch) - Monday, 05 October 2015, 20:32 GMT
Last edited by Jaroslav Lichtblau (Dragonlord) - Monday, 18 January 2016, 17:45 GMT
|
Details
Description:
pssh fails since upgrade from 2.3.1-5 to 2.3.1-6. I also python from 3.4.3-3 to 3.5.0-2 at the same time so that might be the cause. It was running perfectly at the previous version. This is the problem: $ /usr/bin/pssh -H 127.0.0.1 df -h Traceback (most recent call last): File "/usr/bin/pssh", line 118, in <module> do_pssh(hosts, cmdline, opts) File "/usr/bin/pssh", line 71, in do_pssh manager = Manager(opts) File "/usr/lib/python3.5/site-packages/psshlib/manager.py", line 42, in __init__ self.iomap = IOMap() File "/usr/lib/python3.5/site-packages/psshlib/manager.py", line 215, in __init__ signal.set_wakeup_fd(wakeup_writefd) ValueError: the fd 4 must be in non-blocking mode Please let me know if you need more info - this is my first Arch bug report. |
This task depends upon
Closed by Jaroslav Lichtblau (Dragonlord)
Monday, 18 January 2016, 17:45 GMT
Reason for closing: Fixed
Additional comments about closing: Fixing patch added in pssh 2.3.1-7
Monday, 18 January 2016, 17:45 GMT
Reason for closing: Fixed
Additional comments about closing: Fixing patch added in pssh 2.3.1-7
$ pssh -iH localhost echo foo
[1] 09:04:21 [SUCCESS] localhost
foo
$ yaourt -Syu
... snip ...
==> Package upgrade only (new release):
community/pssh 2.3.1-5 5 -> 6
==> Software upgrade (new version) :
extra/python 3.4.3-3 -> 3.5.0-2
... snip ...
$ pssh -iH localhost echo foo
Traceback (most recent call last):
File "/usr/bin/pssh", line 118, in <module>
do_pssh(hosts, cmdline, opts)
File "/usr/bin/pssh", line 71, in do_pssh
manager = Manager(opts)
File "/usr/lib/python3.5/site-packages/psshlib/manager.py", line 42, in __init__
self.iomap = IOMap()
File "/usr/lib/python3.5/site-packages/psshlib/manager.py", line 215, in __init__
signal.set_wakeup_fd(wakeup_writefd)
ValueError: the fd 4 must be in non-blocking mode
===
[~]$ pssh --host=host-1 --host=host-2 foo bar
Traceback (most recent call last):
File "/usr/bin/pssh", line 118, in <module>
do_pssh(hosts, cmdline, opts)
File "/usr/bin/pssh", line 71, in do_pssh
manager = Manager(opts)
File "/usr/lib/python3.5/site-packages/psshlib/manager.py", line 42, in __init__
self.iomap = IOMap()
File "/usr/lib/python3.5/site-packages/psshlib/manager.py", line 215, in __init__
signal.set_wakeup_fd(wakeup_writefd)
ValueError: the fd 4 must be in non-blocking mode
===
➜ ~ pssh -iH localhost echo foo
Traceback (most recent call last):
File "/usr/bin/pssh", line 118, in <module>
do_pssh(hosts, cmdline, opts)
File "/usr/bin/pssh", line 71, in do_pssh
manager = Manager(opts)
File "/usr/lib/python3.5/site-packages/psshlib/manager.py", line 42, in __init__
self.iomap = IOMap()
File "/usr/lib/python3.5/site-packages/psshlib/manager.py", line 215, in __init__
signal.set_wakeup_fd(wakeup_writefd)
ValueError: the fd 4 must be in non-blocking mode
Otherwise, same issue here.
o add import fcntl on the top file
o add this line here /usr/lib/python3.5/site-packages/psshlib/manager.py:213
fcntl.fcntl(wakeup_writefd, fcntl.F_SETFL, os.O_NONBLOCK)
the package should follow a github repo as code.google.com is closed from a while.
My cloned fixed version as I didn't found any maintener : https://github.com/nplanel/parallel-ssh
Thanks
[1] https://bugs.archlinux.org/task/46571#comment140319