tailscale / tailscale

The easiest, most secure way to use WireGuard and 2FA.
https://tailscale.com
BSD 3-Clause "New" or "Revised" License
16.83k stars 1.27k forks source link

ipn/ipnlocal: TestOnTailnetDefaultAutoUpdate failing on macOS #11894

Closed bradfitz closed 2 weeks ago

bradfitz commented 2 weeks ago

TestOnTailnetDefaultAutoUpdate (added in 945cf836ee25f412) started failing on macOS as of bff527622d597048c401d42da6cded255f01a48e (Apr 19th):

        local.go:3147: EditPrefs check error: Auto-updates are not supported on this platform.
        local.go:2524: failed to apply tailnet-wide default for auto-updates (true): Auto-updates are not supported on this platform.
        local_test.go:2305: got: "", want "true"

I guess we don't test that on macOS in CI.

% git reset --hard bff527622d597048c401d42da6cded255f01a48e^
HEAD is now at b3fb3bf08 clientupdate: return OS-specific version from LatestTailscaleVersion (#11812)
% ./tool/go test ./ipn/ipnlocal                 
ok      tailscale.com/ipn/ipnlocal

% git reset --hard bff527622d597048c401d42da6cded255f01a48e 
HEAD is now at bff527622 ipn/ipnlocal,clientupdate: disallow auto-updates in containers (#11814)
% ./tool/go test ./ipn/ipnlocal                
--- FAIL: TestOnTailnetDefaultAutoUpdate (0.05s)
    --- FAIL: TestOnTailnetDefaultAutoUpdate/before=_after=true (0.01s)
        userspace.go:257: [v1] using fake (no-op) tun device
        userspace.go:261: [v1] using fake (no-op) OS network configurator
        userspace.go:265: [v1] using fake (no-op) DNS configurator
        logger.go:103: dns: using dns.noopManager
        userspace.go:326: link state: interfaces.State{defaultRoute=en0 ifs={en0:[10.0.108.89/16 2602:d1:b4cf:c100:45:af9c:aa2f:8e8e/64 2602:d1:b4cf:c100:510d:ad56:dd42:74cf/64 llu6] utun4:[100.91.229.25/32 fd7a:115c:a1e0::3301:e519/48 llu6]} v4=true v6=true}
        userspace.go:343: onPortUpdate(port=64584, network=udp6)
        router_fake.go:31: [v1] warning: fakeRouter.UpdateMagicsockPort: not implemented.
        userspace.go:343: onPortUpdate(port=55468, network=udp4)
        router_fake.go:31: [v1] warning: fakeRouter.UpdateMagicsockPort: not implemented.
        peermtu.go:95: [v1] magicsock: peermtu: peer MTU status is false
        magicsock.go:494: [v1] couldn't create raw v4 disco listener, using regular listener instead: raw disco listening not supported on this OS
        magicsock.go:500: [v1] couldn't create raw v6 disco listener, using regular listener instead: raw disco listening not supported on this OS
        magicsock.go:503: magicsock: disco key = d:4cacb09cea4a29ec
        userspace.go:414: Creating WireGuard device...
        userspace.go:454: Bringing WireGuard device up...
        wglog.go:66: wg: [v2] UDP bind has been updated
        wglog.go:66: wg: [v2] Interface state was Down, requested Up, now Up
        userspace.go:458: Bringing router up...
        router_fake.go:21: [v1] warning: fakeRouter.Up: not implemented.
        userspace.go:466: Clearing router settings...
        router_fake.go:26: [v1] warning: fakeRouter.Set: not implemented.
        userspace.go:470: Starting network monitor...
        userspace.go:485: Engine created.
        logger.go:103: pm: migrating "_daemon" profile to new format
        wglog.go:66: wg: [v2] Routine: receive incoming mkReceiveFunc - started
        logpolicy.go:236: logpolicy: using system state directory "/Users/bradfitz/.local/share/tailscale"
        local.go:1920: [v1] netmap packet filter: (not ready yet)
        wglog.go:66: wg: [v2] Routine: receive incoming receiveDERP - started
        wglog.go:66: wg: [v2] Routine: receive incoming mkReceiveFunc - started
        logger.go:103: pm: migrating "_daemon" profile to new format
        local.go:2514: using tailnet default auto-update setting: true
        local.go:3147: EditPrefs check error: Auto-updates are not supported on this platform.
        local.go:2524: failed to apply tailnet-wide default for auto-updates (true): Auto-updates are not supported on this platform.
        local_test.go:2305: got: "", want "true"
        wglog.go:66: wg: [v2] Routine: receive incoming mkReceiveFunc - stopped
        wglog.go:66: wg: [v2] Routine: receive incoming mkReceiveFunc - stopped
        router_fake.go:36: [v1] warning: fakeRouter.Close: not implemented.
        wglog.go:66: wg: [v2] Device closing
        wglog.go:66: wg: [v2] Routine: receive incoming receiveDERP - stopped
        wglog.go:66: wg: [v2] Device closed
    --- FAIL: TestOnTailnetDefaultAutoUpdate/before=unset_after=true (0.01s)
        userspace.go:257: [v1] using fake (no-op) tun device
        userspace.go:261: [v1] using fake (no-op) OS network configurator
        userspace.go:265: [v1] using fake (no-op) DNS configurator
        logger.go:103: dns: using dns.noopManager
        userspace.go:326: link state: interfaces.State{defaultRoute=en0 ifs={en0:[10.0.108.89/16 2602:d1:b4cf:c100:45:af9c:aa2f:8e8e/64 2602:d1:b4cf:c100:510d:ad56:dd42:74cf/64 llu6] utun4:[100.91.229.25/32 fd7a:115c:a1e0::3301:e519/48 llu6]} v4=true v6=true}
        userspace.go:343: onPortUpdate(port=62101, network=udp6)
        router_fake.go:31: [v1] warning: fakeRouter.UpdateMagicsockPort: not implemented.
        userspace.go:343: onPortUpdate(port=49241, network=udp4)
        router_fake.go:31: [v1] warning: fakeRouter.UpdateMagicsockPort: not implemented.
        peermtu.go:95: [v1] magicsock: peermtu: peer MTU status is false
        magicsock.go:494: [v1] couldn't create raw v4 disco listener, using regular listener instead: raw disco listening not supported on this OS
        magicsock.go:500: [v1] couldn't create raw v6 disco listener, using regular listener instead: raw disco listening not supported on this OS
        magicsock.go:503: magicsock: disco key = d:fa2046aeb51024ab
        userspace.go:414: Creating WireGuard device...
        userspace.go:454: Bringing WireGuard device up...
        wglog.go:66: wg: [v2] UDP bind has been updated
        wglog.go:66: wg: [v2] Interface state was Down, requested Up, now Up
        userspace.go:458: Bringing router up...
        router_fake.go:21: [v1] warning: fakeRouter.Up: not implemented.
        userspace.go:466: Clearing router settings...
        router_fake.go:26: [v1] warning: fakeRouter.Set: not implemented.
        userspace.go:470: Starting network monitor...
        userspace.go:485: Engine created.
        logger.go:103: pm: migrating "_daemon" profile to new format
        logpolicy.go:236: logpolicy: using system state directory "/Users/bradfitz/.local/share/tailscale"
        local.go:1920: [v1] netmap packet filter: (not ready yet)
        wglog.go:66: wg: [v2] Routine: receive incoming mkReceiveFunc - started
        wglog.go:66: wg: [v2] Routine: receive incoming mkReceiveFunc - started
        wglog.go:66: wg: [v2] Routine: receive incoming receiveDERP - started
        logger.go:103: pm: migrating "_daemon" profile to new format
        local.go:2514: using tailnet default auto-update setting: true
        local.go:3147: EditPrefs check error: Auto-updates are not supported on this platform.
        local.go:2524: failed to apply tailnet-wide default for auto-updates (true): Auto-updates are not supported on this platform.
        local_test.go:2305: got: "unset", want "true"
        wglog.go:66: wg: [v2] Routine: receive incoming mkReceiveFunc - stopped
        wglog.go:66: wg: [v2] Routine: receive incoming mkReceiveFunc - stopped
        router_fake.go:36: [v1] warning: fakeRouter.Close: not implemented.
        wglog.go:66: wg: [v2] Device closing
        wglog.go:66: wg: [v2] Routine: receive incoming receiveDERP - stopped
        wglog.go:66: wg: [v2] Device closed
2024/04/27 08:29:29 [v1] HostInfo: {"IPNVersion":"1.65.0-ERR-BuildInfo","OS":"macOS","Package":"ipnlocal.test","Hostname":"book1pro","Machine":"arm64","GoArch":"arm64","GoVersion":"go1.22.2"}
2024/04/27 08:29:29 NetInfo: NetInfo{varies= hairpin= ipv6= ipv6os= udp= icmpv4= derp=#0 portmap=? link="wired" firewallmode=""}
2024/04/27 08:29:29 [v1] HostInfo: {"IPNVersion":"1.65.0-ERR-BuildInfo","OS":"macOS","Package":"ipnlocal.test","Hostname":"book1pro","Machine":"arm64","GoArch":"arm64","GoVersion":"go1.22.2"}
2024/04/27 08:29:29 NetInfo: NetInfo{varies= hairpin= ipv6= ipv6os= udp= icmpv4= derp=#0 portmap=? link="wired" firewallmode=""}
2024/04/27 08:29:29 [v1] HostInfo: {"IPNVersion":"1.65.0-ERR-BuildInfo","OS":"macOS","Package":"ipnlocal.test","Hostname":"book1pro","Machine":"arm64","GoArch":"arm64","GoVersion":"go1.22.2"}
2024/04/27 08:29:29 NetInfo: NetInfo{varies= hairpin= ipv6= ipv6os= udp= icmpv4= derp=#0 portmap=? link="wired" firewallmode=""}
2024/04/27 08:29:29 [v1] HostInfo: {"IPNVersion":"1.65.0-ERR-BuildInfo","OS":"macOS","Package":"ipnlocal.test","Hostname":"book1pro","Machine":"arm64","GoArch":"arm64","GoVersion":"go1.22.2"}
2024/04/27 08:29:29 NetInfo: NetInfo{varies= hairpin= ipv6= ipv6os= udp= icmpv4= derp=#0 portmap=? link="wired" firewallmode=""}
2024/04/27 08:29:29 [v1] HostInfo: {"IPNVersion":"1.65.0-ERR-BuildInfo","OS":"macOS","Package":"ipnlocal.test","Hostname":"book1pro","Machine":"arm64","GoArch":"arm64","GoVersion":"go1.22.2"}
2024/04/27 08:29:29 NetInfo: NetInfo{varies= hairpin= ipv6= ipv6os= udp= icmpv4= derp=#0 portmap=? link="wired" firewallmode=""}
2024/04/27 08:29:30 [v1] HostInfo: {"IPNVersion":"1.65.0-ERR-BuildInfo","OS":"macOS","Package":"ipnlocal.test","Hostname":"book1pro","Machine":"arm64","GoArch":"arm64","GoVersion":"go1.22.2"}
2024/04/27 08:29:30 NetInfo: NetInfo{varies= hairpin= ipv6= ipv6os= udp= icmpv4= derp=#0 portmap=? link="wired" firewallmode=""}
2024/04/27 08:29:30 [v1] HostInfo: {"IPNVersion":"1.65.0-ERR-BuildInfo","OS":"macOS","Package":"ipnlocal.test","Hostname":"book1pro","Machine":"arm64","GoArch":"arm64","GoVersion":"go1.22.2"}
2024/04/27 08:29:30 NetInfo: NetInfo{varies= hairpin= ipv6= ipv6os= udp= icmpv4= derp=#0 portmap=? link="wired" firewallmode=""}
2024/04/27 08:29:30 [v1] HostInfo: {"IPNVersion":"1.65.0-ERR-BuildInfo","OS":"macOS","Package":"ipnlocal.test","Hostname":"book1pro","Machine":"arm64","GoArch":"arm64","GoVersion":"go1.22.2"}
2024/04/27 08:29:30 NetInfo: NetInfo{varies= hairpin= ipv6= ipv6os= udp= icmpv4= derp=#0 portmap=? link="wired" firewallmode=""}
2024/04/27 08:29:30 [v1] HostInfo: {"IPNVersion":"1.65.0-ERR-BuildInfo","OS":"macOS","Package":"ipnlocal.test","Hostname":"book1pro","Machine":"arm64","GoArch":"arm64","GoVersion":"go1.22.2"}
2024/04/27 08:29:30 NetInfo: NetInfo{varies= hairpin= ipv6= ipv6os= udp= icmpv4= derp=#0 portmap=? link="wired" firewallmode=""}
2024/04/27 08:29:30 [v1] HostInfo: {"IPNVersion":"1.65.0-ERR-BuildInfo","OS":"macOS","Package":"ipnlocal.test","Hostname":"book1pro","Machine":"arm64","GoArch":"arm64","GoVersion":"go1.22.2"}
2024/04/27 08:29:30 NetInfo: NetInfo{varies= hairpin= ipv6= ipv6os= udp= icmpv4= derp=#0 portmap=? link="wired" firewallmode=""}
2024/04/27 08:29:30 [v1] HostInfo: {"IPNVersion":"1.65.0-ERR-BuildInfo","OS":"macOS","Package":"ipnlocal.test","Hostname":"book1pro","Machine":"arm64","GoArch":"arm64","GoVersion":"go1.22.2"}
2024/04/27 08:29:30 NetInfo: NetInfo{varies= hairpin= ipv6= ipv6os= udp= icmpv4= derp=#0 portmap=? link="wired" firewallmode=""}
2024/04/27 08:29:30 [v1] HostInfo: {"IPNVersion":"1.65.0-ERR-BuildInfo","OS":"macOS","Package":"ipnlocal.test","Hostname":"book1pro","Machine":"arm64","GoArch":"arm64","GoVersion":"go1.22.2"}
2024/04/27 08:29:30 NetInfo: NetInfo{varies= hairpin= ipv6= ipv6os= udp= icmpv4= derp=#0 portmap=? link="wired" firewallmode=""}
2024/04/27 08:29:30 [v1] HostInfo: {"IPNVersion":"1.65.0-ERR-BuildInfo","OS":"macOS","Package":"ipnlocal.test","Hostname":"book1pro","Machine":"arm64","GoArch":"arm64","GoVersion":"go1.22.2"}
2024/04/27 08:29:30 NetInfo: NetInfo{varies= hairpin= ipv6= ipv6os= udp= icmpv4= derp=#0 portmap=? link="wired" firewallmode=""}
FAIL
FAIL    tailscale.com/ipn/ipnlocal      3.534s
FAIL
awly commented 2 weeks ago

TIL that we don't run any darwin tests in CI, because there's no managed github runner for darwin :cry: