protonscr

"Assertion Failed" log spam, only fixed by doing a "steam --reset"

steamclosed reviewedSteam client
ValveSoftware/steam-for-linux#3452 · opened 2014-08-25 by bellini666 · updated 2018-03-16 · 14 comments · github
Bbellini666 2014-08-25 github

This was being spammed on the log like 10k times/sec (no kidding, just got the info using grep | wc -l to check that message in 18:57:15):

Aug 25 18:57:15 hell steam.desktop[22464]: Failed creating file mapping SteamChrome_MasterStream_mem
Aug 25 18:57:15 hell steam.desktop[22464]: /home/buildbot/buildslave_steam/steam_rel_client_ubuntu12_linux/build/src/webhelper/../common/html/chrome_ipc_server.cpp (82) : Assertion Failed: m_fdShMemFDSender > 0
Aug 25 18:57:15 hell steam.desktop[22464]: /home/buildbot/buildslave_steam/steam_rel_client_ubuntu12_linux/build/src/webhelper/../common/html/chrome_ipc_server.cpp (90) : Assertion Failed: !"Failed to bind shmem socket"
Aug 25 18:57:15 hell steam.desktop[22464]: Failed creating file mapping SteamChrome_MasterStream_mem
Aug 25 18:57:15 hell steam.desktop[22464]: /home/buildbot/buildslave_steam/steam_rel_client_ubuntu12_linux/build/src/webhelper/../common/html/chrome_ipc_server.cpp (82) : Assertion Failed: m_fdShMemFDSender > 0
Aug 25 18:57:15 hell steam.desktop[22464]: /home/buildbot/buildslave_steam/steam_rel_client_ubuntu12_linux/build/src/webhelper/../common/html/chrome_ipc_server.cpp (90) : Assertion Failed: !"Failed to bind shmem socket"
Aug 25 18:57:15 hell steam.desktop[22464]: Failed creating file mapping SteamChrome_MasterStream_mem
Aug 25 18:57:15 hell steam.desktop[22464]: /home/buildbot/buildslave_steam/steam_rel_client_ubuntu12_linux/build/src/webhelper/../common/html/chrome_ipc_server.cpp (82) : Assertion Failed: m_fdShMemFDSender > 0
Aug 25 18:57:15 hell steam.desktop[22464]: /home/buildbot/buildslave_steam/steam_rel_client_ubuntu12_linux/build/src/webhelper/../common/html/chrome_ipc_server.cpp (90) : Assertion Failed: !"Failed to bind shmem socket"
Aug 25 18:57:15 hell steam.desktop[22464]: Failed creating file mapping SteamChrome_MasterStream_mem
Aug 25 18:57:15 hell steam.desktop[22464]: /home/buildbot/buildslave_steam/steam_rel_client_ubuntu12_linux/build/src/webhelper/../common/html/chrome_ipc_server.cpp (82) : Assertion Failed: m_fdShMemFDSender > 0
Aug 25 18:57:15 hell steam.desktop[22464]: /home/buildbot/buildslave_steam/steam_rel_client_ubuntu12_linux/build/src/webhelper/../common/html/chrome_ipc_server.cpp (90) : Assertion Failed: !"Failed to bind shmem socket"
Aug 25 18:57:15 hell steam.desktop[22464]: Failed creating file mapping SteamChrome_MasterStream_mem
Aug 25 18:57:15 hell steam.desktop[22464]: /home/buildbot/buildslave_steam/steam_rel_client_ubuntu12_linux/build/src/webhelper/../common/html/chrome_ipc_server.cpp (82) : Assertion Failed: m_fdShMemFDSender > 0

This causes the systemd journal process to go to 100% usage, making the system very slow, and fills like 10GB of disk in 2 minutes.

The strange part is that this happened after a fresh steam install, but after doing a "steam --reset" and running it again, it fixed it and it didn't happen anymore.

Ggdrewb-valve maintainer 2014-08-25 github

Are you running the stable or beta client? If you are running stable switching to beta might help.

Bbellini666 2014-08-26 github

@gdrewb-valve : I'll surely try switching to beta if the issue hits me again. Right now, after doing a 'steam --reset', the issue doesn't happen anymore.

But like I said on the description, this is very strange since 'steam --reset' should made like steam was freshly installed on user dir, right? This issue happened to 2 users on the same computer, one of them (me) being a totally fresh install (just had created my user there, so my home was fresh)... As far as I can tell, the first install is doing something "different" than 'steam --reset' does.

If you need more info, I'm glad to provide you :)

Aalfred-valve maintainer 2014-08-26 github

I'll fix up the log spam, I missed a rate limit around re-initializing a global object.

Something went wrong on your machine however, we failed to open a unix space socket. My only theory is you ran Steam as another user and then had it crash, so that the file we tried to open (/tmp/steam_chrome_shmem) we didn't have read/write permissions to it.

Bbellini666 2014-08-26 github

hrmmm, that makes sense! When I started steam on that fresh user, it was running in another user account at the same time.

Then, that other user that was running steam (and had no problems until then), after closing and running steam again (that time, steam was not running at the same time on that new user anymore), it had the same problem, and I fixed by running "steam --reset" on it too.

Is my explanation confusing? =P

Wweki 2014-09-15 github

i'm having a multiseat setup on my steamOS machine, and i have this problem to starting a second client, is there a way round this problem ?

Mmdmallardi 2014-09-26 github

It would be rather nice if the client were to append the username to the tempfile, that would allow for a proper multiseat setup in this particular case.

Ccteeto 2014-10-18 github

I also have a multi-seat setup. My sitution is similiar to this one, I can run more than one steam instance across different seats, but I noticed that steamwebhelper process taking 25% of my CPU. I found this is happening when the second instance is started, because it tries to use /tmp/steam_chrome_shmem and it does not have permissions to write to it, because that file was created by a different user. To my dismay, changing the permissions on this file as appropriate did not fix the issue. as mdmallardi said if steamwebhelper or whatever makes this file could make it in the the user's home directory...that would seem to make this problem go away. So far I haven't found a way to do this. For right now I could simply right a script to delete this file after steam exits, that way it wouldn't be eating 25% of my CPU, but I couldn't have multiple instances open. I am not sure why it doesn't automatically delete the file already.

Ccteeto 2014-10-19 github

After a bit of poking around, I discovered the directory /tmp has permissions rwxrwxrwt which means only the user who created files within the folder are the only ones who can modify those files. I changed /tmp to basic 777 permissions (might not be a good idea, still would like the fix I listed above) and my problems are gone. Multiple instances of steam running by different users with no 25% load from steamwebhelper.

PPlaque-fcc 2014-10-19 github

Maybe chroot-ing could be a workaround?

Wweki 2014-10-21 github

I tried to change permissions to 777 on /tmp and it works :) but as mention i also would like to see steam_chrome_shmem somewhere in /home, btw has anyone got in-home streaming working between clients running multi-seat (same machine)

PPersistentHa 2014-10-30 github

For both multiseat/multiuser hotseat setups, the Steam issue can be fairly easily circumvented..

  1. Add this to your sudoers: /bin/mv /tmp/steam_chrome_shmem /tmp/steam_chrome_shmem_[[:digit:]]*
  2. Run this before Steam in your launch script: [[ -a /tmp/steam_chrome_shmem ]] && sudo mv /tmp/steam_chrome_shmem /tmp/steam_chrome_shmem_$(date +%s)_$(ls -l /tmp/steam_chrome_shmem | awk '{print $3}')

It simply moves the existing file out of the way if it's there.

The real beauty of this is that the already running Steam will continue to use its own file with the new name, this is due to file access not being by name -but by inode. :)

Another hint for multiple steams on the same LAN: Run Steam with +clientport argument, see steam forum for more details about its use.

Sstevewf 2015-01-01 github

I force-quit Steam, opened terminal, cd /tmp, sudo chmod 777 steam_chrome_shmem.
Fixed the Steam problem. Not very elegant, but it worked.

WWhiteAbeLincoln 2015-01-16 github

@PersistentHa
What do you mean by "add this to your sudoers". Do you mean to add the line to the /etc/sudoers file, or something else?
I think I get the rest of your comment, I'm just a little new to linux.

Kkisak-valve maintainer 2018-03-16 github

Closing as the steam_chrome_shmem temp file was adjusted some time in the past so that it no longer conflicts between users.

Nothing extracted yet.