Constant crashes in TDENetworkManager #24

Open
opened 4 months ago by jacobheinrich · 11 comments

Basic information

  • TDE version: R14.1.3
  • Distribution: Debian Bookworm
  • Hardware: amd64

Description

When launching TDENetworkManager using Debian, I find the app crashes. Whether I have a VPN set up in my connections or not, but much more often with the VPN in my connection list.

The only thing I have that I think it could be is I use Wireguard to connect to my VPN.

In the meantime I am using NetworkManager-Gnome to switch connections.
...

Steps to reproduce

  1. Connect to VPN with wg-quick (happens without it but less often)
  2. Click on the applet icon
<!-- This is a comment. Please fill in the required fields below. The comments provide instructions on how to do so. Note: You do not need to remove comments. --> ## Basic information - TDE version: R14.1.3 - Distribution: Debian Bookworm - Hardware: amd64 <!-- Use SL/* labels to set the severity level. Please do not set a milestone. --> ## Description When launching TDENetworkManager using Debian, I find the app crashes. Whether I have a VPN set up in my connections or not, but much more often with the VPN in my connection list. The only thing I have that I think it could be is I use Wireguard to connect to my VPN. In the meantime I am using NetworkManager-Gnome to switch connections. ... ## Steps to reproduce 1. Connect to VPN with wg-quick (happens without it but less often) 2. Click on the applet icon
Owner

Hi @jacobheinrich, would you be able to upload a backtrace of the crash with debug symbols installed?

Hi @jacobheinrich, would you be able to upload a backtrace of the crash with debug symbols installed?
Poster

@MicheleC So sorry, I thought I attached the dump...

@MicheleC So sorry, I thought I attached the dump...
Poster
There is no content yet.
23 KiB
Owner

It crashes somewhere in tde hwlib. Could you install tdelibs debug symbols and upload a new dump? That would provide more accurate feedback.

It crashes somewhere in tde hwlib. Could you install tdelibs debug symbols and upload a new dump? That would provide more accurate feedback.
Poster

It crashes somewhere in tde hwlib. Could you install tdelibs debug symbols and upload a new dump? That would provide more accurate feedback.

I was able to install the new debug symbols and get another crash

> It crashes somewhere in tde hwlib. Could you install tdelibs debug symbols and upload a new dump? That would provide more accurate feedback. I was able to install the new debug symbols and get another crash
Owner

It clearly crashes on an invalid pointer (this=0x2a0), so something is obviously wrong somewhere. The problem seems related to VPN config and triggered when the context menu is about to show.
I use TDENetworkManager every day and I don't have crashes, so I reckon it is something related to the config. Are you able to share a config file that displays the issue, so that I can test here?

It clearly crashes on an invalid pointer (`this=0x2a0`), so something is obviously wrong somewhere. The problem seems related to VPN config and triggered when the context menu is about to show. I use TDENetworkManager every day and I don't have crashes, so I reckon it is something related to the config. Are you able to share a config file that displays the issue, so that I can test here?
Owner

Looking a bit at the code, I suspect there is an initialized/wrong pointer to wifiConnection in tdelibs when you use wireguard. The wifiConnection would refer to a connection setup in TDENetworkManager. How did you do your VPN setup? IS it done in TDENetworkManager or in wireguard only?

Looking a bit at the code, I suspect there is an initialized/wrong pointer to `wifiConnection` in tdelibs when you use wireguard. The `wifiConnection` would refer to a connection setup in TDENetworkManager. How did you do your VPN setup? IS it done in TDENetworkManager or in wireguard only?
Poster

Looking a bit at the code, I suspect there is an initialized/wrong pointer to wifiConnection in tdelibs when you use wireguard. The wifiConnection would refer to a connection setup in TDENetworkManager. How did you do your VPN setup? IS it done in TDENetworkManager or in wireguard only?

I use wg-quick to add the config, this behavior is also seen using the nmcli config import. the command I use is wg-quick up /path/to/file

I know it might not be of any help, but they are all pretty standard Wireguard servers. Any of my client configs are also pretty standard:

[Interface]
PrivateKey = *hidden for obvious reasons*
Address = 10.153.128.3/24
DNS = 192.168.50.3, 192.168.50.4

[Peer]
PublicKey = *hidden for obvious reasons*
PresharedKey = *hidden for obvious reasons*
Endpoint = *hidden for obvious reasons*:51820
AllowedIPs = 0.0.0.0/0, ::0/0

I cannot add a Wireguard configuration with TDENetworkManager. However wireguard support is built natively into networkmanager.

> Looking a bit at the code, I suspect there is an initialized/wrong pointer to `wifiConnection` in tdelibs when you use wireguard. The `wifiConnection` would refer to a connection setup in TDENetworkManager. How did you do your VPN setup? IS it done in TDENetworkManager or in wireguard only? I use wg-quick to add the config, this behavior is also seen using the nmcli config import. the command I use is wg-quick up /path/to/file I know it might not be of any help, but they are all pretty standard Wireguard servers. Any of my client configs are also pretty standard: ``` [Interface] PrivateKey = *hidden for obvious reasons* Address = 10.153.128.3/24 DNS = 192.168.50.3, 192.168.50.4 [Peer] PublicKey = *hidden for obvious reasons* PresharedKey = *hidden for obvious reasons* Endpoint = *hidden for obvious reasons*:51820 AllowedIPs = 0.0.0.0/0, ::0/0 ``` I cannot add a Wireguard configuration with TDENetworkManager. However wireguard support is built natively into networkmanager.
Owner

Could you also do the following test? should be pretty quick.

  1. close TDENetworkManager
  2. start a VPN connection as you usually do with wg
  3. start TDENetworkManager
  4. click on TDENetworkManager icon in the systray and see if the crash still happens

The test tries to understand if the problem is a refresh issue or not: that is, if it crashes when an "external" VPN connection is started.

Could you also do the following test? should be pretty quick. 1. close TDENetworkManager 2. start a VPN connection as you usually do with wg 3. start TDENetworkManager 4. click on TDENetworkManager icon in the systray and see if the crash still happens The test tries to understand if the problem is a refresh issue or not: that is, if it crashes when an "external" VPN connection is started.
Poster

Could you also do the following test? should be pretty quick.

  1. close TDENetworkManager
  2. start a VPN connection as you usually do with wg
  3. start TDENetworkManager
  4. click on TDENetworkManager icon in the systray and see if the crash still happens

The test tries to understand if the problem is a refresh issue or not: that is, if it crashes when an "external" VPN connection is started.

I was able to test this very quickly, and it does appear there is no issue if the connection is added or activated before TDENetworkManager is launched.

> Could you also do the following test? should be pretty quick. > > 1. close TDENetworkManager > 2. start a VPN connection as you usually do with wg > 3. start TDENetworkManager > 4. click on TDENetworkManager icon in the systray and see if the crash still happens > > The test tries to understand if the problem is a refresh issue or not: that is, if it crashes when an "external" VPN connection is started. I was able to test this very quickly, and it does appear there is no issue if the connection is added or activated before TDENetworkManager is launched.
Owner

I was able to test this very quickly, and it does appear there is no issue if the connection is added or activated before TDENetworkManager is launched.

Thanks for testing, this is what I eas thinking after a quick look at the code. Probably the VPN connections dat are initialized on TDENetworkManager startup. When a new VPN connection is created externally after that, TDENetworkManager ends up with an invalid pointer when handling that connection passed by nm.

> I was able to test this very quickly, and it does appear there is no issue if the connection is added or activated before TDENetworkManager is launched. Thanks for testing, this is what I eas thinking after a quick look at the code. Probably the VPN connections dat are initialized on TDENetworkManager startup. When a new VPN connection is created externally after that, TDENetworkManager ends up with an invalid pointer when handling that connection passed by nm.
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: TDE/tdenetworkmanager#24
Loading…
There is no content yet.