GlobalProtect-openconnect icon indicating copy to clipboard operation
GlobalProtect-openconnect copied to clipboard

waste of memory

Open dmitriy-geels opened this issue 3 years ago • 6 comments

Recently I noticed, that gpclient while running in the background keeps all QTWebEngine processes aswell. Here is a "screenshot" from htop:

  38706 temporary  20   0 5203M  229M  156M S  0.0  0.7  1:25.12 │  │  ├─ gpclient
  38733 temporary  20   0  350M 62472 51640 S  0.0  0.2  0:00.05 │  │  │  ├─ QtWebEngineProcess --type=zygote --no-zygote-sandbox --application-name=gpclient --webengine-schemes=qrc:sLV --lang=en-IE
  38734 temporary  20   0  350M 62536 51704 S  0.0  0.2  0:00.04 │  │  │  ├─ QtWebEngineProcess --type=zygote --application-name=gpclient --webengine-schemes=qrc:sLV --lang=en-IE
  38736 temporary  20   0  350M 13984  3120 S  0.0  0.0  0:00.01 │  │  │  │  └─ QtWebEngineProcess --type=zygote --application-name=gpclient --webengine-schemes=qrc:sLV --lang=en-IE
  38758 temporary  20   0 5675M 79372 63744 S  0.0  0.2  0:00.78 │  │  │  │     ├─ QtWebEngineProcess --type=renderer --disable-speech-api --enable-threaded-compositing --enable-features=AllowContentInitiatedDataUrlNavigations,TracingServiceInProcess --disable-features=Back
  44492 temporary  20   0 5675M 80024 64364 S  0.0  0.2  0:00.88 │  │  │  │     ├─ QtWebEngineProcess --type=renderer --disable-speech-api --enable-threaded-compositing --enable-features=AllowContentInitiatedDataUrlNavigations,TracingServiceInProcess --disable-features=Back
  51870 temporary  20   0 5675M 80016 64364 S  0.0  0.2  0:00.80 │  │  │  │     ├─ QtWebEngineProcess --type=renderer --disable-speech-api --enable-threaded-compositing --enable-features=AllowContentInitiatedDataUrlNavigations,TracingServiceInProcess --disable-features=Back
 128180 temporary  20   0 5675M 80028 64376 S  0.0  0.2  0:00.65 │  │  │  │     ├─ QtWebEngineProcess --type=renderer --disable-speech-api --enable-threaded-compositing --enable-features=AllowContentInitiatedDataUrlNavigations,TracingServiceInProcess --disable-features=Back
 283370 temporary  20   0 5675M 80020 64380 S  0.0  0.2  0:00.39 │  │  │  │     ├─ QtWebEngineProcess --type=renderer --disable-speech-api --enable-threaded-compositing --enable-features=AllowContentInitiatedDataUrlNavigations,TracingServiceInProcess --disable-features=Back
 372665 temporary  20   0 5730M  114M 85124 S  0.0  0.4  0:03.90 │  │  │  │     └─ QtWebEngineProcess --type=renderer --disable-speech-api --enable-threaded-compositing --enable-features=AllowContentInitiatedDataUrlNavigations,TracingServiceInProcess --disable-features=Back
  38756 temporary  20   0  910M 79368 65404 S  0.0  0.2  0:02.56 │  │  │  └─ QtWebEngineProcess --type=utility --utility-sub-type=network.mojom.NetworkService --enable-features=AllowContentInitiatedDataUrlNavigations,TracingServiceInProcess --disable-features=BackgroundFetc

I believe these should be finished as soon as the connection is established (or failed).

dmitriy-geels avatar Apr 07 '22 09:04 dmitriy-geels

Can you help verify if it is still reproducible in the latest version? (1.4.8)

yuezk avatar Jun 13 '22 14:06 yuezk

Will do that once available. PPA still contains 1.4.7+7snapshot.gf9926b4-ppa1~ubuntu22.04

dmitriy-geels avatar Jun 13 '22 20:06 dmitriy-geels

Ok, here is output:

1153527 temporary  20   0 4048M  204M  158M S  0.0  0.6  0:00.83 │  │  └─ gpclient
1153675 temporary  20   0  359M 61084 50276 S  0.0  0.2  0:00.03 │  │     ├─ QtWebEngineProcess --type=zygote --no-zygote-sandbox --application-name=gpclient --webengine-schemes=qrc:sLV --lang=en-IE                                                                            
1153676 temporary  20   0  359M 60844 50032 S  0.0  0.2  0:00.02 │  │     └─ QtWebEngineProcess --type=zygote --application-name=gpclient --webengine-schemes=qrc:sLV --lang=en-IE
1153678 temporary  20   0  359M 13444  2612 S  0.0  0.0  0:00.00 │  │        └─ QtWebEngineProcess --type=zygote --application-name=gpclient --webengine-schemes=qrc:sLV --lang=en-IE

3 processes are still visible

dmitriy-geels avatar Jun 13 '22 20:06 dmitriy-geels

Me too, these three processes cannot be stopped. I didn't find a way to stop it, Qt doesn't provide related APIs either.

Here is a doc that explains the zygote process: https://chromium.googlesource.com/chromium/src/+/HEAD/docs/linux/zygote.md

BTW. What command are you using to print the process tree?

yuezk avatar Jun 14 '22 12:06 yuezk

Isn't it tied to a popup window? Shouldn't that window be destroyed and not hidden when not in use?

dmitriy-geels avatar Jun 14 '22 13:06 dmitriy-geels

The process tree is just a paste from terminal, from htop

dmitriy-geels avatar Jun 14 '22 13:06 dmitriy-geels

No longer a problem in 2.x release, which has been refactored using Tauri. Closing.

yuezk avatar Jan 25 '24 12:01 yuezk