Skip to content

CoderVPN crashes while device is slept for extended period #78

Open
@ethanndickson

Description

@ethanndickson

Whilst #50 provides support for the VPN to start and stop itself on wake and sleep, I discovered the VPN does not wake itself when the device is slept for a prolonged period of time, instead indicating a crash that occurred whilst slept.

Image

The error message shown is a generic message from the operating system when the network extension process is killed unexpectedly.

Console.app crash logs would suggest this is a panic (or a fatal error: panic + os.exit) in the .dylib:

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000

Termination Reason:    Namespace SIGNAL, Code 6 Abort trap: 6
Terminating Process:   com.coder.Coder-Desktop.VPN [80823]

[...]

Thread 10 Crashed:
0   libsystem_kernel.dylib        	       0x18958a600 __pthread_kill + 8
1   libsystem_pthread.dylib       	       0x1895c2f70 pthread_kill + 288
2   libsystem_c.dylib             	       0x189497c18 raise + 32
3   coder-vpn.dylib               	       0x10a2d0d84 runtime.raise_trampoline.abi0 + 20
4   coder-vpn.dylib               	       0x10a2cf71c runtime.asmcgocall.abi0 + 124

This crash occurred about 2 hours after putting the device to sleep. I've been unable to replicate the crash in a shorter timeframe.
I was also able to reproduce the crash with the dylib downloading commented out, which rules out any weird interactions with unquarantining a newly downloaded dylib with dev.coder.com restarts

Additionally, I've not seen or heard of this problem present on older versions of Coder Desktop - versions that don't start & stop the VPN on sleep & wake. Some users have had CoderVPN running for days without a crash (albeit with the workspace state out-of-date)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions