AdguardTeam/AdGuardHome · error
%q %q unexpected family %q
Error message
%q %q unexpected family %q
What it means
While iterating sets for a host, addToSets hit the default family branch — the set's family is neither IPv4 nor IPv6. Defensive invariant check mirroring 391 at the addToSets level.
Source
Thrown at internal/ipset/ipset_linux.go:511
ip4s []net.IP,
ip6s []net.IP,
sets []props,
) (n int, err error) {
for _, set := range sets {
var nn int
switch set.family {
case netfilter.ProtoIPv4:
nn, err = m.addIPs(host, set, ip4s)
if err != nil {
return n, err
}
case netfilter.ProtoIPv6:
nn, err = m.addIPs(host, set, ip6s)
if err != nil {
return n, err
}
default:
return n, fmt.Errorf("%q %q unexpected family %q", set.name, set.typeName, set.family)
}
m.logger.DebugContext(
ctx,
"added ips to set",
"ips_num", nn,
"set_name", set.name,
"set_type", set.typeName,
)
n += nn
}
return n, nil
}
// Add implements the [Manager] interface for *manager.
func (m *manager) Add(ctx context.Context, host string, ip4s, ip6s []net.IP) (n int, err error) {View on GitHub (pinned to b41aefbe51)
Solutions
- Restart the service to rebuild the ipset cache
- Verify all referenced sets have valid families with 'ipset list'
- Report upstream with logs if persistent
Defensive patterns
Strategy: fallback
Type guard
func (p props) hasValidFamily() bool {
return p.family == netfilter.ProtoIPv4 || p.family == netfilter.ProtoIPv6
} Prevention
- Treat this as a canary for corrupted state; restart to re-sync
- Report reproducible occurrences upstream
When it happens
Trigger: A cached props entry with invalid family reaches the add loop, e.g. after a failed re-query left inconsistent state.
Common situations: Extremely rare; indicates corrupted internal state or an upstream parsing bug rather than user misconfiguration.
Related errors
- unexpected family %s for ipset %q
- dialing v4: %w
- dialing v6: %w
- dialing netfilter: %w
- invalid value %q: expected one slash
AI-assisted analysis of AdguardTeam/AdGuardHome@b41aefbe51 (2026-08-27).
Data as JSON: /api/errors/99acde5ba2c08938.
Report an issue: GitHub.