You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
I think I found a bug in gpclient: Unintentionally, I started "gpclient connect" while it was already running in another terminal. To my surprise, the second gpclient did not exit immediately, but created another tunnel, resulting in my network no longer being functional. I was unable to kill the two processes, and had to revert to "killall -9 gpclient" to get a working network again.
Expected behavior
From reading the log output, I know that gpclient creates a pid file:
However, I could not find any code that checks for the existence of this pid file, and if it exists, checks whether a process with this PID is running.
Logs
in terminal 1:
[2024-11-28T09:05:46Z INFO gpclient::cli] gpclient started: 2.3.9 (2024-11-02)
...
[2024-11-28T09:05:48Z INFO openconnect::vpn] Connected to VPN, pipe_fd: 11
[2024-11-28T09:05:48Z INFO gpclient::connect] Wrote PID 9290 to /var/run/gpclient.lock
in terminal 2:
[2024-11-28T09:05:56Z INFO gpclient::cli] gpclient started: 2.3.9 (2024-11-02)
...
[2024-11-28T09:05:58Z INFO openconnect::vpn] Connected to VPN, pipe_fd: 11
[2024-11-28T09:05:58Z INFO gpclient::connect] Wrote PID 9954 to /var/run/gpclient.lock
Describe the bug
I think I found a bug in gpclient: Unintentionally, I started "gpclient connect" while it was already running in another terminal. To my surprise, the second gpclient did not exit immediately, but created another tunnel, resulting in my network no longer being functional. I was unable to kill the two processes, and had to revert to "killall -9 gpclient" to get a working network again.
Expected behavior
From reading the log output, I know that gpclient creates a pid file:
https://github.com/yuezk/GlobalProtect-openconnect/blob/a6414533887fa3167d93b073c6308deb20ecd469/apps/gpclient/src/connect.rs#L413C10-L418C2
However, I could not find any code that checks for the existence of this pid file, and if it exists, checks whether a process with this PID is running.
Logs
in terminal 1:
in terminal 2:
Environment:
The text was updated successfully, but these errors were encountered: