4

I'm getting an error when trying to run envoy with envoy --bootstrap-version 2 -c ./config.yaml

Envoy version: 1.17.1 installed with homebrew

OS: macOS Big Sur Version: 11.2.3 (20D91)

Error:

[2021-04-01 22:57:39.064][105033][info][main] [source/server/server.cc:731] starting main dispatch loop
[2021-04-01 22:57:44.024][105033][critical][assert] [source/common/network/apple_dns_impl.cc:304] assert failure: interface_index == 0. Details: unexpected interface_index=4294967295
[2021-04-01 22:57:44.025][105033][critical][backtrace] [bazel-out/darwin-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:104] Caught Abort trap: 6, suspect faulting address 0x7fff205dc462
[2021-04-01 22:57:44.025][105033][critical][backtrace] [bazel-out/darwin-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:91] Backtrace (use tools/stack_decode.py to get line numbers):
[2021-04-01 22:57:44.025][105033][critical][backtrace] [bazel-out/darwin-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:92] Envoy version: d6a4496e712d7a2335b26e2f76210d5904002c26/1.17.1/Modified/DEBUG/BoringSSL

config.yml

static_resources:
  listeners:
    - address:
        socket_address:
          address: 0.0.0.0
          port_value: 8080
      filter_chains:
        - filters:
          - name: envoy.filters.network.http_connection_manager
            typed_config: 
              '@type': "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager"
              stat_prefix: http_proxy
              route_config: 
                name: all
                virtual_hosts:
                  - name: allbackend_cluster
                    domains: 
                      - '*'
                    routes:
                      - match: { prefix: "/"}
                        route:
                          cluster: allbackend_cluster
              http_filters:
                  - name: envoy.filters.http.router
  clusters:
    - name: allbackend_cluster
      connect_timeout: 1s
      type: strict_dns
      lb_policy: round_robin
      load_assignment:
        cluster_name: allbackend_cluster
        endpoints:
          - lb_endpoints:
            - endpoint:
                address:
                  socket_address:
                    address: localhost
                    port_value: 1111
            
            - endpoint:
                address:
                  socket_address:
                    address: localhost
                    port_value: 2222
                  
            - endpoint:
                address:
                  socket_address:
                    address: localhost
                    port_value: 3333

            - endpoint:
                address:
                  socket_address:
                    address: localhost
                    port_value: 4444

I don't think it has anything to do with the config file itself, or with --bootstrap-version 2, because I've had similar issues with all config files I've tried.

shotex
  • 349
  • 5
  • 10

1 Answers1

3

Turns out the problem IS with configuration, specifically with hostnames. Envoy on MacOS has problems resolving a DNS, so it can't figure out that localhost is 172.0.0.1. If you replace the hostnames with IP addresses in your config file this error is resolved.

Alternatively, you can add this

layered_runtime:
  layers:
  - name: disable_apple_dns
    static_layer:
      envoy.restart_features.use_apple_api_for_dns_lookups: false

into your envoy config file, this will disable apple API for DNS lookup and will solve the problem as well.

shotex
  • 349
  • 5
  • 10