-
Notifications
You must be signed in to change notification settings - Fork 245
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Odd Clear Behavior in yarnish and multi example #451
Comments
I think that belongs to #438 but I'm not entirely sure. There is no clear merge commit mentioning the PR. |
Yes, it's #438. |
I'll take a look. |
What's strange is that if you add a call to Line 87 in 20a857a
then it works as expected. I would have thought that |
I cannot reproduce that it works as expected. This is fundamentally some sort of race condition so every once in a while it works when you run it. Potentially you just had a few lucky runs. |
Hah, sure enough I re-ran it and you're right :/. |
The issue here is that the zombie pruning code I added changed the semantics of The yarnish example is acting non-deterministically because the order in which those 4 pbs are dropped is random. Zombie pruning (and adjustment of I now see that zombie pruning changes the behavior of (Here's how you could write the yarnish example using zombie reaping by the way: chris-laplante@98478c6#diff-23742e02d3318a218c4777f365fd16cd606fb46a7770c9433a4a9ec46d98f655) What do you think? |
To restate the reason for introducing zombie reaping in the first place (from #426):
So could we get the terminal height from console and only reap once we run out of lines instead of requiring extra configuration/setup from the user? |
To me it seems at least that this keeping track in |
Personally I'd rather not deal with console height if we don't have to, since the user can resize the terminal whenever they want and mess us up. I think even if we did something based on height, it still wouldn't fix |
I think this is on the right track. One wrinkle: calling |
I did some more digging on this today. I think I can fix the zombie reaping so that Also, I think I can more clearly characterize the interaction between reaping and |
@djc @mitsuhiko thoughts on above? |
I think it makes sense. |
This seems to make sense -- remind me what the criteria for getting reaped again? Does it even make sense to tick something in a state where it can be reaped?
Seems fine! |
A progress bar becomes a zombie when it is |
Fixes console-rs#464 and console-rs#451 Possibly fixes console-rs#411 (if not already fixed?)
Fixes console-rs#464 and console-rs#451 Possibly fixes console-rs#411 (if not already fixed?)
Fixes console-rs#464 and console-rs#451 Possibly fixes console-rs#411 (if not already fixed?)
Fixes console-rs#464 and console-rs#451 Possibly fixes console-rs#411 (if not already fixed?)
Fixes console-rs#464 and console-rs#451 Possibly fixes console-rs#411 (if not already fixed?)
Fixes console-rs#464 and console-rs#451 Possibly fixes console-rs#411 (if not already fixed?)
Fixes console-rs#464 and console-rs#451 Possibly fixes console-rs#411 (if not already fixed?)
Hi @mitsuhiko - when you get a chance, can you please re-test with main? |
This seems to be resolved. |
This seems like a regression from what I remember. The yarnish example has 4 virtual concurrent build spinners and once they are done, three print out
waiting...
and one is cleared resulting in this:I expected either none of them to show up or all 4.
Likewise I think there is a bug in the multi example where one retains the bar:
Tested on 39ebd5f. Both of those examples use the multi bar clear function.
The text was updated successfully, but these errors were encountered: