googleapis / googleapis/google-cloud-cpp

bug: Fix build and test failures in unified_credentials_integration_test

Open
#15,546 0 comments 0 reactions 0 assignees View on GitHub
priority: p3 type: cleanup
Dominant language
C++
Stars
659
Forks
462
Avg merge
1d 2h
Merged PRs (30d)
89

Description

The `unified_credentials_integration_test` is currently experiencing multiple failures on the kokoro macOS CI build.

- Some tests within `google/cloud/storage/tests/unified_credentials_integration_test.cc` have been commented out as they were causing build failures.
```
[24,691 / 25,359] Linking google/cloud/storage/tests/unified_credentials_integration_test-grpc-metadata; 5s remote-cache, darwin-sandbox ... (4 actions, 1 running)
ERROR: /Volumes/BuildData/tmpfs/src/github/google-cloud-cpp/google/cloud/storage/tests/BUILD.bazel:29:9: Linking google/cloud/storage/tests/unified_credentials_integration_test-grpc-metadata failed: (Exit 1): cc_wrapper.sh failed: error executing CppLink command (from target //google/cloud/storage/tests:unified_credentials_integration_test-grpc-metadata)
(cd /private/var/tmp/_bazel_kbuilder/958e32d54e02d3b435828e68d1d5184e/sandbox/darwin-sandbox/13859/execroot/_main && \
exec env - \
GOOGLE_APPLICATION_CREDENTIALS=/tmpfs/src/gfile/kokoro-run-key.json \
PATH=/Users/kbuilder/Library/Caches/bazelisk/downloads/sha256/3b007e7ce2281408b99dbba11b35d2ae0191de1330fae49dc632077e93edf78e/bin:/Volumes/BuildData/tmpfs/src/github/google-cloud-cpp/ci/lib:/Users/kbuilder/.rvm/gems/ruby-2.7.8/bin:/Users/kbuilder/.rvm/gems/ruby-2.7.8@global/bin:/Users/kbuilder/.rvm/rubies/ruby-2.7.8/bin:/Users/kbuilder/.rvm/gems/ruby-2.7.8/bin:/Users/kbuilder/.rvm/gems/ruby-2.7.8@global/bin:/Users/kbuilder/.rvm/rubies/ruby-2.7.8/bin:/Users/kbuilder/.pyenv/shims:/Users/kbuilder/.pyenv/bin:/Users/kbuilder/.pyenv/bin:/Users/kbuilder/google-cloud-sdk/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/usr/local/share/dotnet:~/.dotnet/tools:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/usr/local/Cellar/php/8.3.11/bin:/Users/kbuilder/.rvm/bin:/Users/kbuilder/.rvm/bin:/Users/kbuilder/.rvm/bin:/Users/kbuilder/.rvm/bin \
PWD=/proc/self/cwd \
ZERO_AR_DATE=1 \
external/rules_cc~~cc_configure_extension~local_config_cc/cc_wrapper.sh @bazel-out/darwin_x86_64-fastbuild/bin/google/cloud/storage/tests/unified_credentials_integration_test-grpc-metadata-2.params)
# Configuration: 748c615facb29e47b965c37b19ec6619f0e52db2dd7eb8c6263f4829aca48340
# Execution platform: @@platforms//host:host

Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
ld: warning: ignoring duplicate libraries: '-lm', '-lpthread'
Undefined symbols for architecture x86_64:
"_OPENSSL_sk_pop_free", referenced from:
google::cloud::storage::v2_42::(anonymous namespace)::UnifiedCredentialsIntegrationTest::ValidCAStoreFromSslCtxCallbackOptions()::'lambda'(void*, void*, void*)::operator()(void*, void*, void*) const::X509InfoPtrCleanup::operator()(stack_st_X509_INFO*) const in unified_credentials_integration_test.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
```

I suspect that the boringssl version is incompatible to run this test.

- When the test above has been disabled by commenting out, the other tests run, but they fail the tests.
- Due to these issues, the entire `//google/cloud/storage/tests:unified_credentials_integration_test-grpc-metadata` test target has been disabled in the `ci/kokoro/macos/builds/bazel.sh` script to stabilize the CI.

This issue tracks the work to:
1. Investigate the root cause of the build and runtime failures.
2. Fix the underlying issues.
3. Re-enable the commented-out tests within the source file.
4. Re-enable the test target in the kokoro CI build script.

Contributor guide

Open the contributing guide

Research direction

Start with google/cloud/storage/tests/unified_credentials_integration_test.cc and ci/kokoro/macos/builds/bazel.sh, then investigate the reported linker and runtime failures for the unified_credentials_integration_test-grpc-metadata target on macOS. Re-enable the commented tests and CI target only after the build and test failures are resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, macos
Domain
build-system, ci-cd, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.