Skip to content
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

build: clang-8 failures on async_client_impl.cc #6584

Closed
cmluciano opened this issue Apr 15, 2019 · 1 comment · Fixed by #6604
Closed

build: clang-8 failures on async_client_impl.cc #6584

cmluciano opened this issue Apr 15, 2019 · 1 comment · Fixed by #6604

Comments

@cmluciano
Copy link
Member

Title: build: clang-8 failures on async_client_impl.cc

Description:
After upgrading to clang-8 tooling, I'm unable to compile parts of Envoy due to some build errors regarding implicitly deleted default constructors. I'm not sure if this is an environment error or not but I was able to compile things correctly prior to merging master recently. I can try to fix these, but I'd like to understand if others are seeing the same errors and if the potential suggestions in the error log even make sense.

bazel build --action_env=CXX=clang++ --action_env=CC=clang --linkopt=-fuse-ld=lld //source/common/grpc:async_client_lib

clang --version 8.0.0
bazel version 0.24.1

error log

Use --sandbox_debug to see verbose messages from the sandbox.
source/common/http/async_client_impl.cc:22:73: error: call to implicitly-deleted default constructor of 'const AsyncStreamImpl::NullRetryPolicy'
const AsyncStreamImpl::NullRetryPolicy AsyncStreamImpl::RouteEntryImpl::retry_policy_;
                                                                        ^
bazel-out/k8-fastbuild/bin/source/common/http/_virtual_includes/async_client_lib/common/http/async_client_impl.h:152:33: note: default constructor of 'NullRetryPolicy' is implicitly deleted because field 'retriable_status_codes_' of const-qualified type 'const std::vector<uint32_t>' (aka 'const vector<unsigned int>') would not be initialized
    const std::vector<uint32_t> retriable_status_codes_;
                                ^
In file included from source/common/http/async_client_impl.cc:1:
In file included from bazel-out/k8-fastbuild/bin/source/common/http/_virtual_includes/async_client_lib/common/http/async_client_impl.h:19:
In file included from bazel-out/k8-fastbuild/bin/include/envoy/router/_virtual_includes/router_interface/envoy/router/router.h:19:
In file included from bazel-out/k8-fastbuild/bin/include/envoy/upstream/_virtual_includes/retry_interface/envoy/upstream/retry.h:4:
In file included from bazel-out/k8-fastbuild/bin/include/envoy/upstream/_virtual_includes/upstream_interface/envoy/upstream/upstream.h:22:
In file included from bazel-out/k8-fastbuild/bin/include/envoy/upstream/_virtual_includes/locality_lib/envoy/upstream/locality.h:5:
In file included from bazel-out/k8-fastbuild/bin/source/common/protobuf/_virtual_includes/utility_lib/common/protobuf/utility.h:15:
bazel-out/k8-fastbuild/bin/source/common/singleton/_virtual_includes/const_singleton/common/singleton/const_singleton.h:18:30: error: call to implicitly-deleted default constructor of 'Envoy::Tracing::EgressConfigImpl'
    static T* instance = new T();
                             ^
source/common/http/async_client_impl.cc:81:46: note: in instantiation of member function 'Envoy::ConstSingleton<Envoy::Tracing::EgressConfigImpl>::get' requested here
      tracing_config_(Tracing::EgressConfig::get()),
                                             ^
bazel-out/k8-fastbuild/bin/source/common/tracing/_virtual_includes/http_tracer_lib/common/tracing/http_tracer_impl.h:120:44: note: default constructor of 'EgressConfigImpl' is implicitly deleted because field 'request_headers_for_tags_' of const-qualified type 'const std::vector<Http::LowerCaseString>' would not be initialized
  const std::vector<Http::LowerCaseString> request_headers_for_tags_;
                                           ^
2 errors generated.
Use --sandbox_debug to see verbose messages from the sandbox.
In file included from source/common/grpc/async_client_impl.cc:1:
In file included from bazel-out/k8-fastbuild/bin/source/common/grpc/_virtual_includes/async_client_lib/common/grpc/async_client_impl.h:7:
In file included from bazel-out/k8-fastbuild/bin/source/common/http/_virtual_includes/async_client_lib/common/http/async_client_impl.h:19:
In file included from bazel-out/k8-fastbuild/bin/include/envoy/router/_virtual_includes/router_interface/envoy/router/router.h:19:
In file included from bazel-out/k8-fastbuild/bin/include/envoy/upstream/_virtual_includes/retry_interface/envoy/upstream/retry.h:4:
In file included from bazel-out/k8-fastbuild/bin/include/envoy/upstream/_virtual_includes/upstream_interface/envoy/upstream/upstream.h:22:
In file included from bazel-out/k8-fastbuild/bin/include/envoy/upstream/_virtual_includes/locality_lib/envoy/upstream/locality.h:5:
In file included from bazel-out/k8-fastbuild/bin/source/common/protobuf/_virtual_includes/utility_lib/common/protobuf/utility.h:15:
bazel-out/k8-fastbuild/bin/source/common/singleton/_virtual_includes/const_singleton/common/singleton/const_singleton.h:18:30: error: call to implicitly-deleted default constructor of 'Envoy::Tracing::EgressConfigImpl'
    static T* instance = new T();
                             ^
source/common/grpc/async_client_impl.cc:212:65: note: in instantiation of member function 'Envoy::ConstSingleton<Envoy::Tracing::EgressConfigImpl>::get' requested here
  current_span_ = parent_span.spawnChild(Tracing::EgressConfig::get(),
                                                                ^
bazel-out/k8-fastbuild/bin/source/common/tracing/_virtual_includes/http_tracer_lib/common/tracing/http_tracer_impl.h:120:44: note: default constructor of 'EgressConfigImpl' is implicitly deleted because field 'request_headers_for_tags_' of const-qualified type 'const std::vector<Http::LowerCaseString>' would not be initialized
  const std::vector<Http::LowerCaseString> request_headers_for_tags_;
                                           ^
1 error generated.
Aspect @intellij_aspect//:intellij_info_bundled.bzl%intellij_info_aspect of //source/common/grpc:async_client_lib failed to build
INFO: Elapsed time: 7.432s, Critical Path: 7.22s
INFO: 0 processes.
Make failed
@htuch
Copy link
Member

htuch commented Apr 15, 2019

@lizan any thoughts?

htuch pushed a commit that referenced this issue Apr 17, 2019
Fixes #6584

Risk Level: Low
Testing: CI

Signed-off-by: Lizan Zhou <lizan@tetrate.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants