envoyproxy/envoy

FilesystemSubscription: SDS included from LDS leads to a crash

Open

#6,899 建立於 2019年5月10日

在 GitHub 查看
 (6 留言) (0 反應) (0 負責人)C++ (5,373 fork)batch import
bughelp wanted

倉庫指標

Star
 (27,997 star)
PR 合併指標
 (平均合併 8天) (30 天內合併 378 個 PR)

描述

Description:

There are 3 configs included:

  • config_static.yaml - with a static default_listener that includes TLS certificates via SDS from the file (i.e. SDS is using FilesystemSubscription).
  • config_dynamic_grpc.yaml with a dynamic default_listener delivered via LDS from the file, which includes TLS certificates via SDS from the gRPC server (i.e. LDS is using FilesystemSubscription, and SDS is using GrpcSubscription).
  • config_dynamic_file.yaml with a dynamic default_listener delivered via LDS from the file, which includes TLS certificates via SDS from the file (i.e. both LDS and SDS are using FilesystemSubscription).

In the first 2 cases, the TlsCertificateSdsApi::onConfigUpdate() method is being called on config update, however, in the 3rd case, the SdsApi::onConfigUpdate() method from the base class is being called, which leads to crash, because pure virtual method called.

Repro steps:

This works:

bazel-bin/source/exe/envoy-static -c /tmp/configs/config_static.yaml -l trace --service-node node --service-cluster cluster

This works:

bazel-bin/source/exe/envoy-static -c /tmp/configs/config_dynamic_grpc.yaml -l trace --service-node node --service-cluster cluster

This crashes at startup:

bazel-bin/source/exe/envoy-static -c /tmp/configs/config_dynamic_file.yaml -l trace --service-node node --service-cluster cluster

Config:

$ cat /tmp/configs/config_static.yaml
admin:
  access_log_path: /dev/null
  address:
    socket_address:
      address: 127.0.0.1
      port_value: 9901

static_resources:
  listeners:
  - name: default_listener
    address:
      socket_address:
        address: 0.0.0.0
        port_value: 9443
    filter_chains:
    - filters:
      - name: envoy.tcp_proxy
        config:
          stat_prefix: stats
          cluster: default_cluster
      tls_context:
        common_tls_context:
          tls_certificate_sds_secret_configs:
          - name: default_secret
            sds_config:
              path: /tmp/configs/secrets.yaml

  clusters:
  - name: default_cluster
    connect_timeout: 1s
    type: STATIC
    lb_policy: ROUND_ROBIN
    load_assignment:
      cluster_name: default_cluster
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: 127.0.0.1
                port_value: 9902
$ cat /tmp/configs/config_dynamic_grpc.yaml
admin:
  access_log_path: /dev/null
  address:
    socket_address:
      address: 127.0.0.1
      port_value: 9901

static_resources:
  clusters:
  - name: default_cluster
    connect_timeout: 1s
    type: STATIC
    lb_policy: ROUND_ROBIN
    load_assignment:
      cluster_name: default_cluster
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: 127.0.0.1
                port_value: 9902
  - name: xds_cluster
    connect_timeout: 1s
    type: STATIC
    lb_policy: ROUND_ROBIN
    http2_protocol_options: {}
    load_assignment:
      cluster_name: xds_cluster
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: 127.0.0.1
                port_value: 9903

dynamic_resources:
  lds_config:
    path: /tmp/configs/listeners_grpc.yaml
$ cat /tmp/configs/listeners_grpc.yaml
version_info: "0"
resources:
- '@type': type.googleapis.com/envoy.api.v2.Listener
  name: default_listener
  address:
    socket_address:
      address: 0.0.0.0
      port_value: 9443
  filter_chains:
  - filters:
    - name: envoy.tcp_proxy
      config:
        stat_prefix: stats
        cluster: default_cluster
    tls_context:
      common_tls_context:
        tls_certificate_sds_secret_configs:
        - name: default_secret
          sds_config:
            api_config_source:
              api_type: GRPC
              grpc_services:
                envoy_grpc:
                  cluster_name: xds_cluster
$ cat /tmp/configs/config_dynamic_file.yaml
admin:
  access_log_path: /dev/null
  address:
    socket_address:
      address: 127.0.0.1
      port_value: 9901

static_resources:
  clusters:
  - name: default_cluster
    connect_timeout: 1s
    type: STATIC
    lb_policy: ROUND_ROBIN
    load_assignment:
      cluster_name: default_cluster
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: 127.0.0.1
                port_value: 9902

dynamic_resources:
  lds_config:
    path: /tmp/configs/listeners_file.yaml
$ cat /tmp/configs/listeners_file.yaml
version_info: "0"
resources:
- '@type': type.googleapis.com/envoy.api.v2.Listener
  name: default_listener
  address:
    socket_address:
      address: 0.0.0.0
      port_value: 9443
  filter_chains:
  - filters:
    - name: envoy.tcp_proxy
      config:
        stat_prefix: stats
        cluster: default_cluster
    tls_context:
      common_tls_context:
        tls_certificate_sds_secret_configs:
        - name: default_secret
          sds_config:
            path: /tmp/configs/secrets.yaml
$ cat /tmp/configs/secrets.yaml
version_info: "0"
resources:
- '@type': type.googleapis.com/envoy.api.v2.auth.Secret
  name: default_secret
  tls_certificate:
    certificate_chain:
      inline_string: |
        -----BEGIN CERTIFICATE-----
        MIIEETCCAvmgAwIBAgIJALi17MiY8hJKMA0GCSqGSIb3DQEBCwUAMHYxCzAJBgNV
        BAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1TYW4gRnJhbmNp
        c2NvMQ0wCwYDVQQKDARMeWZ0MRkwFwYDVQQLDBBMeWZ0IEVuZ2luZWVyaW5nMRAw
        DgYDVQQDDAdUZXN0IENBMB4XDTE4MTIxODAxNTAzNFoXDTIwMTIxNzAxNTAzNFow
        ejELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNh
        biBGcmFuY2lzY28xDTALBgNVBAoMBEx5ZnQxGTAXBgNVBAsMEEx5ZnQgRW5naW5l
        ZXJpbmcxFDASBgNVBAMMC1Rlc3QgU2VydmVyMIIBIjANBgkqhkiG9w0BAQEFAAOC
        AQ8AMIIBCgKCAQEA9iZuZ4lJbCw6sDIypihrlIm/wYfa6BY4K/eJWUbCCcKT8jhP
        1XQSuoTfqbMVSuoyZxiLFujRz/Wmn1JAbM5myYhJLaVmAyAXUyLLDzzOrexl0n2m
        I133wfrPpcolemRuE0q2zB+ChDn4/o3VwOmXnOc5SL9hAb6TerVkAmAeUAmw15Xc
        WvNhQS0Wq0XA4cy2B7q/z8Ll+76pEuA0aN+MoTbrzHI8keaJyQqlMJO45u+BsJuE
        Gc+9HbV/rpr1CA3y06E38VGXUtzQ20wGEjIdPj0zc5uVtu/DTQRMKO3e8oURcrbQ
        oEGrCMTN7cxqbdR9DZxFGZ7JFwBGbyTwDAzJRwIDAQABo4GdMIGaMAwGA1UdEwEB
        /wQCMAAwCwYDVR0PBAQDAgXgMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcD
        ATAeBgNVHREEFzAVghNzZXJ2ZXIxLmV4YW1wbGUuY29tMB0GA1UdDgQWBBRsuFLO
        uLgl1XOmIFJBX2U0P7wNNTAfBgNVHSMEGDAWgBSLgpmApTtprdcKFiTUZxUkLNRh
        ZTANBgkqhkiG9w0BAQsFAAOCAQEAtbE2xVAwOIXY1zGEwpk/ZwJPByqq+dY5pYKN
        vpK1wRT91iDit0ktJwM0ddDBWj1P9IJgz2X4QLHMMLDbmCY1+o2E7aXpdcW2Eima
        EYvzcUD0RZKjb2tqK4CmRvevnr15G3Fw6AnuWP6SDUEVizpTzH6cL83I+nCeQlCB
        CH0Q1/pcdjlsedM7DWohzEGVpjEAs/DGtC2XYFSDPu0pnUHKtBb2B9Njdv9rAJ/y
        Pm5mVbwSEu1GzAzFp3laTn4xwJUejtjZjk41jd6CnmlP+/0hBw3nz86YGYOrb3H/
        yGGZAV+Zg36WH0e1/XkUs+2wyJh8rmoytlvOe+RRxfOyU+KjGA==
        -----END CERTIFICATE-----
    private_key:
      inline_string: |
        -----BEGIN RSA PRIVATE KEY-----
        MIIEpAIBAAKCAQEA9iZuZ4lJbCw6sDIypihrlIm/wYfa6BY4K/eJWUbCCcKT8jhP
        1XQSuoTfqbMVSuoyZxiLFujRz/Wmn1JAbM5myYhJLaVmAyAXUyLLDzzOrexl0n2m
        I133wfrPpcolemRuE0q2zB+ChDn4/o3VwOmXnOc5SL9hAb6TerVkAmAeUAmw15Xc
        WvNhQS0Wq0XA4cy2B7q/z8Ll+76pEuA0aN+MoTbrzHI8keaJyQqlMJO45u+BsJuE
        Gc+9HbV/rpr1CA3y06E38VGXUtzQ20wGEjIdPj0zc5uVtu/DTQRMKO3e8oURcrbQ
        oEGrCMTN7cxqbdR9DZxFGZ7JFwBGbyTwDAzJRwIDAQABAoIBADsK7OCY5au00D8D
        S3Lfry5p/D0HwVJ6Qe8J6UAo4NJGggZPy5Z/yR5EUQH7mtflZUGleXd9URZ47ga5
        TArNV4pvzl3MlrOZNv8SEXMOOuUtFx9uVDOXjp5Q8w3pdyPsgxrNiRtdU4kz/q3Q
        h71GSr+wFuWEQliQxf9hEyQeuiaoM/2nlaAs1MX8PdawMg4n3aqsgVW6eEkz5Hb0
        JLn9awOPltFUumMxLjUsoltmO47E1BBYq7iZbKd5fb3inXZdciaBo0bInpTMxeq1
        2sTJMf1xsPFH+hCTaN0nQRsIY+FAwDl2TWe5OY4pIdCB1J1o71MKlwK8/8f4VUgM
        /EEP98ECgYEA+8KMSOztIdqXt4BZZ9Lli1xRIRREgZP2ad8V7j/Ia5S4iaI6MdOo
        8IwGQHI9HdPZbHO2xraQ+Nh8b8A2A82JmVmUaXuiCHVXQAbIqDEveG9cglmpX88P
        4OScveXfZHGlEycHDVWYP/yESVBbrbqEtTTN+JrUXOCXObiWHNV5V+0CgYEA+kuy
        XX9xIHp/8Y33zOdlmzCnTrREMH6DXebqQ1MixdZBPlKtn8jdjzvMYXxoNeVaCv3k
        JwYkO/ulHA6yqjXHkMgGp3/IvrhWXDSZKh1lSRz8VmDNrX5jku2MdAnW3eFWQ3Aw
        XhioGDMpdXnQiioJWjd8+IIc2U5hRxJ/pHl4l4MCgYEAn4KlBXNvzzpDVBVzEBAU
        Ndb45B+GRB8uSef5ailpX5grz7BEdNtpN3dQYra+uE5IfKlYDdEQS0pGlTtQPdqV
        Kt8R5D9b60YFUOC7c60uKX1NPJ14beawZcoS8VJa1rYWY+sfUbiArVHdsuHCJHF/
        sZvSQIhAstPtnLmyCnTK3AUCgYEAssFfCIFc9NooCAbhQ/i6yyPrST1bOdsQzP5+
        rkhwnCRRgkYf8+7LtWD6rWDhOCStsw3yZKBxPlmRaMFifkdcWJ1Si0uqvfL+0mlK
        PhayYI4P9Uy7d729NZDr72+bgelN52n3USyA2I+pe1ndQt+UwFbCrOSX3+aneM/Q
        U1HheysCgYBQkj1DHb4vzN4eRsKKas9m+L9icEm0P1UHujjL4lgRjbfxE0lNB/eb
        LkNTXDe5YGKe7JGvJ6IIu0Y4RbzFJ4TQxezctvBA+AbF8Yq2CbEFPRXHBW7WMg7D
        Z8dtKmR9HCRTUwJrOFnH1YenQW3ak1wM50hKktEUOY+Ncct6amZK6w==
        -----END RSA PRIVATE KEY-----

Logs / Call Stack:

[debug][init] [source/common/init/manager_impl.cc:49] init manager Server initializing
[debug][init] [source/common/init/target_impl.cc:15] init manager Server initializing target LDS
[debug][config] [bazel-out/k8-dbg/bin/source/common/config/_virtual_includes/filesystem_subscription_lib/common/config/filesystem_subscription_impl.h:57] Filesystem config refresh for /tmp/configs/listeners.yaml
[debug][config] [source/server/listener_manager_impl.cc:735] begin add/update listener: name=default_listener hash=5154227144278840355
[debug][init] [source/common/init/target_impl.cc:15] init manager Server initializing target SdsApi default_secret
[debug][file] [source/common/filesystem/inotify/watcher_impl.cc:50] added watch for directory: '/tmp/configs' file: 'secrets.yaml' fd: 1
[debug][config] [bazel-out/k8-dbg/bin/source/common/config/_virtual_includes/filesystem_subscription_lib/common/config/filesystem_subscription_impl.h:57] Filesystem config refresh for /tmp/configs/secrets.yaml
pure virtual method called
[critical][main] [source/exe/terminate_handler.cc:13] std::terminate called! (possible uncaught exception, see trace)
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:69] Backtrace (use tools/stack_decode.py to get line numbers):
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #0: Envoy::TerminateHandler::logOnTerminate()::$_0::operator()() [0x171ffbf]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #1: Envoy::TerminateHandler::logOnTerminate()::$_0::__invoke() [0x171ff59]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #2: __cxxabiv1::__terminate() [0x1ac05b6]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #3: Envoy::Config::FilesystemSubscriptionImpl::refresh() [0xccec95]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #4: Envoy::Config::FilesystemSubscriptionImpl::start() [0xcce8bc]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #5: Envoy::Secret::SdsApi::initialize() [0xd7dd66]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #6: Envoy::Secret::SdsApi::SdsApi()::$_0::operator()() [0xd7e3a8]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #7: std::_Function_handler<>::_M_invoke() [0xd7e25d]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #8: std::function<>::operator()() [0x55558e]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #9: Envoy::Init::TargetImpl::TargetImpl()::$_0::operator()() [0xd7fd8a]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #10: std::_Function_handler<>::_M_invoke() [0xd7fb86]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #11: std::function<>::operator()() [0xd8008b]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #12: Envoy::Init::TargetHandleImpl::initialize() [0xd7ee46]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #13: Envoy::Init::ManagerImpl::add() [0x107b54e]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #14: Envoy::Secret::SdsApi::SdsApi() [0xd7d315]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #15: Envoy::Secret::TlsCertificateSdsApi::TlsCertificateSdsApi() [0xd770aa]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #16: __gnu_cxx::new_allocator<>::construct<>() [0xd76f2b]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #17: std::allocator_traits<>::construct<>() [0xd76b90]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #18: std::_Sp_counted_ptr_inplace<>::_Sp_counted_ptr_inplace<>() [0xd767b2]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #19: std::__shared_count<>::__shared_count<>() [0xd76440]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #20: std::__shared_ptr<>::__shared_ptr<>() [0xd761d1]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #21: std::shared_ptr<>::shared_ptr<>() [0xd76019]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #22: std::allocate_shared<>() [0xd75e3a]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #23: std::make_shared<>() [0xd75c82]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #24: Envoy::Secret::TlsCertificateSdsApi::create() [0xd740c6]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #25: Envoy::Secret::SecretManagerImpl::DynamicSecretProviders<>::findOrCreate() [0xd6ddca]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #26: Envoy::Secret::SecretManagerImpl::findOrCreateTlsCertificateProvider() [0xd6d14e]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #27: Envoy::Extensions::TransportSockets::Tls::(anonymous namespace)::getTlsCertificateConfigProviders() [0xce40e7]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #28: Envoy::Extensions::TransportSockets::Tls::ContextConfigImpl::ContextConfigImpl() [0xce36ee]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #29: Envoy::Extensions::TransportSockets::Tls::ServerContextConfigImpl::ServerContextConfigImpl() [0xce73be]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #30: std::make_unique<>() [0x49e870]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #31: Envoy::Extensions::TransportSockets::Tls::DownstreamSslSocketFactory::createTransportSocketFactory() [0x49e046]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #32: Envoy::Server::ListenerImpl::ListenerImpl() [0xc81c29]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #33: Envoy::Server::ListenerManagerImpl::addOrUpdateListener() [0xc86267]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #34: Envoy::Server::LdsApiImpl::onConfigUpdate() [0xcca749]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #35: Envoy::Config::FilesystemSubscriptionImpl::refresh() [0xccec95]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #36: Envoy::Config::FilesystemSubscriptionImpl::start() [0xcce8bc]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #37: Envoy::Server::LdsApiImpl::LdsApiImpl()::$_0::operator()() [0xccb183]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #38: std::_Function_handler<>::_M_invoke() [0xccaffd]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #39: std::function<>::operator()() [0x55558e]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #40: Envoy::Init::TargetImpl::TargetImpl()::$_0::operator()() [0xd7fd8a]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #41: std::_Function_handler<>::_M_invoke() [0xd7fb86]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #42: std::function<>::operator()() [0xd8008b]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #43: Envoy::Init::TargetHandleImpl::initialize() [0xd7ee46]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #44: Envoy::Init::ManagerImpl::initialize() [0x107ba00]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #45: Envoy::Server::RunHelper::RunHelper()::$_9::operator()() [0xc5f4c0]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #46: std::_Function_handler<>::_M_invoke() [0xc5f27d]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #47: std::function<>::operator()() [0x55558e]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #48: Envoy::Upstream::ClusterManagerInitHelper::setInitializedCb() [0xdc05ab]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #49: Envoy::Upstream::ClusterManagerImpl::setInitializedCb() [0xc46ba8]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #50: Envoy::Server::RunHelper::RunHelper() [0xc5ba97]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #51: Envoy::Server::InstanceImpl::run() [0xc5c06e]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #52: Envoy::MainCommonBase::run() [0x466688]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #53: Envoy::MainCommon::run() [0x449c7c]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #54: main [0x449757]
[critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #55: [0x7fcd320e52e1]

cc @duderino @jplevyak @silentdai @howardjohn @JimmyCYJ

貢獻者指南