-
Notifications
You must be signed in to change notification settings - Fork 22
Protect against hung subprocesses with inactivity timeouts #84
Comments
I can take this one, as said in #159! |
Awesome. Please don't hesitate AT ALL to ask questions. Here, or in slack - whatever. Meantime, here's some starting thoughts:
|
I'd also be happy to find time for a an hour pairing session on this, if you think it'd be helpful. Maybe once you've gotten your hands dirty a bit, and you have some questions about how the hell it all fits together. |
Nice, let me grok a bit with the code and I'll ping you when I have some questions! EDIT: There are some operations in Aside from that, I've been thinking about how to implement this and I thought of the following:
Any thoughts about this before I start coding the proposed solution? Also, gophers slack says I need to contact an admin to get an invite. |
Both of these ideas sound 👍! I don't have any name suggestions for Of course, if we're inferring from stdout/stderr outputs, it may require a bit of research to pick sane numbers for these inactivity timeouts. |
Oh, and https://invite.slack.golangbridge.org/ should get you an invite for the gopher slack |
Thanks! Will start working on the implementation then |
Just checking in on this :) |
I'm working on implementing the monitored cmds on all operations right now. The issue with this is that all operations that are not What are your thoughts about this? |
Unfortunately, I think you're right - there's no magical way around that design of the interface. And now that you say it, I'm picturing just how much work that is The only real thought I'd have about it is that I'd love to see the WIP as you go in a PR, as the e.g. |
I think this can be marked as done now. There are some improvements needed for handling on windows, but that's not the original scope here. Would you agree, @erizocosmico ? |
👍
On Sun, 16 Apr 2017 at 17:42, sam boyer <[email protected]<mailto:[email protected]>> wrote:
I think this can be marked as done now. There are some improvements needed for handling on windows, but that's not the original scope here.
Would you agree, @erizocosmico<https://github.com/erizocosmico> ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#84 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/ABQFF-aFI9FEkigxu8nnctVBcwv3WB8xks5rwjaQgaJpZM4JnEYL>.
|
Noticed today that trying to
bzr branch
with thebzr://
protocol ended up causing the child process to just...sit, generating no output.We need some basic protection against this (there's no general solution, because halting problem). Sadly, we can't just use a simple timeout, as there are times when we absolutely expect these processes to take a while (e.g., cloning kubernetes). However, if we can watch stdout/stderr for output and update a timer every time we see activity, then we should be able to set an "inactivity" timeout, where we kill the command only if a certain window has elapsed since progress was reported. That'll work for most git, hg, and bzr operations at least, I think.
The text was updated successfully, but these errors were encountered: