Wrap systemd version lookup errors#13272
Open
Haihan-Jiang wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #11877.
What
GetManagerProperty("Version")when reading the systemd manager version.systemdVersionto the manager-property method it needs so the error path is unit-testable.Why
When systemd D-Bus version lookup failed, runsc returned only
unable to get systemd version. That hides the actual D-Bus failure and makes intermittent host/load-related failures hard to diagnose. The returned error now includes and wraps the original cause.Testing
gofmtgit diff --checkbazel build --nobuild //runsc/cgroup:cgroup_testI also attempted
bazel test //runsc/cgroup:cgroup_test. On this macOS checkout it could not run locally because the gVisor Bazel toolchain requires host setup not present here: first the default C++ headers were not found, and after adding the SDK libc++ include path the build required/usr/bin/x86_64-linux-gnu-gccfor the Linux vDSO genrule. Nativego test ./runsc/cgroupis also not usable in this repo because generated packages such aspkg/refsare Bazel-managed.