-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
NetworkCheck blocks keyboard interrupt #16847
Comments
@sosiouxme I could not reproduce the issue on my local machine (using dind cluster). What's the issue with the current code?
|
The current code does nothing to end the diagnostic when an interrupt is received. The goroutine performs cleanup and exits, but nothing else happens until the diagnostic completes whatever it was doing (in your case, it completed with an error because the namespace has been deleted out from under it; if the pods are already created it takes a lot longer to finish). Worse, the signal handler is still directing interrupts to the channel, but nothing is listening to that channel, so any further interrupts go to limbo.
|
@sosiouxme Thanks, now I understood the actual issue and the fix.
|
Automatic merge from submit-queue (batch tested with PRs 16848, 16874). Fix some diagnostic error handling (NetworkCheck and DiagnosticPod) Fixes #16847 A keyboard interrupt on the NetworkCheck diagnostic will actually abort it (giving it a chance to clean up) and proceed to the next diagnostic. The same is done for DiagnosticPod (which previously did not catch the signal and cleanup at all).
There is some code in the NetworkCheck diagnostic to handle an interrupt; however it has the effect of blocking them until the diagnostic completes, which is not user friendly.
Version
But this is probably true since the diagnostic was introduced.
Steps To Reproduce
Current Result
Continues until the diagnostic completes
Expected Result
Aborts
The text was updated successfully, but these errors were encountered: