Skip to content

panic: not implemented from --mode validate #15902

@mtalbot

Description

@mtalbot

Title: Admin API TAP sockets fail on validate

Description:
When validating a static config file using --mode validate with tap transport sockets wrapping any other transport socket (tried with both raw buffer and tls) then envoy crashes with a panic: not implemented from https://github.com/envoyproxy/envoy/blob/main/source/server/config_validation/admin.cc#L13

Repro steps:
run envoy in validate mode with an admin api tap transport socket

[2021-04-09 14:35:15.911][35383][critical][assert] [source/server/config_validation/admin.cc:13] panic: not implemented
  [2021-04-09 14:35:15.911][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:104] Caught Aborted, suspect faulting address 0x8a37
  [2021-04-09 14:35:15.911][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:91] Backtrace (use tools/stack_decode.py to get line numbers):
  [2021-04-09 14:35:15.911][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:92] Envoy version: d6a4496e712d7a2335b26e2f76210d5904002c26/1.17.1/Clean/RELEASE/BoringSSL
  [2021-04-09 14:35:15.912][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #0: __restore_rt [0x7f0ad4086980]
  [2021-04-09 14:35:15.918][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #1: Envoy::Extensions::Common::Tap::AdminHandler::AdminHandler() [0x56291892ab7d]
  [2021-04-09 14:35:15.925][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #2: std::__1::__function::__func<>::operator()() [0x56291892c850]
  [2021-04-09 14:35:15.932][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #3: Envoy::Singleton::ManagerImpl::get() [0x56291968bc2c]
  [2021-04-09 14:35:15.939][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #4: Envoy::Singleton::Manager::getTyped<>() [0x56291892a97e]
  [2021-04-09 14:35:15.946][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #5: Envoy::Extensions::Common::Tap::AdminHandler::getSingleton() [0x56291892a867]
  [2021-04-09 14:35:15.953][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #6: Envoy::Extensions::Common::Tap::ExtensionConfigBase::ExtensionConfigBase() [0x562918928df3]
  [2021-04-09 14:35:15.961][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #7: Envoy::Extensions::TransportSockets::Tap::TapSocketFactory::TapSocketFactory() [0x562918928688]
  [2021-04-09 14:35:15.967][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #8: Envoy::Extensions::TransportSockets::Tap::UpstreamTapSocketConfigFactory::createTransportSocketFactory() [0x5629189228cf]
  [2021-04-09 14:35:15.974][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #9: Envoy::Upstream::createTransportSocketFactory() [0x56291984865d]
  [2021-04-09 14:35:15.981][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #10: Envoy::Upstream::ClusterImplBase::ClusterImplBase() [0x562919848b9b]
  [2021-04-09 14:35:15.988][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #11: Envoy::Upstream::StrictDnsClusterImpl::StrictDnsClusterImpl() [0x56291986c86b]
  [2021-04-09 14:35:15.995][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #12: std::__1::__shared_ptr_emplace<>::__shared_ptr_emplace<>() [0x56291986f556]
  [2021-04-09 14:35:16.003][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #13: Envoy::Upstream::StrictDnsClusterFactory::createClusterImpl() [0x56291986da22]
  [2021-04-09 14:35:16.011][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #14: Envoy::Upstream::ClusterFactoryImplBase::create() [0x56291986b1ca]
  [2021-04-09 14:35:16.018][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #15: Envoy::Upstream::ClusterFactoryImplBase::create() [0x56291986a5ee]
  [2021-04-09 14:35:16.025][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #16: Envoy::Upstream::ProdClusterManagerFactory::clusterFromProto() [0x5629196b158d]
  [2021-04-09 14:35:16.032][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #17: Envoy::Upstream::ClusterManagerImpl::loadCluster() [0x5629196a7492]
  [2021-04-09 14:35:16.039][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #18: Envoy::Upstream::ClusterManagerImpl::ClusterManagerImpl() [0x5629196a4a55]
  [2021-04-09 14:35:16.047][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #19: Envoy::Upstream::ValidationClusterManagerFactory::clusterManagerFromProto() [0x56291963510d]
  [2021-04-09 14:35:16.054][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #20: Envoy::Server::Configuration::MainImpl::initialize() [0x56291992736f]
  [2021-04-09 14:35:16.061][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #21: Envoy::Server::ValidationInstance::initialize() [0x56291962f3ab]
  [2021-04-09 14:35:16.068][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #22: Envoy::Server::ValidationInstance::ValidationInstance() [0x56291962e25f]
  [2021-04-09 14:35:16.075][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #23: Envoy::Server::validateConfig() [0x56291962d695]
  [2021-04-09 14:35:16.084][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #24: Envoy::MainCommonBase::run() [0x562917e5be5d]
  [2021-04-09 14:35:16.091][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #25: Envoy::MainCommon::main() [0x562917e5c627]
  [2021-04-09 14:35:16.097][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #26: main [0x562917e5a9dc]
  [2021-04-09 14:35:16.098][35383][critical][backtrace] [bazel-out/k8-opt/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #27: __libc_start_main [0x7f0ad3ca4bf7]
  - connect_timeout: 5s
    lb_policy: round_robin
    load_assignment:
      cluster_name: service
      endpoints:
      - lb_endpoints:
          endpoint:
            address:
              socket_address:
                address: "service"
                port_value: 443
    name: api-gateway
    transport_socket:
      name: envoy.transport_sockets.tap
      typed_config:
        '@type': type.googleapis.com/envoy.extensions.transport_sockets.tap.v3.Tap
        common_config:
          admin_config:
            config_id: api-gateway
        transport_socket:
          name: envoy.transport_sockets.tls
          typed_config:
            '@type': type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext
            allow_renegotiation: true
            common_tls_context:
              tls_certificate_sds_secret_configs:
                name: client-certificate
                sds_config:
                  path: /etc/envoy/xds/sds-client-certificate.yaml
                  resource_api_version: V3
              tls_params:
                tls_minimum_protocol_version: TLSv1_2
              validation_context_sds_secret_config:
                name: client-validation
                sds_config:
                  path: /etc/envoy/xds/sds-client-validation.yaml
                  resource_api_version: V3
            sni: "service"
    type: STRICT_DNS

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions