WireGuard for Windows crash "panic: ring is full" since release of 0.3.10

Peter Whisker peter.whisker at gmail.com
Mon Apr 12 07:56:04 UTC 2021


It seems to be your suggested workaround for using Wireguard via a split 
tunnel:

PostUp = wg set %WIREGUARD_TUNNEL_NAME% listen-port 0

which is causing the crash. It was great that this worked in earlier 
versions but I'm now back to square one.

Peter

On 12/04/2021 08:45, Peter Whisker wrote:
> Hi
>
> Since the recent upgrade to 0.3.10 It now crashes bringing up my 
> tunnels - all was well with 0.3.9.
>
> Peter
>
> 2021-04-12 08:41:07.187: [TUN] [lhirisseccom01] Setting interface 
> configuration
> 2021-04-12 08:41:07.187: [TUN] [lhirisseccom01] Routine: event worker 
> - started
> 2021-04-12 08:41:07.188: [TUN] [lhirisseccom01] UAPI: Updating private 
> key
> 2021-04-12 08:41:07.188: [TUN] [lhirisseccom01] UAPI: Removing all peers
> 2021-04-12 08:41:07.188: [TUN] [lhirisseccom01] peer(Qfjl…0V1w) - 
> UAPI: Created
> 2021-04-12 08:41:07.188: [TUN] [lhirisseccom01] peer(Qfjl…0V1w) - 
> UAPI: Updating preshared key
> 2021-04-12 08:41:07.188: [TUN] [lhirisseccom01] peer(Qfjl…0V1w) - 
> UAPI: Updating endpoint
> 2021-04-12 08:41:07.188: [TUN] [lhirisseccom01] peer(Qfjl…0V1w) - 
> UAPI: Updating persistent keepalive interval
> 2021-04-12 08:41:07.188: [TUN] [lhirisseccom01] peer(Qfjl…0V1w) - 
> UAPI: Removing all allowedips
> 2021-04-12 08:41:07.188: [TUN] [lhirisseccom01] peer(Qfjl…0V1w) - 
> UAPI: Adding allowedip
> 2021-04-12 08:41:07.188: [TUN] [lhirisseccom01] peer(Qfjl…0V1w) - 
> UAPI: Adding allowedip
> 2021-04-12 08:41:07.188: [TUN] [lhirisseccom01] peer(Qfjl…0V1w) - 
> UAPI: Adding allowedip
> 2021-04-12 08:41:07.188: [TUN] [lhirisseccom01] peer(Qfjl…0V1w) - 
> UAPI: Adding allowedip
> 2021-04-12 08:41:07.188: [TUN] [lhirisseccom01] Bringing peers up
> 2021-04-12 08:41:07.190: [TUN] [lhirisseccom01] UDP bind has been updated
> 2021-04-12 08:41:07.190: [TUN] [lhirisseccom01] Routine: receive 
> incoming 0x292980 - started
> 2021-04-12 08:41:07.190: [TUN] [lhirisseccom01] peer(Qfjl…0V1w) - 
> Starting...
> 2021-04-12 08:41:07.190: [TUN] [lhirisseccom01] peer(Qfjl…0V1w) - 
> Sending keepalive packet
> 2021-04-12 08:41:07.190: [TUN] [lhirisseccom01] peer(Qfjl…0V1w) - 
> Sending handshake initiation
> 2021-04-12 08:41:07.190: [TUN] [lhirisseccom01] Routine: receive 
> incoming 0x292a60 - started
> 2021-04-12 08:41:07.190: [TUN] [lhirisseccom01] peer(Qfjl…0V1w) - 
> Routine: sequential sender - started
> 2021-04-12 08:41:07.190: [TUN] [lhirisseccom01] peer(Qfjl…0V1w) - 
> Routine: sequential receiver - started
> 2021-04-12 08:41:07.190: [TUN] [lhirisseccom01] Interface state was 
> Down, requested Up, now Up
> 2021-04-12 08:41:07.191: [TUN] [lhirisseccom01] Monitoring default v6 
> routes
> 2021-04-12 08:41:07.191: [TUN] [lhirisseccom01] Binding v6 socket to 
> interface 0 (blackhole=false)
> 2021-04-12 08:41:07.191: [TUN] [lhirisseccom01] Setting device v6 
> addresses
> 2021-04-12 08:41:07.202: [TUN] [lhirisseccom01] Monitoring default v4 
> routes
> 2021-04-12 08:41:07.210: [TUN] [lhirisseccom01] Binding v4 socket to 
> interface 10 (blackhole=false)
> 2021-04-12 08:41:07.212: [TUN] [lhirisseccom01] Setting device v4 
> addresses
> 2021-04-12 08:41:07.212: [TUN] [lhirisseccom01] Listening for UAPI 
> requests
> 2021-04-12 08:41:07.212: [TUN] [lhirisseccom01] Executing: `wg set 
> %WIREGUARD_TUNNEL_NAME% listen-port 0`
> 2021-04-12 08:41:07.229: [TUN] [lhirisseccom01] peer(Qfjl…0V1w) - 
> Received handshake response
> 2021-04-12 08:41:07.404: [TUN] [lhirisseccom01] UAPI: Updating listen 
> port
> 2021-04-12 08:41:07.404: [TUN] [lhirisseccom01] Routine: receive 
> incoming 0x292980 - stopped
> 2021-04-12 08:41:07.404: [TUN] [lhirisseccom01] Routine: receive 
> incoming 0x292a60 - stopped
> 2021-04-12 08:41:07.407: [TUN] [lhirisseccom01] cmd> Unable to modify 
> interface: Unknown error
> 2021-04-12 08:41:07.410: [TUN] panic: ring is full
> 2021-04-12 08:41:07.410: [TUN] goroutine 134 [running]:
> 2021-04-12 08:41:07.410: [TUN] 
> golang.zx2c4.com/wireguard/conn.(*ringBuffer).Push(...)
> 2021-04-12 08:41:07.410: [TUN] 
> golang.zx2c4.com/wireguard at v0.0.0-20210409202608-75526d60714c/conn/bind_windows.go:46
> 2021-04-12 08:41:07.410: [TUN] 
> golang.zx2c4.com/wireguard/conn.(*afWinRingBind).InsertReceiveRequest(0xc000220000, 
> 0x0, 0x0)
> 2021-04-12 08:41:07.410: [TUN] 
> golang.zx2c4.com/wireguard at v0.0.0-20210409202608-75526d60714c/conn/bind_windows.go:327 
> +0x7e
> 2021-04-12 08:41:07.410: [TUN] 
> golang.zx2c4.com/wireguard/conn.(*WinRingBind).Open(0xc000220000, 0x0, 
> 0x0, 0x0, 0x0, 0xc00021dbf7, 0x0, 0x0)
> 2021-04-12 08:41:07.410: [TUN] 
> golang.zx2c4.com/wireguard at v0.0.0-20210409202608-75526d60714c/conn/bind_windows.go:291 
> +0x265
> 2021-04-12 08:41:07.410: [TUN] 
> golang.zx2c4.com/wireguard/device.(*Device).BindUpdate(0xc000222000, 
> 0x0, 0x0)
> 2021-04-12 08:41:07.410: [TUN] 
> golang.zx2c4.com/wireguard at v0.0.0-20210409202608-75526d60714c/device/device.go:470 
> +0x104
> 2021-04-12 08:41:07.410: [TUN] 
> golang.zx2c4.com/wireguard/device.(*Device).handleDeviceLine(0xc000222000, 
> 0xc000324030, 0xb, 0xc00032403c, 0x1, 0x1, 0xc0003140a0)
> 2021-04-12 08:41:07.410: [TUN] 
> golang.zx2c4.com/wireguard at v0.0.0-20210409202608-75526d60714c/device/uapi.go:223 
> +0x7a5
> 2021-04-12 08:41:07.410: [TUN] 
> golang.zx2c4.com/wireguard/device.(*Device).IpcSetOperation(0xc000222000, 
> 0x52ee60, 0xc0003042a0, 0x0, 0x0)
> 2021-04-12 08:41:07.410: [TUN] 
> golang.zx2c4.com/wireguard at v0.0.0-20210409202608-75526d60714c/device/uapi.go:183 
> +0x279
> 2021-04-12 08:41:07.410: [TUN] 
> golang.zx2c4.com/wireguard/device.(*Device).IpcHandle(0xc000222000, 
> 0x537840, 0xc0004b4078)
> 2021-04-12 08:41:07.410: [TUN] 
> golang.zx2c4.com/wireguard at v0.0.0-20210409202608-75526d60714c/device/uapi.go:426 
> +0x165
> 2021-04-12 08:41:07.410: [TUN] created by 
> golang.zx2c4.com/wireguard/windows/tunnel.(*tunnelService).Execute.func2
> 2021-04-12 08:41:07.410: [TUN] 
> golang.zx2c4.com/wireguard/windows/tunnel/service.go:226 +0x7b
> 2021-04-12 08:41:07.467: [MGR] [lhirisseccom01] Tunnel service tracker 
> finished
> 2021-04-12 08:41:16.327: [MGR] [Wintun] IsPoolMember: Reading pool 
> devpkey failed, falling back: Element not found. (Code 0x00000490)
> 2021-04-12 08:41:16.338: [MGR] Removing Wintun interface 
> ‘lhirisseccom01’ because no service for it exists
>
> On 09/04/2021 23:47, Jason A. Donenfeld wrote:
>> The fix has been released in 0.3.10.
>>
>> Jason


More information about the WireGuard mailing list