protonscr

steamwebhelper GPU process crashes: Did not receive ping from zygote child

steamopen Distro Family: UbuntuWeb Component
ValveSoftware/steam-for-linux#8405 · opened 2022-02-10 by virnik0 · updated 2023-07-19 · 20 comments · github
Vvirnik0 2022-02-10 github

System information
Steam client version: 1643850988 / built Feb 3 2022 00:45:46
Distribution: Kubuntu 21.04 Hirsute (x86_64)
CPU: AMD Ryzen 7 5800x
NVIDIA GeForce GTX 1650 (Super, proprietary driver v470)
Opted into Steam client beta?: Yes
Checked for system updates?: Yes

Have the same problem. steamwebhelper crashes, Steam gui stays blank/black. Tried pins reset (forceful), tried steam complete wipe/reinstall.

Checked library linking, seems to be fine. Attaching steam info report:
https://pastebin.com/xfe6D8Hw

The crash of steamwebhelper looks like this:
https://pastebin.com/ASUx5meG

library linking details are to be found here:
https://pastebin.com/2bLR0Pbg
https://pastebin.com/8c4qW84k

Library Pins
https://pastebin.com/buU4L7AY

Typical steam tty output relevant to steamwebhelper crash:

steamwebhelper.sh[1821093]: Runtime for steamwebhelper: defaulting to /home/virnik/.local/share/Steam/ubuntu12_64/steam-runtime-heavy
Illegal instruction (core dumped)

I see libcef errors in system logs:
https://pastebin.com/S8jaBZFN

Update (10.02.2022): Tried with Steam Beta version 1644454953 and Kubuntu Jammy Jellyfish (22.04, just updated yesterday) using the same HW configuration, and the logs are very similar:
https://pastebin.com/4TaJY8Qv

-no-cef-sandbox workaround doesn't work (no change), steam starts and runs, just with black pages, steamwebhelper keeps crashing in the background.

Further, while running without any switches, Steam is able to excessively peg GPU driver, eventually leading to crash. Can be avoided if I kill all steamwebelper processes after running the game.

To avoid this altogether, I can run Steam with -no-browser and use Compact Mode. This way, steam doesn't crashes and I am able to run any game I want. But Compact Mode doesn't offer convenient way of managing run options, or downloads. To do that, I can use Big Picture Mode, where everything works.

Ssmcv 2022-02-14 github

trap int3 usually indicates an assertion failure.

Is there anything interesting in ~/.steam/root/logs/cef_log.txt, ~/.steam/root/logs/webhelper.txt or ~/.steam/root/logs/steamwebhelper.log?

Ssmcv 2022-02-14 github

Another piece of information that would be useful is whether the non-beta version of Steam has the same symptoms, or whether it works as expected.

If the non-beta version works as expected, then we'll know this is a regression caused by the changes between the non-beta version and the beta, which could narrow it down a lot.

Vvirnik0 2022-02-14 github

@smcv Hi,

thanks for investing the time.
cef_log.txt
webhelper.txt
steamwebhelper.log

And as my first post states, yes, this happens on Beta, but I also tried Stable (I actually went ahead with Beta because of this bug happening on Stable) where it is the same situation.

Ssmcv 2022-02-14 github

Please could you change the title of this issue to something like "steamwebhelper GPU process crashes: Did not receive ping from zygote child" so other steamwebhelper issues don't get mixed up with this one?

I don't have any visibility into the part of Steam that's failing here, someone who develops the steamwebhelper will have to look into this.

Vvirnik0 2022-02-14 github

If there are any more details which could help, please say what information I shall provide and I will do it.

Vvirnik0 2022-02-15 github

Not sure if it is relevant or not, but I noticed the following in my logs:
Installing breakpad exception handler for appid(steam)/version(1644890991) CAppInfoCacheReadFromDiskThread took 33 milliseconds to initialize CreateBoundSocket: failed to create socket, error EAFNOSUPPORT (97)

This error suggests that something tried to make socket, and faced 'not supported'
state. Which reminds me that my system has IPv6 completely disabled (OS-wide):
virnik@Mainframe:~$ cat /sys/module/ipv6/parameters/disable 1 virnik@Mainframe:~$ ip -6 addr virnik@Mainframe:~$ virnik@Mainframe:~$ sudo netstat -tunlp | grep -iE 'udp6|tcp6' virnik@Mainframe:~$

Could it be related? Is it possible that the webhelper tries to make IPV6 connection?

Ssmcv 2022-02-15 github

Is it possible that the webhelper tries to make IPV6 connection?

Maybe: connecting to IPv6 peers is a reasonable thing for a web browser engine to want to do, at least.

Vvirnik0 2022-02-15 github

Maybe: connecting to IPv6 peers is a reasonable thing for a web browser engine to want to do, at least.

But that makes no sense. You can't use IPV6 in IPV4 network behind IPV4 NAT of purely IPV4 ISP, where only optical uplink does IPV6 translation.

Crashing because of this would be serious code misfire.

FYI, You can't bind to an interface or run a socket with IPv6, if IPv6 is not supported by the system. Why is this forced? The network I am in is IPV4 only. Introducing IPV6 would make no sense at all, given number of devices/computers connected. That is why majority of systems/desktops here ipv6 disabled on kernel level here, so creation of ipv6 socket on lo interface is impossible. Shouldn't this be set in a way to use ipv6 when available, but do not force it if not?

For the time being, I'll try to prove this suspeceted issue by enabling ipv6 to re-test steam functionality.

Rrdlmda 2022-03-05 github

I might be experiencing the same issue, I'll add details and logs here later.

UPDATE: -no-cef-sandbox works for me.

Vvirnik0 2022-03-06 github

Tried new beta today. The crash details are different now

Steam webhelper log looks nearly the same as it was looking back when I initially reported this bug.

Black screen and repeating crashes continue, although the application keeps running. Crashes cease to be created if I either switch to compact mode, or start steam with -no-browser switch.

Vvirnik0 2022-03-06 github

So, I suspected unavailability of the system to be the cause, but aparently it is not. I enabled ipv6, I can attest that all connected interfaces has their own ipv6 IPs. IPv6 also works (tested using smaller network of three computers, accessing services like smb, ssh, www over ipv6). But steam crashes the same still, no change.

Ssmcv 2022-03-06 github

m_hCEFHandle == INVALID_PROCESS_HANDLE looks like #8373, #8420, #8421 or a similar CEF crash.

Is there anything in ~/.steam/root/logs/steamwebhelper.log or ~/.steam/root/logs/cef_log.txt?

Does running Steam with -no-cef-sandbox work around this?

Vvirnik0 2022-03-06 github

No, it doesn't.

As for the logs:
steamwebhelper.log
cef_log

As for m_hCEFHandle == INVALID_PROCESS_HANDLE, it started showing after last two steam beta updates (I think, as I haven't noticed similar error with prior versions). Dunno which version really, as steam auto-update nearly daily now.

As for GTK adwaita theme errors, I do have packages required, and adwaita theme works in GTK apps if I set it so.

virnik@Mainframe:~$ dpkg -l | grep adwaita
ii  adwaita-icon-theme                            41.0-1ubuntu1                               all          default icon theme of GNOME (small subset)
ii  adwaita-icon-theme-full                       41.0-1ubuntu1                               all          default icon theme of GNOME
ii  adwaita-qt:amd64                              1.4.1-1                                     amd64        Qt 5 port of GNOME’s Adwaita theme
ii  libadwaitaqt1:amd64                           1.4.1-1                                     amd64        Qt 5 port of GNOME’s Adwaita theme — public library
ii  libadwaitaqtpriv1:amd64                       1.4.1-1                                     amd64        Qt 5 port of GNOME’s Adwaita theme — private library
virnik@Mainframe:~$

Sysinfo:

Linux Mainframe 5.15.0-18-generic [#18](/issue/ValveSoftware/steam-for-linux/18)-Ubuntu SMP Fri Jan 21 14:57:54 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
virnik@Mainframe:~$ free -m
               total        used        free      shared  buff/cache   available
Mem:           31832       19713       10634         216        1484       11502
Swap:          67468           0       67468
virnik@Mainframe:~$


virnik@Mainframe:~$ cat /proc/cpuinfo | head -n 28
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 25
model           : 33
model name      : AMD Ryzen 7 5800X 8-Core Processor
stepping        : 0
microcode       : 0xa201016
cpu MHz         : 3800.000
cache size      : 512 KB
physical id     : 0
siblings        : 16
core id         : 0
cpu cores       : 8
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 16
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip pku ospke vaes vpclmulqdq rdpid overflow_recov succor smca fsrm
bugs            : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass
bogomips        : 7600.15
TLB size        : 2560 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
Ssmcv 2022-03-08 github

I think someone with access to crash dumps will have to take over looking at this, I've reached the limits of what I can investigate.

Vvirnik0 2022-03-26 github

Just an update, with up-to-date Steam client (BETA), the console output changed a bit, as it now detects newer glibc. Otherwise it is the same problem (from end-user perspective: Black screen in the client, steamwebhelper still crashes

src/steamexe/main.cpp (253) : Assertion Failed: reaping pid: 1051172 -- steam
src/steamexe/main.cpp (253) : Assertion Failed: reaping pid: 1051172 -- steam
Installing breakpad exception handler for appid(steam)/version(1647446817)
Installing breakpad exception handler for appid(steam)/version(1647446817)
Installing breakpad exception handler for appid(steam)/version(1647446817)
Installing breakpad exception handler for appid(steam)/version(1647446817)
Installing breakpad exception handler for appid(steam)/version(1647446817)
ExecuteSteamURL: "steam://open/downloads"
Installing breakpad exception handler for appid(steam)/version(1647446817)
Illegal instruction (core dumped)
Installing breakpad exception handler for appid(steam)/version(1647446817)
Installing breakpad exception handler for appid(steam)/version(1647446817)
Installing breakpad exception handler for appid(steam)/version(1647446817)
Installing breakpad exception handler for appid(steam)/version(1647446817)
Installing breakpad exception handler for appid(steam)/version(1647446817)
Installing breakpad exception handler for appid(steam)/version(1647446817)
steamwebhelper.sh[1054572]: Runtime for steamwebhelper: defaulting to /home/virnik/.local/share/Steam/ubuntu12_64/steam-runtime-heavy
steamwebhelper.sh[1054572]: glibc >= 2.34, partially disabling sandbox until CEF supports clone3()
Illegal instruction (core dumped)
ExecuteSteamURL: "steam://open/downloads"
steamwebhelper.sh[1055380]: Runtime for steamwebhelper: defaulting to /home/virnik/.local/share/Steam/ubuntu12_64/steam-runtime-heavy
steamwebhelper.sh[1055380]: glibc >= 2.34, partially disabling sandbox until CEF supports clone3()
Installing breakpad exception handler for appid(steam)/version(1647446817)
Illegal instruction (core dumped)
Installing breakpad exception handler for appid(steam)/version(1647446817)
Vvirnik0 2022-04-09 github

I think someone with access to crash dumps will have to take over looking at this, I've reached the limits of what I can investigate.

As for crash dumps, I can upload them here.
assert_20220409120424_30.zip

Aarthurdead 2022-04-17 github

i am having the same issue
launching steam with BOTH -no-cef-sandbox -cef-single-process works around the problem in the meantime (for me at least)

VVanackSabbadium 2022-04-18 github

i am having the same issue launching steam with BOTH -no-cef-sandbox -cef-single-process works around the problem in the meantime (for me at least)

This worked perfectly! Thanks for the suggestion!

EDIT: it worked 2 or 3 times, then it did not work anymore. It's a f*****g nightmare....

EDIT2: now it works again. It seems like my Nvidia drivers screwed and i had to reinstall them.

Vvirnik0 2022-04-18 github

I can confirm that running:
$ steam -no-cef-sandbox -cef-single-process

works. I do see the content of store. Thanks!

Hheigre 2023-02-16 github

For me it was enough with only -no-cef-sandbox to get it working. Thanks for the fix!

Nothing extracted yet.