Skip to content

flake: enterprise/wsproxy TestDERP/ConnectDERP/best-proxy #886

@johnstcn

Description

@johnstcn

Seen here: https://github.com/coder/coder/actions/runs/16934395507/job/47987431703

    wsproxy_test.go:306: healthcheck report: (*derphealth.Report)(0xc072a19880)({
         BaseReport: (healthsdk.BaseReport) {
          Error: (*string)(<nil>),
          Severity: (health.Severity) (len=5) "error",
          Warnings: ([]health.Message) {
          },
          Dismissed: (bool) false
         },
         Healthy: (bool) false,
         Regions: (map[int]*healthsdk.DERPRegionReport) (len=1) {
          (int) 10001: (*healthsdk.DERPRegionReport)(0xc042b0d320)({
           Healthy: (bool) false,
           Severity: (health.Severity) (len=5) "error",
           Warnings: ([]health.Message) {
           },
           Error: (*string)(<nil>),
           Region: (*tailcfg.DERPRegion)(0xc039500ff0)({
            EmbeddedRelay: (bool) false,
            RegionID: (int) 10001,
            RegionCode: (string) (len=16) "coder_best-proxy",
            RegionName: (string) (len=10) "best-proxy",
            Avoid: (bool) false,
            Nodes: ([]*tailcfg.DERPNode) (len=1 cap=1) {
             (*tailcfg.DERPNode)(0xc02b950480)({
              Name: (string) (len=6) "10001a",
              RegionID: (int) 10001,
              HostName: (string) (len=9) "localhost",
              CertName: (string) "",
              IPv4: (string) "",
              IPv6: (string) "",
              STUNPort: (int) -1,
              STUNOnly: (bool) false,
              DERPPort: (int) 43565,
              InsecureForTests: (bool) false,
              ForceHTTP: (bool) true,
              STUNTestIP: (string) "",
              CanPort80: (bool) false
             })
            }
           }),
           NodeReports: ([]*healthsdk.DERPNodeReport) (len=1 cap=1) {
            (*healthsdk.DERPNodeReport)(0xc02cdbb110)({
             Healthy: (bool) false,
             Severity: (health.Severity) (len=5) "error",
             Warnings: ([]health.Message) {
             },
             Error: (*string)(<nil>),
             Node: (*tailcfg.DERPNode)(0xc02b950480)({
              Name: (string) (len=6) "10001a",
              RegionID: (int) 10001,
              HostName: (string) (len=9) "localhost",
              CertName: (string) "",
              IPv4: (string) "",
              IPv6: (string) "",
              STUNPort: (int) -1,
              STUNOnly: (bool) false,
              DERPPort: (int) 43565,
              InsecureForTests: (bool) false,
              ForceHTTP: (bool) true,
              STUNTestIP: (string) "",
              CanPort80: (bool) false
             }),
             ServerInfo: (derp.ServerInfoMessage) {
              TokenBucketBytesPerSecond: (int) 0,
              TokenBucketBytesBurst: (int) 0
             },
             CanExchangeMessages: (bool) false,
             RoundTripPing: (string) "",
             RoundTripPingMs: (int) 0,
             UsesWebsocket: (bool) false,
             ClientLogs: ([][]string) (len=1 cap=1) {
              ([]string) (len=1 cap=1) {
               (string) (len=66) "derphttp.Client.Connect: connecting to http://localhost:43565/derp"
              }
             },
             ClientErrs: ([][]string) (len=1 cap=1) {
              ([]string) (len=6 cap=8) {
               (string) (len=166) "connect to derp: derphttp.Client.Connect connect to http://localhost:43565/derp: context deadline exceeded: dial of localhost: dial tcp: lookup localhost: i/o timeout",
               (string) (len=39) "connect to derp: derphttp.Client closed",
               (string) (len=39) "connect to derp: derphttp.Client closed",
               (string) (len=39) "connect to derp: derphttp.Client closed",
               (string) (len=39) "connect to derp: derphttp.Client closed",
               (string) (len=110) "couldn't connect after 5 tries, last error: couldn't connect after 5 tries, last error: derphttp.Client closed"
              }
             },
             STUN: (healthsdk.STUNReport) {
              Enabled: (bool) false,
              CanSTUN: (bool) false,
              Error: (*string)(<nil>)
             }
            })
           }
          })
         },
         Netcheck: (*netcheck.Report)(0xc07fdfec60)({
          UDP: (bool) false,
          IPv6: (bool) false,
          IPv4: (bool) false,
          IPv6CanSend: (bool) false,
          IPv4CanSend: (bool) false,
          OSHasIPv6: (bool) true,
          ICMPv4: (bool) false,
          MappingVariesByDestIP: (opt.Bool) "",
          HairPinning: (opt.Bool) "",
          UPnP: (opt.Bool) (len=5) "false",
          PMP: (opt.Bool) (len=5) "false",
          PCP: (opt.Bool) (len=5) "false",
          PreferredDERP: (int) 0,
          RegionLatency: (map[int]time.Duration) {
          },
          RegionV4Latency: (map[int]time.Duration) {
          },
          RegionV6Latency: (map[int]time.Duration) {
          },
          GlobalV4: (string) "",
          GlobalV6: (string) "",
          CaptivePortal: (opt.Bool) ""
         }),
         NetcheckErr: (*string)(<nil>),
         NetcheckLogs: ([]string) (len=1 cap=1) {
          (string) (len=108) "netcheck: [v1] report: udp=false v4=false icmpv4=false v6=false v6os=true mapvarydest= hair= portmap= derp=0"
         }
        })
        
    wsproxy_test.go:307: 
        	Error Trace:	/home/runner/work/coder/coder/enterprise/wsproxy/wsproxy_test.go:307
        	Error:      	Should be true
        	Test:       	TestDERP/ConnectDERP/best-proxy
        	Messages:   	healthcheck failed, see report dump

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions