-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Fix issue in gogo/protobuf code, causing a crash in cri-o. #6371
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
Conversation
|
Hi @littlejawa. Thanks for your PR. I'm waiting for a cri-o member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: littlejawa The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
@fidencio - I would like your comments on this one as you've fought with this problem in the past |
|
/test |
|
@littlejawa: Cannot trigger testing until a trusted user reviews the PR and leaves an DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #6371 +/- ##
=======================================
Coverage 43.36% 43.36%
=======================================
Files 123 123
Lines 14164 14164
=======================================
Hits 6142 6142
- Misses 7339 7340 +1
+ Partials 683 682 -1 |
Fixes: cri-o#6350 Signed-off-by: Julien Ropé <[email protected]>
|
The vendor verification fails, of course :-( I'm not too familiar with go, but I guess the clean way of doing it would be to fork gogo/protobuf, put my change there, and vendor that instead of the original gogo/protobuf (with a "replace" directive) ? Anyway, before looking into it, I'd like some discussion/agreement on the direction I'm taking. |
|
yeah that's the right direction, unless they'd upstream this patch. do you want to try upstreaming first? |
LOL I should have looked at the patch first. no chance they'd accept--to specific. I agree, replace directive is the way. I am generally not stoked about this change but as a temporary way to unbork kata I am fine with it |
|
Yeah, I don't think it would be accepted. But more than that : the core of the issue with gogo/protobuf is that it's not maintained anymore, so the chances of getting anything upstream are small. |
|
I think #6381 is a cleaner solution - closing |
What type of PR is this?
/kind bug
What this PR does / why we need it:
Looking at what others did to fix the gogo/protobuf issue, I've found this suggestion:
jaegertracing/jaeger#2857 (comment)
The idea is to ignore the fields that were added to the problematic data structure, letting gogo/protobuf handle the ones it knows about.
I replicated this change in cri-o's vendored gogo/protobuf code, and it seems to do the trick - kata containers are still running, and when the kata shim returns an error, it is properly reported in the container's status, without crashing.
I don't think this is a proper fix, but it may be a good workaround for 1.25 and later releases, until we can rely on the containerd version where gogo/protobuf is removed from the shim v2 interface.
Which issue(s) this PR fixes:
Fixes: #6350
Special notes for your reviewer:
Does this PR introduce a user-facing change?