an old version of mdns is used, which references the unmaintained github.com/hashicorp/go.net
- Dominant language
- Go
- Stars
- 6.1k
- Forks
- 609
- Avg merge
- 15h 1m
- Merged PRs (30d)
- 3
Description
The version of go.net that is used by mdns 1.0.0 has a bug when specifying the interface (in our case, in an ubuntu docker container). We see this stacktrace when calling `agent.NewAgentMDNS` with a valid `*net.Interface`.
```
panic: reflect: call of reflect.Value.Int on zero Value
goroutine 67 [running]:
reflect.Value.Int(...)
/usr/local/go/src/reflect/value.go:962
github.com/hashicorp/serf/vendor/github.com/hashicorp/go.net/ipv4.sysfd(0xfea6a0, 0xc000010028, 0xc000010028, 0xfea6a0, 0xc000010028)
/go/src/github.com/hashicorp/serf/vendor/github.com/hashicorp/go.net/ipv4/helper_unix.go:46 +0x2cb
github.com/hashicorp/serf/vendor/github.com/hashicorp/go.net/ipv4.(*dgramOpt).sysfd(0xc000067ea8, 0xde3680, 0xe640e0, 0xc000067e00)
/go/src/github.com/hashicorp/serf/vendor/github.com/hashicorp/go.net/ipv4/helper_unix.go:25 +0x7f
github.com/hashicorp/serf/vendor/github.com/hashicorp/go.net/ipv4.(*dgramOpt).SetMulticastInterface(0xc000067ea8, 0xc000393ac0, 0xc000010028, 0xfea6a0)
/go/src/github.com/hashicorp/serf/vendor/github.com/hashicorp/go.net/ipv4/dgramopt_posix.go:59 +0x44
github.com/hashicorp/serf/vendor/github.com/hashicorp/mdns.(*client).setInterface(0xc00014c2c0, 0xc000393ac0, 0xc00014c2c0, 0x14)
/go/src/github.com/hashicorp/serf/vendor/github.com/hashicorp/mdns/client.go:209 +0xea
github.com/hashicorp/serf/vendor/github.com/hashicorp/mdns.Query(0xc000425f80, 0x0, 0x0)
/go/src/github.com/hashicorp/serf/vendor/github.com/hashicorp/mdns/client.go:73 +0x10b
github.com/hashicorp/serf/cmd/serf/command/agent.(*AgentMDNS).poll(0xc000393b80, 0xc00014ed80)
/go/src/github.com/hashicorp/serf/cmd/serf/command/agent/mdns.go:127 +0xf8
created by github.com/hashicorp/serf/cmd/serf/command/agent.(*AgentMDNS).run
/go/src/github.com/hashicorp/serf/cmd/serf/command/agent/mdns.go:115 +0x1df
```
Contributor guide
Assessment
This issue has not been assessed yet.