Comments (18)
This problem should not appear if you use Python 2.6 or later. I haven't tried
to fix this on older versions of Python because I haven't been able to easily
reproduce it, and because all of my machines have a newer version of Python.
However, you've given a specific reproducing case, so it might be reasonable to
attack this.
Are you planning on using Python 2.5 for a while, or are you upgrading to later
versions soon? Would you be willing to help with testing if I make some
patches available for you?
Original comment by [email protected]
on 4 Feb 2011 at 4:18
from parallel-ssh.
I am waiting for a new Debian release, which should have a more recent Python.
However, from the looks of it might be a while...
I'm willing to help you test the patches, or you could install a Debian 5.0 in
a VM :-)
Original comment by thasypher
on 4 Feb 2011 at 4:22
from parallel-ssh.
Okay, try pulling the branch called issue37, and see if it solves the problem
(or creates any new problems). Thanks.
Original comment by [email protected]
on 4 Feb 2011 at 6:04
- Changed state: Started
from parallel-ssh.
No problem, but I first have to figure out how Git works. Never used it before,
only Subversion.
Original comment by thasypher
on 4 Feb 2011 at 6:30
from parallel-ssh.
You'll never look back. :) Basically, you'll just do a "git clone
git://aml.cs.byu.edu/pssh.git" and a "git checkout origin/issue37".
Original comment by [email protected]
on 4 Feb 2011 at 7:56
from parallel-ssh.
Strange. If I run:
./pssh -t 5 -i -h /var/COMPANYNAME/serverlist "ps aux | grep zabbix_agent |
grep -v grep"
It works just fine, also with servers where the command failed.
Executes in < 10 seconds on ~400 servers.
But, if I then pipe and grep on "FAILURE" it seems to be hanging. It does not
crash though, no Interrupted system call either.
Original comment by thasypher
on 11 Feb 2011 at 11:36
from parallel-ssh.
Is this on the issue37 branch or on the master branch?
Original comment by [email protected]
on 11 Feb 2011 at 4:38
from parallel-ssh.
The issue37 branch.
Original comment by thasypher
on 12 Feb 2011 at 9:27
from parallel-ssh.
Would you please post a specific traceback that occurs with the issue37 branch?
Thanks.
Original comment by [email protected]
on 12 Feb 2011 at 3:57
from parallel-ssh.
If I do not run it with a " | grep "FAILURE"", it works. No traceback. But
piping it seems to fail for some strange reason..
Original comment by thasypher
on 13 Feb 2011 at 7:03
from parallel-ssh.
Okay, I added a little print statement to the issue37 branch. Please pull the
latest version and let me know if you see the error message "rerunning loop
after EINTR". I would expect that the statement might be occasionally printed,
but it's important for me to know if the message is repeatedly printed forever.
Original comment by [email protected]
on 14 Feb 2011 at 9:09
from parallel-ssh.
Done, no change.
It also fails with something simple as "exim -bp":
====
File "/home/frank/pssh-test/pssh/psshlib/manager.py", line 75, in run
self.update_tasks(writer)
File "/home/frank/pssh-test/pssh/psshlib/manager.py", line 135, in update_tasks
keep_running = self.reap_tasks()
File "/home/frank/pssh-test/pssh/psshlib/manager.py", line 160, in reap_tasks
self.finished(task)
File "/home/frank/pssh-test/pssh/psshlib/manager.py", line 198, in finished
task.report(n)
File "/home/frank/pssh-test/pssh/psshlib/task.py", line 267, in report
write_buf_to_stdout(self.outputbuffer)
File "/home/frank/pssh-test/pssh/psshlib/task.py", line 295, in write_buf_to_stdout
sys.stdout.write(buf)
IOError: [Errno 4] Interrupted system call
====
Original comment by thasypher
on 18 Feb 2011 at 10:49
from parallel-ssh.
Please note that the exim -bp contained non-ascii characters, which probably
sort-of explains why it went wrong there.
Original comment by thasypher
on 18 Feb 2011 at 10:51
from parallel-ssh.
Hmm. The line numbers in your traceback are different than the line numbers in
the latest commit in branch issue37. On mine, line 295 is "flush_stdout()",
but on yours, line 295 seems to be "sys.stdout.write(buf)".
If you'd like, I can help you track down any problems you're having with your
repository. If I run "git branch -v", I see:
amcnabb@sage:~/clone/pssh/psshlib :) git branch -v
issue15 e5d9594 added debug statements for timing
* issue37 1dc6140 added a temporary debug statement
master 8350c58 bumped the version to 2.2.2
amcnabb@sage:~/clone/pssh/psshlib :)
This shows that I'm on the issue37 branch with the latest commit (1dc6140).
Actually, it was probably my fault for giving incomplete instructions. Earlier
I mentioned running "git checkout origin/issue37". To get any additional
changes, running "git fetch" will download any changes, and a "git checkout
origin/issue37" will check out the updated issue37 branch.
Original comment by [email protected]
on 18 Feb 2011 at 4:17
from parallel-ssh.
Ah!
===
Previous HEAD position was a1795cb... explicitly check for EINTR during flush
(for Python <= 2.5)
HEAD is now at 1dc6140... added a temporary debug statement
===
Now seeing (while doing git branch -v):
===
* (no branch) 1dc6140 added a temporary debug statement
master 8350c58 bumped the version to 2.2.2
===
Retried "exim -bp" on all of my mail servers, resulting in partial information
and:
====
do_pssh(hosts, cmdline, opts)
File "./pssh", line 86, in do_pssh
statuses = manager.run()
File "/home/frank/pssh-test/pssh/psshlib/manager.py", line 75, in run
self.update_tasks(writer)
File "/home/frank/pssh-test/pssh/psshlib/manager.py", line 135, in update_tasks
keep_running = self.reap_tasks()
File "/home/frank/pssh-test/pssh/psshlib/manager.py", line 160, in reap_tasks
self.finished(task)
File "/home/frank/pssh-test/pssh/psshlib/manager.py", line 198, in finished
task.report(n)
File "/home/frank/pssh-test/pssh/psshlib/task.py", line 267, in report
write_buf_to_stdout(self.outputbuffer)
File "/home/frank/pssh-test/pssh/psshlib/task.py", line 297, in write_buf_to_stdout
sys.stdout.write(buf)
IOError: [Errno 4] Interrupted system call
====
Original comment by thasypher
on 18 Feb 2011 at 4:23
from parallel-ssh.
Hmm. I was hoping that sys.stdout.write couldn't raise that exception. I'll
have to think about this one.
Original comment by [email protected]
on 18 Feb 2011 at 6:18
from parallel-ssh.
And, did you think about this issue already?
Original comment by thasypher
on 10 Mar 2011 at 4:16
from parallel-ssh.
Yeah, I'm going to have to do this the hard way. :( Thanks for the reminder.
Original comment by [email protected]
on 10 Mar 2011 at 4:35
from parallel-ssh.
Related Issues (20)
- API module to enable easier use of PSSH as a library (patch included)
- TypeError when using Input script
- Erorr Code 255
- Not allowing relative paths makes no sense HOT 3
- pslurp can't use rsync HOT 2
- Patch: pass -o SendEnv in a way that is friendly on Mac OS HOT 1
- How to distribute different files to different hosts? HOT 1
- motd being printed only on debian squeeze boxes HOT 4
- SIGINFO handler gives task status HOT 1
- Manpage name problem HOT 1
- Sudo requires allocation of a real pseudoterminal HOT 6
- Installation errors: "setup.py install" HOT 1
- pslurp multiple files HOT 1
- Bandwith limit with pscp (parallel scp) HOT 4
- Summary of failed and successful execution HOT 2
- Teardown code in test classes is never called
- IPv6 host address processing broken
- Allow '-' as an alias for stdin
- cannot parse for more than one -O/-o options; cannot use -i option
- Crash on Archlinux/Python3.4 when asking for password (Includes one line fix) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from parallel-ssh.