Skip to content

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

@cmluciano

Description

@cmluciano

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions