Bug: broken pipe when sending commands remotely #53

Closed
joonty opened this Issue Jun 5, 2013 · 2 comments

Projects

None yet

2 participants

@joonty
Contributor
joonty commented Jun 5, 2013

Hi, I've come across an error that I can reproduce 100% of the time. An example of where it occurs is when sending commands via tork-remote tork-engine. The error looks like this:

/home/jon/.rvm/gems/ruby-1.9.3-p286/bundler/gems/tork-8ca66ca58d5c/lib/tork/server.rb:105:in write': Broken pipe (Errno::EPIPE) from /home/jon/.rvm/gems/ruby-1.9.3-p286/bundler/gems/tork-8ca66ca58d5c/lib/tork/server.rb:105:inputs'
from /home/jon/.rvm/gems/ruby-1.9.3-p286/bundler/gems/tork-8ca66ca58d5c/lib/tork/server.rb:105:in `block in tell'
...

This can be reproduced by running tork and separately calling something like:

$ echo run_test_files | tork-remote tork-engine
# tork breaks, restart
$ echo run_test_file test/example_test.rb | tork-remote tork-engine
# tork breaks, restart

It looks like tork is trying to speak to a client socket when it's already closed, so my simple fix was to rescue Errno::EPIPE in that method. I can issue a PR if you want, but you might find a different way.

Thanks

@sunaku
Owner
sunaku commented Jun 7, 2013

Excellent find! :neckbeard: Committed as 2dfc6d7 on your behalf. Thanks.

@sunaku sunaku closed this Jun 7, 2013
@joonty
Contributor
joonty commented Jun 7, 2013

Great! No problem 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment