hashicorp / hashicorp/serf

an old version of mdns is used, which references the unmaintained github.com/hashicorp/go.net

Open
#571 0 comments 7 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.