-
-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Close errnotifier chan on err #2102
Conversation
b3094ab
to
d72ffae
Compare
great 👍
If there's a concrete way out of that test failure that's in progress, that's okay -- I wouldn't want to just work around failing tests though. |
The stall could be a golang gc bug on osx. This could be tested by running the latest master on an earlier version of golang.
Indeed, already in 0.4.0, 7341486. Though it could be generalized for operations other than gc and pinning. |
@rht what is the status here? |
@whyrusleeping this is ready to merge, the only RFCR needed is from yours. |
License: MIT Signed-off-by: rht <[email protected]>
To be increased later when auto-gc & pinning race condition are fixed License: MIT Signed-off-by: rht <[email protected]>
d72ffae
to
10581b6
Compare
@@ -41,6 +42,7 @@ func (w *writeErrNotifier) Close() error { | |||
case w.errs <- io.EOF: | |||
default: | |||
} | |||
close(w.errs) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i'm concerned this might get called twice and panic, want to maybe nil it out after closing, and do the other appropriate checks on the nil value?
@rht I had one comment here, otherwise its ready to go (after a rebase though) |
@rht could you take a look at this? |
If the pinning still stalls, then the gc lock 7341486 hasn't fixed the problem. This needs to be tested. This PR's fix to stalling is orthogonal to that pin stall, and is not a workaround. |
This 1. fixes the osx test build stalls, 2. temporarily reduce the count of auto gc test (until #2002 (comment) is handled).
Statistically tested in #2101.