ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.22k stars 174 forks source link

CEF keeps leaking Unix sockets for no reason #11135

Open grepwood opened 2 months ago

grepwood commented 2 months ago

Your system information

Please describe your issue in as much detail as possible:

After 22 days of on-and-off playing of Counter-Strike 1.6 and Civilization 6, I started to notice that games crash for no reason. After I start them 5-10 more times, they eventually work, so I ignored the issue, knowing that brute force does it. To my surprise, the culprit reared its head when I was inspecting the contents of /tmp: CEF spawns Unix sockets like there's not going to be a tomorrow:

srwxr-xr-x 1 mdec    mdec            0 07-22 01:45 steam_chrome_overlay_uid1000_spid1060
srwxr-xr-x 1 mdec    mdec            0 07-10 15:26 steam_chrome_overlay_uid1000_spid10954
srwxr-xr-x 1 mdec    mdec            0 07-08 03:06 steam_chrome_overlay_uid1000_spid1120
srwxr-xr-x 1 mdec    mdec            0 07-22 01:45 steam_chrome_overlay_uid1000_spid1147
srwxr-xr-x 1 mdec    mdec            0 07-25 02:50 steam_chrome_overlay_uid1000_spid1226
srwxr-xr-x 1 mdec    mdec            0 07-07 23:29 steam_chrome_overlay_uid1000_spid13001
srwxr-xr-x 1 mdec    mdec            0 07-11 11:44 steam_chrome_overlay_uid1000_spid13226
srwxr-xr-x 1 mdec    mdec            0 07-25 02:50 steam_chrome_overlay_uid1000_spid1336
srwxr-xr-x 1 mdec    mdec            0 07-25 02:50 steam_chrome_overlay_uid1000_spid1433
srwxr-xr-x 1 mdec    mdec            0 07-13 01:03 steam_chrome_overlay_uid1000_spid14386
srwxr-xr-x 1 mdec    mdec            0 07-08 22:32 steam_chrome_overlay_uid1000_spid14483
srwxr-xr-x 1 mdec    mdec            0 07-07 00:03 steam_chrome_overlay_uid1000_spid14614
srwxr-xr-x 1 mdec    mdec            0 07-08 11:37 steam_chrome_overlay_uid1000_spid14627
srwxr-xr-x 1 mdec    mdec            0 07-05 00:11 steam_chrome_overlay_uid1000_spid1463
srwxr-xr-x 1 mdec    mdec            0 07-18 17:14 steam_chrome_overlay_uid1000_spid15485
srwxr-xr-x 1 mdec    mdec            0 07-25 02:51 steam_chrome_overlay_uid1000_spid1555
srwxr-xr-x 1 mdec    mdec            0 07-21 00:00 steam_chrome_overlay_uid1000_spid15854
srwxr-xr-x 1 mdec    mdec            0 07-09 11:08 steam_chrome_overlay_uid1000_spid15859
srwxr-xr-x 1 mdec    mdec            0 07-13 23:54 steam_chrome_overlay_uid1000_spid16062
srwxr-xr-x 1 mdec    mdec            0 07-25 02:52 steam_chrome_overlay_uid1000_spid1696
srwxr-xr-x 1 mdec    mdec            0 07-07 00:59 steam_chrome_overlay_uid1000_spid17979
srwxr-xr-x 1 mdec    mdec            0 07-25 02:52 steam_chrome_overlay_uid1000_spid1816
srwxr-xr-x 1 mdec    mdec            0 07-11 00:15 steam_chrome_overlay_uid1000_spid18623
srwxr-xr-x 1 mdec    mdec            0 07-12 03:32 steam_chrome_overlay_uid1000_spid19240
srwxr-xr-x 1 mdec    mdec            0 07-25 02:52 steam_chrome_overlay_uid1000_spid1945
srwxr-xr-x 1 mdec    mdec            0 07-24 23:49 steam_chrome_overlay_uid1000_spid20180
srwxr-xr-x 1 mdec    mdec            0 07-24 23:49 steam_chrome_overlay_uid1000_spid20367
srwxr-xr-x 1 mdec    mdec            0 07-24 23:50 steam_chrome_overlay_uid1000_spid20550
srwxr-xr-x 1 mdec    mdec            0 07-17 08:15 steam_chrome_overlay_uid1000_spid20573
srwxr-xr-x 1 mdec    mdec            0 07-24 23:51 steam_chrome_overlay_uid1000_spid20731
srwxr-xr-x 1 mdec    mdec            0 07-10 00:05 steam_chrome_overlay_uid1000_spid20781
srwxr-xr-x 1 mdec    mdec            0 07-25 10:08 steam_chrome_overlay_uid1000_spid20822
srwxr-xr-x 1 mdec    mdec            0 07-10 00:06 steam_chrome_overlay_uid1000_spid20863
srwxr-xr-x 1 mdec    mdec            0 07-22 22:55 steam_chrome_overlay_uid1000_spid20929
srwxr-xr-x 1 mdec    mdec            0 07-25 10:09 steam_chrome_overlay_uid1000_spid20939
srwxr-xr-x 1 mdec    mdec            0 07-10 00:06 steam_chrome_overlay_uid1000_spid20960
srwxr-xr-x 1 mdec    mdec            0 07-25 10:09 steam_chrome_overlay_uid1000_spid21063
srwxr-xr-x 1 mdec    mdec            0 07-22 22:56 steam_chrome_overlay_uid1000_spid21713
srwxr-xr-x 1 mdec    mdec            0 07-22 22:56 steam_chrome_overlay_uid1000_spid21815
srwxr-xr-x 1 mdec    mdec            0 07-16 19:18 steam_chrome_overlay_uid1000_spid21849
srwxr-xr-x 1 mdec    mdec            0 07-09 00:03 steam_chrome_overlay_uid1000_spid22745
srwxr-xr-x 1 mdec    mdec            0 07-19 13:43 steam_chrome_overlay_uid1000_spid22889
srwxr-xr-x 1 mdec    mdec            0 07-09 11:41 steam_chrome_overlay_uid1000_spid23316
srwxr-xr-x 1 mdec    mdec            0 07-14 10:54 steam_chrome_overlay_uid1000_spid23626
srwxr-xr-x 1 mdec    mdec            0 07-21 11:19 steam_chrome_overlay_uid1000_spid24007
srwxr-xr-x 1 mdec    mdec            0 07-14 20:34 steam_chrome_overlay_uid1000_spid24115
srwxr-xr-x 1 mdec    mdec            0 07-19 22:45 steam_chrome_overlay_uid1000_spid24243
srwxr-xr-x 1 mdec    mdec            0 07-09 20:41 steam_chrome_overlay_uid1000_spid24364
srwxr-xr-x 1 mdec    mdec            0 07-17 14:03 steam_chrome_overlay_uid1000_spid24528
srwxr-xr-x 1 mdec    mdec            0 07-22 23:59 steam_chrome_overlay_uid1000_spid26370
srwxr-xr-x 1 mdec    mdec            0 07-10 18:42 steam_chrome_overlay_uid1000_spid26466
srwxr-xr-x 1 mdec    mdec            0 07-23 00:00 steam_chrome_overlay_uid1000_spid26495
srwxr-xr-x 1 mdec    mdec            0 07-04 22:45 steam_chrome_overlay_uid1000_spid26901
srwxr-xr-x 1 mdec    mdec            0 07-14 21:43 steam_chrome_overlay_uid1000_spid27041
srwxr-xr-x 1 mdec    mdec            0 07-10 11:30 steam_chrome_overlay_uid1000_spid27102
srwxr-xr-x 1 mdec    mdec            0 07-07 17:56 steam_chrome_overlay_uid1000_spid27312
srwxr-xr-x 1 mdec    mdec            0 07-03 21:32 steam_chrome_overlay_uid1000_spid27419
srwxr-xr-x 1 mdec    mdec            0 07-07 18:28 steam_chrome_overlay_uid1000_spid29465
srwxr-xr-x 1 mdec    mdec            0 07-15 09:42 steam_chrome_overlay_uid1000_spid29488
srwxr-xr-x 1 mdec    mdec            0 07-23 02:31 steam_chrome_overlay_uid1000_spid2990
srwxr-xr-x 1 mdec    mdec            0 07-25 12:31 steam_chrome_overlay_uid1000_spid30324
srwxr-xr-x 1 mdec    mdec            0 07-12 20:13 steam_chrome_overlay_uid1000_spid30445
srwxr-xr-x 1 mdec    mdec            0 07-13 17:34 steam_chrome_overlay_uid1000_spid30616
srwxr-xr-x 1 mdec    mdec            0 07-18 03:42 steam_chrome_overlay_uid1000_spid30646
srwxr-xr-x 1 mdec    mdec            0 07-14 20:59 steam_chrome_overlay_uid1000_spid30870
srwxr-xr-x 1 mdec    mdec            0 07-05 15:18 steam_chrome_overlay_uid1000_spid31390
srwxr-xr-x 1 mdec    mdec            0 07-18 16:16 steam_chrome_overlay_uid1000_spid31419
srwxr-xr-x 1 mdec    mdec            0 07-14 22:18 steam_chrome_overlay_uid1000_spid31422
srwxr-xr-x 1 mdec    mdec            0 07-14 21:00 steam_chrome_overlay_uid1000_spid32163
srwxr-xr-x 1 mdec    mdec            0 07-15 13:32 steam_chrome_overlay_uid1000_spid32256
srwxr-xr-x 1 mdec    mdec            0 07-04 23:51 steam_chrome_overlay_uid1000_spid32535
srwxr-xr-x 1 mdec    mdec            0 07-06 01:23 steam_chrome_overlay_uid1000_spid4916
srwxr-xr-x 1 mdec    mdec            0 07-12 21:16 steam_chrome_overlay_uid1000_spid4979
srwxr-xr-x 1 mdec    mdec            0 07-24 20:52 steam_chrome_overlay_uid1000_spid4981
srwxr-xr-x 1 mdec    mdec            0 07-22 02:34 steam_chrome_overlay_uid1000_spid5678
srwxr-xr-x 1 mdec    mdec            0 07-22 02:34 steam_chrome_overlay_uid1000_spid5777
srwxr-xr-x 1 mdec    mdec            0 07-22 02:35 steam_chrome_overlay_uid1000_spid5911
srwxr-xr-x 1 mdec    mdec            0 07-13 11:07 steam_chrome_overlay_uid1000_spid5915
srwxr-xr-x 1 mdec    mdec            0 07-22 02:35 steam_chrome_overlay_uid1000_spid5991
srwxr-xr-x 1 mdec    mdec            0 07-13 11:10 steam_chrome_overlay_uid1000_spid6283
srwxr-xr-x 1 mdec    mdec            0 07-17 02:19 steam_chrome_overlay_uid1000_spid7363
srwxr-xr-x 1 mdec    mdec            0 07-22 02:36 steam_chrome_overlay_uid1000_spid7559
srwxr-xr-x 1 mdec    mdec            0 07-25 23:09 steam_chrome_overlay_uid1000_spid7610
srwxr-xr-x 1 mdec    mdec            0 07-25 23:10 steam_chrome_overlay_uid1000_spid7756
srwxr-xr-x 1 mdec    mdec            0 07-10 14:55 steam_chrome_overlay_uid1000_spid8069
srwxr-xr-x 1 mdec    mdec            0 07-15 01:34 steam_chrome_overlay_uid1000_spid8748
srwxr-xr-x 1 mdec    mdec            0 07-22 01:45 steam_chrome_overlay_uid1000_spid967
srwxr-xr-x 1 mdec    mdec            0 07-22 22:55 steam_chrome_shmem_uid1000_spid21247

With this it's now pretty obvious why the games would crash and behave unpredictably. Steam CEF is just hogging file handles and sockets.

+1 to bad things that didn't happen on VGUI

Steps for reproducing this issue:

  1. Have a machine with a relatively medium uptime. I'm on 22nd day.
  2. Play games regularly, like Counter-Strike 1.6
  3. Check /tmp when games start to crash for no reason
TTimo commented 2 months ago

Duplicate of https://github.com/ValveSoftware/steam-for-linux/issues/9561

grepwood commented 2 months ago

@TTimo @kisak-valve why is this a duplicate of #9561? This is not about over-allocating Xorg clients. This is not the same as Unix sockets. Unless I'm missing something?

TTimo commented 2 months ago

Yeah you're probably right, it's a different kind of leak.

grepwood commented 1 week ago

I'm gonna post this, it helps clean up the leaks after they happen:

find /tmp -maxdepth 1 -type s,d -name "steam_*" -or -name ".org.chromium.Chromium.*"

Though the ultimately ideal situation is that they don't happen at all.